Commit Graph

829 Commits

Author SHA1 Message Date
Tobias Fella
92ec441594 Use enum instead of strings for message type 2022-11-02 08:55:28 +00:00
Carl Schwan
2be566668c Fix typo
We are using matrix uris, not appstream uris in NeoChat

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2022-11-01 17:26:01 +01:00
Tobias Fella
08300b994c Don't show banned user as sender for state events
BUG: 461158
2022-10-31 14:45:23 +00:00
Tobias Fella
66fadd78a3 Improve messages for bans without given reason 2022-10-31 16:18:23 +01:00
Tobias Fella
24202350ab Fix more avatars 2022-10-31 01:43:04 +01:00
Tobias Fella
4e6aca9a4e Add button to encrypt room 2022-10-30 18:38:45 +00:00
James Graham
7f11bfea63 After the new heading style was introduced the member heading needs updating as it used to have a background.
Remove the background and adjust the margins and spacing.
2022-10-29 15:51:53 +01:00
Tobias Fella
e56920abd5 Fix compilation 2022-10-27 21:07:33 +02:00
Tobias Fella
c34d99a234 Use correct preprocessor definition 2022-10-27 21:03:31 +02:00
Tobias Fella
a4c26371d6 Fix two cases of usernames containing html being rendered wrong 2022-10-27 21:02:13 +02:00
l10n daemon script
2c3715aef6 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-10-27 01:49:19 +00:00
James Graham
34e0e0205b Improve JoinRoom Server List
Initial work to create a model so that new servers can be added to the list.
The model will also check if the server is valid before allowing it to be added.

Implements network/neochat#11

### TODO
- [x] Add functionality to cache added servers
2022-10-26 18:23:17 +00:00
James Graham
0e42042fa4 Use updated ListSectionHeader
Don't override the contentItem for the RoomList section header and just add the extra icon.
2022-10-26 18:18:13 +00:00
Tobias Fella
834424eccc Fix more QML warnings 2022-10-24 16:53:46 +02:00
Tobias Fella
f873999652 QML Warnings-- 2022-10-24 16:51:43 +02:00
Tobias Fella
9ae72058d9 Fix qml warning 2022-10-24 16:50:34 +02:00
Tobias Fella
0b9b3e3496 Create screenshots folder if it doesn't exist 2022-10-24 16:39:53 +02:00
Tobias Fella
659f10c71a Improve Space list
- Give it a context menu
- Clean up code

BUG: 460167
2022-10-24 14:12:34 +02:00
Tobias Fella
e2faba153f Ifdef E2EE notifications 2022-10-24 13:02:19 +02:00
Tobias Fella
6efb814f3a Fix can-change-password check 2022-10-24 01:45:56 +02:00
Tobias Fella
88d38578e6 Use and fix avatars in Accounts settings 2022-10-24 01:45:23 +02:00
Tobias Fella
2817ce9d16 Move QML files to src/qml and don't use internal qml modules 2022-10-24 00:40:54 +02:00
Tobias Fella
813a8003c6 Fix notifications for encrypted events
BUG: 459935
2022-10-23 22:12:15 +00:00
Tobias Fella
510c6d4a90 Don't freeze when pasting large markdown documents
BUG: 460802
2022-10-23 22:10:43 +00:00
Tobias Fella
a9c80b90f6 Show old display name for name change events
BUG: 457664
2022-10-23 21:40:39 +00:00
Tobias Fella
bbf76e1e64 Fix disconnects 2022-10-23 23:23:56 +02:00
Link Dupont
ef255243ec Use ComboBox as AccountRegistry view
Replace the RowLayout with a ComboBox. This permits a higher number
of accounts to be used in the application without reducing the
usability.

BUG: 460601
2022-10-23 15:51:45 +00:00
Tobias Fella
10667f98ef Always pass displayName without matrix id to avatar name
BUG: 456638
2022-10-23 17:45:24 +02:00
James Graham
595ece8108 Fix line breaks being removed
Stop stripping paragraph tags as this is causing line breaks to be removed in the formatted body. Any double new line in the plain text is treated as a paragraph in rich text.

BUG: 458800
2022-10-18 19:09:35 +00:00
Tobias Fella
1c9575ccfd Fix notifications with libquotient 0.7 2022-10-17 21:14:03 +02:00
Tobias Fella
785a82df93 Fix inline images not showing up
Work around QTBUG 93281

See https://bugreports.qt.io/browse/QTBUG-93281 for details
2022-10-17 18:54:59 +00:00
Slawek Kaplonski
f64608f87c Add config option to make link previews configurable
This patch adds new config option "ShowLinkPreview" which can
control if links' preview in the chat messages should be loaded and
shown or not.
2022-10-16 14:21:54 +02:00
Tobias Fella
47a4e5c447 Move CustomEmojiModel sources to single file 2022-10-13 22:24:16 +02:00
Tobias Fella
d97448eb07 Port away from deprecation 2022-10-11 21:03:03 +02:00
Tobias Fella
878369901c Cleanup userlistmodel 2022-10-11 18:40:42 +00:00
Tobias Fella
9398c5004c Reintroduce selectionStart, selectionEnd 2022-10-11 17:58:49 +02: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
b2fa269515 Send correct width and height for images 2022-10-10 18:49:43 +00:00
James Graham
d00e122d88 Rework fullscreen image
As discussed in network/neochat#161, when clicking the image it now only covers the neochat window. A modal popup that covers the neochat window is now used. The app behind get dimmed.

Left clicking anywhere closes the preview as well as the using the close button. Right clicking on the image itself still gives the image's context menu.

Before
![fullscreenimage_before](/uploads/f7a64ab2f0b75405f3f0a16f32c029f3/fullscreenimage_before.png)

After
![fullscreenimage_updated2](/uploads/8feb6c79891019203a6a0a8439c71b70/fullscreenimage_updated2.png)

Latest
![fullscreenimage_updated_final](/uploads/61ca4c1251b914ae3a6bdd158f4dc396/fullscreenimage_updated_final.png)

Closes network/neochat#161
2022-10-09 16:27:51 +00:00
Tobias Fella
22448ea9ae Clean up includes 2022-10-08 19:03:49 +02:00
Tobias Fella
6756e1fd45 Remove unused includes from main.cpp 2022-10-08 12:27:37 +02:00
James Graham
7cfc0e24e2 Fix Section After Read Marker Removal
After the readmarker is removed it leaves a gap in the indexs until the model is refreshed.
Add check to ignore the gap for the purpose of show author and show section roles.

Closes network/neochat#295

BUG: 454885
2022-10-07 13:32:05 +00:00
Tobias Fella
a6a152acdc Also fix video resolution in qt5
Replaces !395

Fixes #120
2022-10-07 09:56:08 +00:00
Tobias Fella
3ae6a0266d Fix compilation against libQuotient 0.6 2022-10-06 12:50:04 +02:00
Tobias Fella
c081b42fd4 Use non-deprecated name version of accessing the accountregistry 2022-10-06 12:47:42 +02:00
Tobias Fella
0dcd71af53 Compiler warnings-- 2022-10-06 12:44:03 +02:00
Tobias Fella
eee96bc462 Refactor and clean up spaces 2022-10-06 10:38:20 +00:00
l10n daemon script
761ec0f1cb SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2022-10-01 01:54:38 +00:00
Tobias Fella
0fc94310c3 Implement reporting events
BUG: 458856
2022-09-26 14:38:45 +00:00
Tobias Fella
b79956871f Fix build without E2EE 2022-09-24 15:27:19 +02:00