Checking/Unchecking "shownames" text box causes locking up for large logs.
Due to the "shownames" box editing the IC log, for those with longer IC logs, it can hang the client for upwards of 30 seconds when toggling this feature. Potential solution is not to edit the IC log when the feature setting is manipulated.
(Jumbles, https://gitlab.com/AttorneyOnline/AO2-Client/issues/68)
This is not really a bug - it's more of a performance issue and is a part of a larger issue involving how to manage the IC log more efficiently.
Still present in 2.8. @oldmud0 maybe the way to fix this is to rewrite the IC log to be a Vertical List of individual labels created per every newline instead? Visually it would appear the same, the biggest issue I can think of is if the user tries to copy-paste the logs.
It sounds more like QTextBlocks and QTextFragments are not being utilized optimally. It might take a bit of traversing through the DOM to make it so that changing the showname option only modifies what it needs to and doesn't literally rewrite everything. Multiple solutions:
- We can do this by storing a QTextCursor referring to the beginning of each chat log entry. (It sounds kind of dumb, but that seems to be the best way to keep a reference to each line.) Then when we need to rename, we just select text equal to the length of the showname and replace it with the alternative showname.
- We use a label as you said. But performance might be even worse.
- We use a table view that is based on a model, and then remove all of the padding and borders so it looks identical to a text document. Most Qt-y solution available.
Some people complain this is worse with 2.8, but I don't know if that's actually true.
We use a table view that is based on a model, and then remove all of the padding and borders so it looks identical to a text document. Most Qt-y solution available.
I like this. Maybe something that should be done on 2.9 though
Fixed indirectly by #1080 via showname toggle being moved into settings