Refactor input stuff
This is the start of a significant refactoring of everything related to sending messages, which is roughly: - the chatbox - action handling - message sending on the c++ side - autocompletion of users/rooms/emojis/commands/things i forgot Notable changes so far include: - ChatBox is now a ColumnLayout. As part of this, i removed the height animations for now. <del>as far as i can tell, they were broken anyway.</del> I'll readd them later - Actions were refactored to live outside of the message sending function and are now each an object; it's mostly a wrapper around a function that is executed when the action is invoked - Everything that used to live in ChatBoxHelper is now in NeoChatRoom; that means that the exact input status (text, message being replied to, message being edited, attachment) is now saved between room switching). - To edit/reply an event, set `NeoChatRoom::chatBox{edit,reply}Id` to the desired event id, `NeoChatRoom::chatBox{reply,edit}{User,Message}` will then be updated automatically - Attachments behave equivalently with `NeoChatRoom::chatBoxAttachmentPath` - Error message reporting from ActionsHandler has been fixed (same fix as in !517) and moved to NeoChatRoom Broken at the moment: - [x] Any kind of autocompletion - [x] Mentions - [x] Fancy effects - [x] sed-style edits - [x] last-user-message edits and replies - [x] Some of the actions, probably - [x] Replies from notifications - [x] Lots of keyboard shortcuts - [x] Custom emojis - [x] ChatBox height animations TODO: - [x] User / room mentions based on QTextCursors instead of the hack we currently use - [x] Refactor autocompletion stuff - [x] ??? - [x] Profit
-
mentioned in commit ac3b0374
-
mentioned in issue #152 (closed)
-
mentioned in merge request !750 (closed)
Please register or sign in to comment