That pull request made qTox crash in a number of ways, with no quick fix
available.
Hopefully there will be a way to fix crash, so that this commit could be
reverted, and fix applied.
user also wants to remove chat history. However confused user may not carefully read message and click "no" because he does
not want to remve contact. However in this case contact is in fact removed but history is preserved. It is also open to
possiblity that key smashing deletes contact by accident. This is very inconvenient because tox ids are long and hard to
memorize. If someone removes contact by accident then he would need to find id of that contact in order to contact him/her.
Sometimes this may be difficult.
New contact removal confirmation dialog prompts use to enter "YES" in the text boxin order to enable "OK" button so removal
can be accepted. It also has checkbox for history removal. Dialog will work with translations. Russian user would need to
enter "Да" in order to accept removal.
Qt doesn't get mouse move events after a right click, so right clicking on a GenericChatroomWidget would get it stuck in the highlighed style until hovered in and out again
We now explicitely interpret a right click as the mouse going out and fix the style accordingly
Since the stylesheet has precedence over a QPalette, there wasn't a clean way to handle that with a stylesheet, so we now use a QPalette directly
The qTox Project is not associated with the Tox Project in any way, with the
exception of "qTox" using the Tox Projet's "toxcore" collection of libraries.
In particular, the Tox Projet does not own copyright over the qTox Project's
"qTox" collection of software, source code, and assets.
The qTox Project's assets are under the sole copyright of the qTox
contributors, and no partiular rights are granted to the Tox Project.
Since consistency in code is most important, 'ToxId' is used
for code, whereas 'Tox ID' anywhere outside of code.
Also fixed wrong comments in core.h:
* qTox gets only public key of a grouchat peer, not their
Tox ID
* qTox tries to return full address (Tox ID) or public key
The qTox Project is not associated with the Tox Project in any ways, with the exception of "qTox" using the Tox Projet's "toxcore" collection of libraries.
In particular, the Tox Projet does not own copyright over the qTox Project's "qTox" collection of software, source code, and assets.
The qTox Project's assets are under the sole copyright of the qTox contributors, and no partiular rights are granted to the Tox Project.
I've moved the key bindings in the main widget instead of the chat form given it
doesn't seem to be the chat form's responsibility to handle switching between
conversations it shouldn't know about in the first place. I've also included new
shortcuts to provide a more familiar feel to most people.
All in all this provides Ctrl+Tab and Ctrl+Shift+Tab for cycling as well as
Ctrl+PgUp and Ctrl+PgDown for cycling. This mimics common application behaviour.
I've implemented this by having the contacts list container return all contact
widgets in the order they appear each time it's time to cycle. It's perhaps
inefficient but given cycling isn't done often I don't see a need to optimize.
This code does make the assumption that the friends list isn't empty, which I'd
guess would be the case if there's an active conversation.
1) action received gets modified on restart
2) sender's name is written twice if action is sent using offline messaging
3) /me is written when action is sent in groupchat having one peer
4) /me is not saved in last message variable in friendd chat