WIP: Cursed chatview reimplementation
This is a hackily merged (read: don't know if it even still works on current master) collection of patches that attempts to reimplement parts of the conversation textview with a new ListBox-based implementation. This new implementation has the rather significant benefit of allowing infinite history scrollback, which is quite a nice feature! (It also looks more aesthetically pleasing, in my humble opinion.)
It also incorporates / fixes up the chat markers MR, so that's entangled in here too. Sorry!
I'm not really actively developing this patchset, so contributions are welcome - I just thought I'd throw it here in case anyone wanted to pick it up.
Issues to be fixed before merging:
- Inline image / attachment display is broken (in particular, viewing images sent with OMEMO is pretty much impossible)
- I'm not 100% sure that the out-of-order insertion code works; some tests for that might be nice
- The way in which the chatview is reimplemented is very hacky -- it essentially just hooks into the existing conversation textview API without replacing it, so we're in a weird halfway house situation where things like the history window still want to use the old view (and probably break).
- Important: Over time, gajim gets slower and slower to use, presumably because the listboxes fill up. We should prune them to avoid this issue (but doing so might be quite interesting wrt. date labels).
- Probably other stuff (seriously, this is quite cursed)