Commit Graph

24 Commits

Author SHA1 Message Date
James Graham
5482aad7ba Inline Edits
Edit text messages inline instead of in the chatbar
2023-02-12 13:46:23 +00:00
Tobias Fella
f207f57bd5 Various Qt6 fixes 2022-11-30 00:13:29 +00:00
Tobias Fella
4bfd857093 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
2022-10-10 23:10:00 +00:00
Tobias Fella
22448ea9ae Clean up includes 2022-10-08 19:03:49 +02:00
Tobias Fella
d70a8a652a Always use system-style includes for libQuotient 2022-09-09 00:16:39 +02:00
Nicolas Fella
589dfe0343 Re-run clang-format 2021-08-23 19:38:56 +02:00
Tobias Fella
3be9c0cfb3 Clazy fixes 2021-08-03 20:06:36 +02:00
Jan Blackquill
30965cb503 feat: ponies.im emoji support (custom emojum) 2021-06-16 15:34:55 -04:00
Carl Schwan
0a51c845e6 Implement quick edit 2021-05-06 16:14:38 +00:00
Srevin Saju
584cd59f93 refactor: move ActionHandler::commands to CommandModel::commands 2021-05-05 19:58:34 +03:00
Srevin Saju
539d519987 feat: improve commands() method of ActionHandler to use Command type 2021-05-01 17:16:21 +03:00
Tobias Fella
00681a8abe Refactor error handling and move unrelated functions out of ActionsHandler 2021-04-16 10:07:10 +00:00
Tobias Fella
2cb81d1276 Unify License header style in C++ 2021-04-06 19:25:06 +02:00
Tobias Fella
7ba58994a7 Fix a bunch of license statements 2021-04-06 15:50:54 +02:00
Tobias Fella
e4ab2e565f Apply clang-format 2021-04-04 22:43:17 +02:00
Carl Schwan
2f06d45589 Input field fixes
* Message with multiple mentions are not broken in IRC. Fix #267
* Editing a message won't remove mentions anymore


(cherry picked from commit bb3b3bc088)
2021-03-01 13:26:25 +00:00
Carl Schwan
12624c991c Revert "Revert "Improve sending message with mentions""
This reverts commit 0f043e36c4.
2021-02-26 13:58:49 +01:00
Yuri Chornoivan
4c7be7426e Fix minor typos 2021-02-08 14:53:32 +02:00
Tobias Fella
1cb6b3bbd6 Consistently use pragma once in all headers 2021-02-04 23:14:54 +01:00
Carl Schwan
0f043e36c4 Revert "Improve sending message with mentions"
This reverts commit b9d34487a4
2021-01-22 14:45:40 +00:00
Carl Schwan
b9d34487a4 Improve sending message with mentions
* Fix bug with reply having broken mentions (@$1:$2)
* Fix mentions disapearing from edited messages
* Fix formatting disapearing from edited messages
2021-01-21 22:56:19 +01:00
Carl Schwan
a3e1e1d0a4 Fix autocompletion
Now it will save a map from display name to id and use that to generate
clean matrix.to links. This also make sure the colors used for the
preview are correct by using NeoChatUser and fix the bug with the regex
by simply removing the regex.

Fix #234
2021-01-11 02:19:55 +01:00
Yuri Chornoivan
a82b9dc14e Fix minor typos 2021-01-09 09:19:11 +02:00
Carl Schwan
cd1bec9977 Introduce the ActionsHandler 2021-01-08 23:12:09 +00:00