Commit graph

946 commits

Author SHA1 Message Date
Nicolas Werner
f3d956aebc
Fix emoji in new RoomList 2021-05-22 10:16:42 +02:00
Nicolas Werner
beeb60e4a1
Sort the room list 2021-05-22 00:57:14 +02:00
Nicolas Werner
cd67046f60
Make roomlist look nice 2021-05-21 21:19:03 +02:00
Nicolas Werner
10fd2752f9
Some basic room list 2021-05-19 19:34:10 +02:00
Nicolas Werner
39a43ad4ab
Reorganize TimelineView to prepare porting the room list 2021-05-14 15:23:40 +02:00
Nicolas Werner
22afa122c4
Move openLink to Nheko globals 2021-05-13 08:53:56 +02:00
Nicolas Werner
a7f8b23b52
Make palette global in Qml 2021-05-13 08:23:56 +02:00
Nicolas Werner
b60d6f4d58
Mark unsent events as uneditable
fixes #574
2021-05-09 13:02:41 +02:00
Nicolas Werner
0d0709ccd3
Show verification status next to messages 2021-05-07 17:01:57 +02:00
Nicolas Werner
ab0baf5d9e
Only show actions, when you have permissions to do them 2021-05-02 18:06:56 +02:00
Nicolas Werner
986b561c34
Fix crash when you have no rooms and open the profile as well as not rendering rooms without groups 2021-04-30 15:33:17 +02:00
Nicolas Werner
f626de0447
Copy link to message
fixes #499
2021-04-29 21:46:49 +02:00
Nicolas Werner
82fa8ab292
Highlight navigated to message 2021-04-29 19:09:16 +02:00
Nicolas Werner
620b6e8838
Fix some encoding issues when translating matrix.to to matrix: 2021-04-29 13:12:09 +02:00
Nicolas Werner
dbf23fafbf
Make pagination logic slightly more robust 2021-04-29 10:23:50 +02:00
Nicolas Werner
76a9240076
Rewrite matrix.to links to matrix uris and handle them the same way 2021-04-28 20:03:52 +02:00
Nicolas Werner
2b253ead9e
Make forward messages a bit more readable 2021-04-27 11:33:46 +02:00
Nicolas Werner
8236f6ba72
Merge branch 'forward_message_feature' of https://github.com/Jedi18/nheko into Jedi18-forward_message_feature 2021-04-24 14:35:21 +02:00
targetakhil
ddb1983c63 fix macos build error 2021-04-22 11:06:19 +05:30
Nicolas Werner
d6109b95fb
Escape html in topics and show line breaks in the settings 2021-04-19 11:20:52 +02:00
Nicolas Werner
c2e625756c
Use one CompletionProxy for everything including EmojiPicker 2021-04-18 21:53:39 +02:00
Joseph Donofry
a402e85a0f
Fix display name referenced for incorrect event types 2021-04-18 15:32:28 -04:00
targetakhil
ab83c7c3a8 change display name wording 2021-04-18 11:43:02 +05:30
targetakhil
2dfa40e017 strip reply fallbacks from forwarded message 2021-04-18 11:22:44 +05:30
targetakhil
06e12a0a16 move detection code to nheko namespace and fix a few other bugs 2021-04-17 22:58:04 +05:30
targetakhil
eb13f7c169 directly upload old file object and reuse old message 2021-04-17 22:28:17 +05:30
targetakhil
9934004702 remove unused function and set position to center of timeline view 2021-04-15 22:37:47 +05:30
targetakhil
6893e3a8d5 show forward menu item only for relevant events, changes to ui 2021-04-15 22:37:47 +05:30
targetakhil
603ff33ea6 added basic forwarding 2021-04-15 22:37:41 +05:30
LordMZTE
2e597263a2 add notice and rainbownotice commands 2021-04-11 21:47:20 +02:00
Nicolas Werner
ff449c705c
Fix crash on exit 2021-04-09 01:47:13 +02:00
Nicolas Werner
ec6f0f9296
Don't use direct image response objects anymore 2021-04-05 13:58:00 +02:00
Nicolas Werner
8719d59e22
Fix rainbow replies and add rainbowme 2021-04-01 17:51:30 +02:00
DeepBlueV7.X
326f48d87f
Merge pull request #535 from LordMZTE/feature/rainbow
add /rainbow command
2021-03-28 18:23:50 +00:00
LordMZTE
4b45c61024 run formatter 2021-03-28 17:37:36 +02:00
DeepBlueV7.X
3317d4582d
Update src/timeline/InputBar.cpp 2021-03-28 14:00:13 +00:00
DeepBlueV7.X
463dd20682
Use QRegularExpression 2021-03-28 13:59:47 +00:00
LordMZTE
6c31bb6ddc fix command parsing 2021-03-28 15:36:46 +02:00
LordMZTE
ff2e7bb989 commands now also work with newline after them 2021-03-28 14:49:34 +02:00
LordMZTE
4e6150f28e implement requested changes 2021-03-28 14:00:35 +02:00
Loren Burkholder
ea2fb7f8df Add part/leave command 2021-03-25 20:19:48 -04:00
LordMZTE
44bd3376ce add /rainbow command 2021-03-26 00:42:46 +01:00
Nicolas Werner
e5d75c814b
Clean up notification code a bit 2021-03-17 19:18:07 +01:00
Loren Burkholder
fda6d7629a
Switch readImage to take a reference instead of a pointer
There was nowhere that an actual pointer was passed, and I wanted to do references for something else.
2021-03-17 19:18:06 +01:00
Loren Burkholder
39576fea96
Create function for processing whether a message is a reply 2021-03-17 19:17:15 +01:00
Loren Burkholder
09303ca49f
make lint 2021-03-17 19:17:13 +01:00
Loren Burkholder
c74e68c945
Parse markdown overrides during replies
I apparently missed this when I originally added the overrides.
2021-03-17 19:17:13 +01:00
Nicolas Werner
8ca3a8b607
Don't send markdown links in body
fixes #422
2021-03-15 20:59:18 +01:00
DeepBlueV7.X
6548b84e29
Merge pull request #523 from Jedi18/master
Fix windows video bug
2021-03-15 15:51:10 +00:00
targetakhil
a4b7966d21 prepend file:// for linux and macos 2021-03-15 09:03:06 +05:30
Nicolas Werner
9b8e6c7f5c
Remove some more allocations 2021-03-14 15:34:18 +01:00
Nicolas Werner
7a356f3832
Merge branch 'quickswitcher_qml' of git://github.com/Jedi18/nheko into Jedi18-quickswitcher_qml 2021-03-13 23:45:05 +01:00
Nicolas Werner
27fe0a45b6
Disable room pings in replies 2021-03-12 17:14:17 +01:00
Jedi18
8870455f9d change allowed mistakes, fix minor style issues, remove old completer function from inputbar 2021-03-07 00:18:24 +05:30
Nicolas Werner
1be42045ee
fix linting 2021-03-05 15:26:07 +01:00
DeepBlueV7.X
56c44d0454
Merge pull request #505 from Nheko-Reborn/license-headers
License headers
2021-03-05 01:04:36 +00:00
Joseph Donofry
4b12b53133
Fix linting 2021-03-04 19:11:08 -05:00
Nicolas Werner
a6f0d2ea7d
Update license headers 2021-03-05 01:04:07 +01:00
Nicolas Werner
67ab204050
Fix reply relating to the wrong id of edited event 2021-03-03 17:42:41 +01:00
Nicolas Werner
345dc1e61f
Fix text input restoring after edits 2021-02-25 00:50:17 +01:00
Nicolas Werner
f6b5b24d64
Allow editing via up and down arrows 2021-02-24 23:51:05 +01:00
Jedi18
ee232c5c60 fix timeline focus 2021-02-23 00:46:40 +05:30
Jedi18
b1dec6f6ac enter key now works, fix room highlighting and add overlay 2021-02-23 00:18:31 +05:30
Jedi18
0922a8e4c7 add room alias delegate, fix some quickswitcher ui problems 2021-02-22 00:01:50 +05:30
Jedi18
32d419d14f add quick switcher qml file and moved completerFor from inputbar to timeline view class 2021-02-21 23:10:21 +05:30
DeepBlueV7.X
99efe2f06b
Merge pull request #479 from Jedi18/add_rooms_model_completer
Add rooms completion model
2021-02-19 14:03:42 +00:00
DeepBlueV7.X
744feabeca
Merge pull request #474 from Jedi18/room_settings_qml
Shifted Room Settings Dialog to QML
2021-02-19 08:43:03 +00:00
Nicolas Werner
b8c6c716be Make inline images work a bit better 2021-02-17 22:14:19 +01:00
Nicolas Werner
c9393fe3f6 Fix crash from logging unset indices (leftover after debugging) 2021-02-17 18:47:59 +01:00
Jedi18
0b6c82dfff added bool to choose between showing only rooms with aliases and all of the rooms 2021-02-17 19:58:41 +05:30
Jedi18
19dbbb2c6c add rooms model, add room delegate for completer 2021-02-16 00:50:28 +05:30
Akhil Nair
8400540428
Merge branch 'master' into room_settings_qml 2021-02-14 00:04:27 -05:00
Nicolas Werner
d43607d01c Fix hover handling in the timeline 2021-02-14 01:28:28 +01:00
Jedi18
1a406f79e6 replaced with togglebutton using qtquickcontrols2 2021-02-13 23:59:42 +05:30
Nicolas Werner
7ddcab3902 Mark messages as read, when Nheko gets focused
fixes #235
2021-02-13 01:41:09 +01:00
Nicolas Werner
3c91b5b47b Fix crash when editing an edited message pointing to itself 2021-02-12 16:11:11 +01:00
Jedi18
35aa0126ac added changing of name through edit modal, removed old roomsettings 2021-02-12 12:48:12 +05:30
Jedi18
f044e2d2a1 fix avatar update on timeline sync 2021-02-11 23:50:45 +05:30
Jedi18
7401bd13b2 added notifications and encryption for the new roomsettings 2021-02-11 19:54:09 +05:30
Nicolas Werner
0db4d71ec2 Prevent edits of unsent messages 2021-02-10 21:13:57 +01:00
Jedi18
b70f37194f ui almost looks the same, midway between transition from old room settings to new room settings 2021-02-10 21:22:42 +05:30
Nicolas Werner
2606568376 Fix messages sometimes not being rendered, when they are too large 2021-02-10 15:24:00 +01:00
Nicolas Werner
a62276c289 Fix UI allowing edits of foreign messages in some cases 2021-02-10 14:32:16 +01:00
Nicolas Werner
bdb6e6b79e Fix stuck notifications because of edits
Does not fix the read status yet, for that we need to compare read
receipts for all events after the last visible event.
2021-02-10 01:03:20 +01:00
Nicolas Werner
9b7d33e847 Implement message editing
The UI still looks ugly, but I have no good idea atm.

fixes #134
2021-02-09 20:22:53 +01:00
Nicolas Werner
00fd4eecec Display edits correctly 2021-02-09 20:22:49 +01:00
Nicolas Werner
faeaf9dc6b Fix edited replies 2021-02-09 20:22:02 +01:00
Nicolas Werner
d6504812c7 Render edits 2021-02-09 20:22:02 +01:00
Nicolas Werner
2e77a1554f Switch to new relations format 2021-02-09 20:22:02 +01:00
Jedi18
37679ac57e added room settings qml 2021-02-09 23:11:39 +05:30
DeepBlueV7.X
23a9306383
Merge pull request #459 from Jedi18/minor_fixes
Fix emoji related issues
2021-02-09 16:25:37 +01:00
Nicolas Werner
375e20462b Native rendering breaks kerning 2021-02-07 02:01:44 +01:00
Jedi18
4aefac08a4 focus message input on adding emoji/reacting to a message 2021-02-05 22:42:08 +05:30
DeepBlueV7.X
a7150b5666
Merge branch 'master' into avatar_username_feature 2021-02-03 03:17:28 +01:00
Jedi18
cd3f719e43 add loading indicator 2021-02-02 17:24:08 +05:30
Jedi18
d535cc5e75 add error message and update avatars on avatar change in timeline and user profile dialog 2021-02-02 13:30:47 +05:30
Joseph Donofry
53c653a228
Merge remote-tracking branch 'nheko-im/master' into privacy_screen 2021-02-01 18:42:38 -05:00
DeepBlueV7.X
2b7bd09ad3
Merge pull request #431 from Jedi18/avatar_username_feature
Username editing (room specific and global)
2021-02-01 19:14:57 +01:00
Loren Burkholder
c3fa592018 make lint 2021-01-29 18:17:44 -05:00
Loren Burkholder
cd998d1c35 Center user info dialog on the screen 2021-01-29 18:16:50 -05:00
Jedi18
9b5a287d14 made requeste changes 2021-01-29 11:55:24 +05:30
Jedi18
fa7ad4f234 Shifted fetching of global username fom timeline model to user profile 2021-01-29 00:09:11 +05:30
Jedi18
3b82b2ff97 fix linting 2021-01-28 23:53:56 +05:30
Jedi18
b3f29f592b Changed edit method from double clicking to an edit button 2021-01-28 23:35:02 +05:30
Jedi18
87490c29cd Username can be edited by double clicking on text, added global user profile menu action in user info widget 2021-01-28 20:03:50 +05:30
Nicolas Werner
50564985cc Fix crash, when keys for no events were requested 2021-01-27 21:30:06 +01:00
Nicolas Werner
5fbf17f6ec Fix request key loops 2021-01-27 20:29:06 +01:00
Jedi18
5e3f513655 update room specific username from userprofile 2021-01-27 11:03:08 +05:30
Joseph Donofry
bfeb766a91
Implement Privacy Screen
* Add handles for window focus gained / focus lossed and connect to timer
* Clean up some of the PrivacyScreen.qml code
* Connect settings to PrivacyScreen visibility
2021-01-26 17:23:28 -05:00
Nicolas Werner
f0102c1e55 Fix old messages being played back after limit reset 2021-01-24 20:02:24 +01:00
DeepBlueV7.X
a5944ab047
Merge pull request #406 from rnhmjoj/open-in
Add "open in external program" action
2021-01-24 05:52:44 +01:00
rnhmjoj
c569ab24bc
Add "open in external program" action 2021-01-24 01:50:23 +01:00
Nicolas Werner
7bc57f76f7 Request unknown message indices 2021-01-23 20:08:59 +01:00
DeepBlueV7.X
a082a98ede
Merge pull request #393 from LorenDB/mdCommands
Markdown setting override commands
2021-01-23 02:02:59 +01:00
DeepBlueV7.X
f956d012a9
Remove useless parentheses 2021-01-23 00:51:29 +00:00
Nicolas Werner
97340bed13 Fix font tags showing up in playable media messages 2021-01-23 00:49:28 +01:00
Loren Burkholder
06f6a5bcca Clarify how markdown is determined 2021-01-20 21:12:07 -05:00
Loren Burkholder
1d93570814 Make lint 2021-01-20 18:22:24 -05:00
Loren Burkholder
91155bf803 Add commands to override Markdown setting 2021-01-20 18:22:24 -05:00
Nicolas Werner
32a20a5f8c Simplify section handling a bit 2021-01-19 23:58:40 +01:00
Nicolas Werner
42b08257ec Make read markers a bit less confusing 2021-01-16 13:54:56 +01:00
Nicolas Werner
31881e14d9 Make it easier to understand, what button to click for verification from profile 2021-01-12 15:00:59 +01:00
Nicolas Werner
2a19783f99 Fix timeline becoming corrupted on backfill
Fixes #273
2021-01-12 00:02:18 +01:00
trilene
3572c111f3 Fix call invite declined on another device 2021-01-10 12:23:58 -05:00
trilene
9bbade37de Fix call answered on another device 2021-01-07 14:04:54 +01:00
trilene
07ac7b7e85 Port PlaceCall dialog to Qml 2021-01-07 14:04:50 +01:00
trilene
7124024977 Make call invites less intrusive 2021-01-07 14:04:21 +01:00
trilene
ac410f46f2 Move call-related properties to CallManager 2021-01-07 14:04:21 +01:00
Nicolas Werner
4b4c321397 Allow inline replies from notifications on linux 2021-01-07 10:44:59 +01:00
Nicolas Werner
3a41bb9fff Fix typing notifications flickering sometimes 2021-01-05 22:38:21 +01:00
Nicolas Werner
904cafcd39 lint 2020-12-25 04:11:47 +01:00
Nicolas Werner
01e38d12ed Fix some compiler warnings 2020-12-25 00:08:06 +00:00
Nicolas Werner
7b46aa2a6e Store secrets in keychain 2020-12-16 22:10:09 +01:00
Nicolas Werner
7abeb1f1a4 React with arbitrary strings via /react 2020-12-13 16:23:04 +01:00
DeepBlueV7.X
95667edb14
Merge pull request #347 from kamathmanu/avatarFullViewSupport
Add support for viewing avatar images in full size
2020-11-30 21:25:42 +01:00
kamathmanu
69997a3d74 Lint code 2020-11-30 15:10:59 -05:00
kamathmanu
0edd75949b Lint code 2020-11-30 14:56:39 -05:00
kamathmanu
e36b090c5b Add support for viewing avatar images in full size 2020-11-30 10:05:24 -05:00
Nicolas Werner
2ce129e6b6 Properly share and rotate sessions on member and device changes 2020-11-30 01:54:53 +01:00
Nicolas Werner
c24f9a22a5 Load sessions lazily from db 2020-11-30 01:54:53 +01:00
Nicolas Werner
233a8a5dad Fix variable shadowing 2020-11-26 16:09:53 +01:00
Nicolas Werner
c31b9e2793 Fix race when reading members from db 2020-11-25 23:54:25 +01:00
Nicolas Werner
08e9461611 Fix input focus when pressing reply button 2020-11-25 19:05:12 +01:00
Nicolas Werner
c74077a41f Implement Qml drag and drop 2020-11-25 19:05:12 +01:00
Nicolas Werner
c2eea5cb55 Fix mimetype of media messages 2020-11-25 19:05:12 +01:00
Nicolas Werner
094c0b09ab Qml emoji completer 2020-11-25 19:05:12 +01:00
Nicolas Werner
add5903fb0 Working User completer 2020-11-25 19:05:12 +01:00
Nicolas Werner
cabeb1464c WIP Qml completer 2020-11-25 19:05:12 +01:00
Nicolas Werner
d14a5f8067 Reimplement message history 2020-11-25 19:05:12 +01:00
Nicolas Werner
921379a4cc Send typing updates from QML 2020-11-25 19:05:12 +01:00
Nicolas Werner
d1af1a8669 Move calls to new input bar 2020-11-25 19:05:12 +01:00
Nicolas Werner
a31d3d0816 Add file uploading 2020-11-25 19:05:12 +01:00
Nicolas Werner
0bb4885632 Basic text input in qml 2020-11-25 19:05:12 +01:00
Nicolas Werner
7a74b86340 Pasteable textinput 2020-11-25 19:05:11 +01:00
DeepBlueV7.X
27bf654d92
Merge pull request #320 from trilene/webrtc-video
Video calls: add local webcam view
2020-11-09 21:49:26 +01:00
trilene
d391404b79 Video calls: add local webcam view 2020-11-09 10:51:17 -05:00
DeepBlueV7.X
5fb3d4ede8
Merge pull request #310 from MayeulC/fix-typo
Improve wording in multiple strings.
2020-10-31 22:28:40 +01:00
Mayeul Cantan
eea7aecc04 Wording: replace "encrypted room" with "encrypted private chat"
This is for consistency with "Start a private chat", and is more
specific.
2020-10-31 22:23:55 +01:00
trilene
fd479a91be Merge remote-tracking branch 'upstream/master' into webrtc-video 2020-10-28 16:08:17 -04:00
Nicolas Werner
70f35de449 Don't pass around empty timeline 2020-10-28 13:06:28 +01:00
trilene
d9ca5309ac Merge remote-tracking branch 'upstream/master' into webrtc-video 2020-10-27 15:29:53 -04:00
trilene
d1f3a3ef40 Support video calls 2020-10-27 13:14:06 -04:00
Nicolas Werner
12fff7408e Optimize build 2020-10-27 17:45:28 +01:00
Nicolas Werner
4797b9fa96 Fix infinite pagination properly now. 2020-10-23 19:42:23 +02:00
Nicolas Werner
cea7f4574f Clean up key requests + autoreload 2020-10-20 19:46:37 +02:00
Nicolas Werner
983690c94f Share code for sending encrypted olm messages 2020-10-20 18:10:09 +02:00
Nicolas Werner
aa9b453f81 Store timestamp with olm sessions 2020-10-20 13:46:05 +02:00
Nicolas Werner
bd0deb7213 Fix crash on exit 2020-10-17 00:57:29 +02:00
Nicolas Werner
392d7d5568 Try to fix windows build 2020-10-08 20:07:43 +02:00
Nicolas Werner
e5fb9a25ea Try to please the CI gods 2020-10-08 18:16:30 +02:00
Nicolas Werner
08d5a84cbd Fix issues with old qt and bump to 5.10 2020-10-08 17:26:07 +02:00
Nicolas Werner
99ba1f17d3 Merge remote-tracking branch 'origin/master' into cross-signing 2020-10-08 16:57:03 +02:00
Nicolas Werner
7b6fab3373 Calculate verification status from cross-signing sigs and update dynamically 2020-10-08 00:20:12 +02:00
Nicolas Werner
64d5a193f1 Fix in room verification 2020-10-06 17:02:41 +02:00
Nicolas Werner
8a4d85f801 Show different verification errors 2020-10-05 22:58:07 +02:00
Nicolas Werner
bca29a4227 Make steps in verification flow explicit 2020-10-05 22:12:10 +02:00
Nicolas Werner
2a79cd2b6b Don't fail on missing key for a device and /rotate-megolm-session command 2020-10-03 18:38:28 +02:00
Nicolas Werner
abff61bb6c Fix nullopt when iterating reactions 2020-10-03 17:23:59 +02:00
Nicolas Werner
94690ebd4c Clean up verification and key cache a bit 2020-10-02 01:14:42 +02:00
trilene
3f73853e4b Move ActiveCallBar Qml to separate file 2020-09-25 10:26:36 -04:00
Nicolas Werner
4802c34009 Merge remote-tracking branch 'origin/master' into cross-signing 2020-09-24 21:36:43 +02:00
trilene
44cfc8d22a clang-format 2020-09-22 12:14:15 -04:00
trilene
da27670cbe Port ActiveCallBar to Qml 2020-09-22 12:07:36 -04:00
Nicolas Werner
54db9c89ed Simplify outbound session setup
Don't send inbound session to self and claim and send all keys at once.
2020-09-20 23:07:02 +02:00
Nicolas Werner
4b36585e47 Fix typo in encryption error message 2020-09-19 15:45:23 +02:00
Nicolas Werner
b05c101021 Fix null errors in qml 2020-09-16 23:49:17 +02:00
Nicolas Werner
77e241b9e5 Reenable top bar room settings menus on avatar or title clicks
Also fixes a bug with an empty room settings window introduced in the
port.
2020-09-16 23:49:17 +02:00
Nicolas Werner
640b0ee405 Port top bar to Qml
Also fixes some resize issues with stupid workarounds to our resize
logic. This really needs to be cleaned up at some point!
2020-09-16 23:49:17 +02:00
CH Chethan Reddy
8eb74daf76 Split qml part of Device Verification 2020-09-14 17:27:49 +05:30
Chethan2k1
2b5deabbdc Fix breaking while using qmlRegisterSingletonInstance 2020-09-10 14:50:10 +05:30
Chethan2k1
898be090af Add support non-encrypted room-verification messages 2020-09-10 11:08:39 +05:30
Chethan2k1
e8eeb480d5 Fix Wrong Emojis Issue in Room Verification 2020-09-04 12:02:24 +05:30
DeepBlueV7.X
657f4073e9
Merge branch 'master' into device-verification 2020-09-03 18:11:17 +00:00
CH Chethan Reddy
5358854de3 Add support for Encrypted to-device verification messages 2020-09-03 09:37:16 +05:30
Nicolas Werner
8d14a058c6 Fix endless pagination, when old history is inaccessible 2020-09-02 19:38:07 +02:00
CH Chethan Reddy
b174bd9380 Merge remote-tracking branch 'upstream/master' into device-verification 2020-08-30 22:27:14 +05:30
CH Chethan Reddy
0d1dd29b19 Small Fixes 2020-08-29 13:37:51 +05:30
CH Chethan Reddy
8a4bd37fea [WIP] Room Verification Works! 2020-08-18 11:29:02 +05:30
Nicolas Werner
7f7108161e Hide CallCandidates again in new store 2020-08-17 23:30:36 +02:00
Nicolas Werner
de7ec4d2b3 Merge remote-tracking branch 'origin/master' into new-event-store
Conflicts:
	CMakeLists.txt
	io.github.NhekoReborn.Nheko.json
	src/Cache.cpp
	src/timeline/TimelineModel.cpp
	src/timeline/TimelineModel.h
	src/timeline/TimelineViewManager.cpp
2020-08-17 20:40:33 +02:00
Nicolas Werner
14a0aac748 Add /clear-timeline command 2020-08-09 23:36:47 +02:00
CH Chethan Reddy
2e20049b36 [WIP] Room-Verification Messages 2020-08-09 08:35:15 +05:30
Nicolas Werner
b972d827cb Try to fix issue of pagination interfering with limited: true 2020-08-07 13:12:45 +02:00
Nicolas Werner
1f9215a5be Split error messages from event decryption 2020-08-06 21:46:16 +02:00
trilene
e527da052b Reset TLVM initial sync flag on logout 2020-08-01 14:39:06 -04:00
trilene
e3e7595bab clang-format 2020-08-01 14:31:10 -04:00
CH Chethan Reddy
3635c185e9 Add Room Verification Messages 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
1fcd768f88 Adding Room Key Verification Stuff 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
1103cc15cf Adding icons to UserProfile 2020-07-30 22:10:27 +05:30
Nicolas Werner
08028d5c57 Refactor UserProfile 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
ffa61095b8 Error Handling and some fixes 2020-07-30 22:10:27 +05:30
Nicolas Werner
4862be06be Fix presence indicator 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
1633650303 Some more changes
- remove unnecessary field sender in userprofile.qml
    - cover user facing string with qsTr to get picked by translations
    - add spacing and fix theming issue
    - increase and add color to username
    - change back to QVector from QLinkedList cause I have mistaken
    better time complexity to give better benchmark

red
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
d49ab15656 Some Improvements
- DeviceVerificationList change to LinkedList to improve time
    complexity while deleting
    - Downgrade the flow to not use key.verification.done and
    key.verification.ready
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
ce013e67a6 Add some more slots and mac 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
67367d0004 Shared secret with decimal and emoji works! 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
41b6ef0c32 Add DeviceVerificationList to keep track of all flows and Popup on
recieving start or request
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
f9c0f4dd54 Add C++ Model for DeviceList 2020-07-30 22:10:27 +05:30
Chethan2k1
a54a973ad6 Adding DeviceList for userprofile 2020-07-30 22:10:27 +05:30
Nicolas Werner
707248fea3 Add DeviceVerificationFlow dummy and verification test button 2020-07-30 22:10:27 +05:30
Nicolas Werner
2088053d26 Add DeviceVerificationFlow dummy and verification test button 2020-07-30 22:10:27 +05:30
Nicolas Werner
ade905c881 Fix shadowing variable 2020-07-26 13:07:36 +02:00
Nicolas Werner
a00b11def7 Rename EventStore::event to get to remove ambiguity with QObject::event 2020-07-26 12:33:30 +02:00
Nicolas Werner
4e7bd20e0c Reset fetch in progress when fetch failed 2020-07-25 19:38:56 +02:00
Nicolas Werner
b294430fe5 Return to redacted messages instead of just storing the redaction 2020-07-25 19:38:27 +02:00
trilene
aec24efbe2 Specify call type on timeline 2020-07-24 13:30:12 -04:00
Nicolas Werner
147ae68c31 Don't send url, if we send an encrypted file
Fix issues when sending images to some clients.
2020-07-23 14:33:07 +02:00
Nicolas Werner
19f27236ea Fix reactions 2020-07-20 00:42:48 +02:00
Nicolas Werner
6f2bc908ba Fix reaction display 2020-07-19 12:22:54 +02:00
Nicolas Werner
8261446f83 Fix reply scrolling 2020-07-18 21:14:45 +02:00
Nicolas Werner
046b3f4da6 Mark own events as read again after sending 2020-07-18 20:39:31 +02:00
Nicolas Werner
36e4405f25 Fix flickering of encrypted messages when sending using new store 2020-07-18 19:15:50 +02:00
Nicolas Werner
a5dda86a6c Fix encryption indicator 2020-07-18 17:59:59 +02:00
Nicolas Werner
56ea89aa11 Reenable sending messages 2020-07-18 17:43:49 +02:00
trilene
16209ce073 Hide incoming CallCandidates in encrypted rooms 2020-07-14 07:34:40 -04:00
trilene
195ba5e5ee Remove comments 2020-07-13 20:47:34 -04:00
trilene
774d864096 Hide CallCandidates events from the timeline 2020-07-13 19:45:41 -04:00
Nicolas Werner
9ae7d0dce3 Readd pagination and fix redactions 2020-07-13 00:08:58 +02:00
trilene
c73cfe1810 Merge remote-tracking branch 'upstream/master' into voip 2020-07-10 19:39:44 -04:00
trilene
7a206441c8 Support voice calls 2020-07-10 19:19:48 -04:00
Nicolas Werner
3421728898 Fetch missing events 2020-07-10 01:37:55 +02:00
Nicolas Werner
530c531c4b WIP: Event Store split out 2020-07-09 23:15:22 +02:00
Nicolas Werner
8d3ab300b6 Open url using QDesktopServices from Qml
This fixes some weirdness on some platforms, where Qt.openUrlExternally
does weird stuff.
2020-07-09 00:45:37 +02:00
Nicolas Werner
21a1f249f9 Fix Qt 5.9 build 2020-06-27 03:15:36 +02:00
Nicolas Werner
f6fa494666 Make connections across threads queued in any case 2020-06-26 13:36:21 +02:00
Nicolas Werner
cded494cb5 Try to make text rendering in qml sharper 2020-06-19 19:34:03 +02:00
Joseph Donofry
7afb164244
Merge remote-tracking branch 'origin/master' into presence 2020-06-11 22:27:30 -04:00
Joseph Donofry
b9626f0c69
Additional code cleanup 2020-06-11 21:59:21 -04:00
Joseph Donofry
12c46e86b4
Fix linting 2020-06-11 00:37:54 -04:00
Joseph Donofry
5e355c36fd
Fix build issue on some versions of clang 2020-06-10 22:34:14 -04:00
Joseph Donofry
6bb73f84a3
Merge master and fix conflicts 2020-06-09 20:51:36 -04:00
Nicolas Werner
96f4169be9 Show presence and set custom status messages 2020-06-08 01:59:05 +02:00
Nicolas Werner
9eddcfc42f Remove some redundant functions 2020-05-30 16:38:11 +02:00
Nicolas Werner
6b60ff7713 Rename settings to be more consistent 2020-05-26 22:54:51 +02:00
Nicolas Werner
f452bdf2b0 Make settings update immediately in qml and allow limiting timeline width
Limiting improves readability on wide monitors.

The immediate update of the settings is done by just exposing settings
as properties and then setting the settings as a context property.
2020-05-26 22:54:51 +02:00
Nicolas Werner
937b35ca8a Fix some join messages showing as empty 2020-05-26 22:54:51 +02:00
Joseph Donofry
5228861b88
Add reaction/redaction for in-line Reactions 2020-05-21 21:21:35 -04:00
lkito
d8b89e2ef0 Added an optional feature to show bigger emoji-only messages with 3 or less emoji 2020-05-21 16:31:27 +04:00
Nicolas Werner
5abdad308d Fix crash when reacting to messages from /sync
Messages on /sync don't have a room_id
2020-05-17 02:36:04 +02:00
Nicolas Werner
f0757a6426 Fix local echo for reactions 2020-05-16 22:48:43 +02:00
Joseph Donofry
6d2789f4d5
Merge master into reactions 2020-05-14 20:53:01 -04:00
Joseph Donofry
18f934efad
Add un-encrypted warning icon for messages in encrypted rooms 2020-05-14 20:35:29 -04:00
Nicolas Werner
279bcd1bf2 Show inline images
(This is such a hack and will probably break, but it works for now for
most cases...)
2020-05-14 00:41:10 +02:00
Joseph Donofry
ee4dcef90f
Add new QML-based emoji picker (work in progress)
This is necessary to support having a picker within QML.
Eventually, this should replace the existing widget-based one.
2020-05-13 00:36:41 -04:00
Joseph Donofry
8984661187
Initial support for sending reactions 2020-05-09 22:39:25 -04:00
Nicolas Werner
000ab4853a Translation updates 2020-05-10 01:38:40 +02:00
Joseph Donofry
a1661f7006
merge master into reactions 2020-05-07 20:53:24 -04:00
DeepBlueV7.X
7beaf868ef
Merge pull request #192 from Nheko-Reborn/reactions
Reactions
2020-05-08 00:13:24 +02:00
Nicolas Werner
a942ae9b93 Fix messages being immediately read again 2020-05-06 19:21:31 +02:00
Nicolas Werner
0b1d3a40f4 Remove unused binding name 2020-05-06 13:45:38 +02:00
Nicolas Werner
e5a5a66716 Fix reaction redaction for real this time 2020-05-06 12:52:13 +02:00
Nicolas Werner
ff54ce9334 Fix rooms with a lot of reactions not paginating correctly 2020-05-06 11:37:40 +02:00
Nicolas Werner
e045e3eb1c Show displayname on reactions 2020-05-06 11:28:24 +02:00
Nicolas Werner
8348a6c35d Fix reaction count 2020-05-06 11:15:45 +02:00
Nicolas Werner
692c6119b4 Fix joined rooms dropping to the bottom at first 2020-05-05 19:08:59 +02:00
Nicolas Werner
54013e4a00 Basic, broken reaction display 2020-05-04 13:14:54 +02:00
DeepBlueV7.X
38417a374d
Merge pull request #184 from shocklateboy92/features/backlog-progress
Add visual indication that data is being fetched
2020-05-01 10:19:32 +02:00
Lasath Fernando
166ed0674d Run linter 2020-04-30 22:40:27 -07:00
Nicolas Werner
e6fcccc8bd Don't store pending receipts in cache
We don't get notified for every message. Sometimes we only get a read
receipt for the newest message, which means old read receipts accumulate
in the database. This least to some considerable CPU overhead, when
checking if the timeline should be notified for new read receipts.
Instead just always notify, since that has far less overhead in the
worst case and doesn't need complicated cache cleanup.

The old pending_receipts db is not removed for now. It should still have
minimal storage overhead and we don't have a good mechanism for cache
format upgrades atm.
2020-04-30 22:42:56 +02:00
Nicolas Werner
0716bbafff Strip reply fallback from plain text body 2020-04-30 00:04:30 +02:00
Lasath Fernando
1f9d3024b1 Add visual indication that data is being fetched
This turns `paginationInProgress` field of `TimelineModel` into a `Q_PROPERTY`, so the Ui can bind to it.
For the moment, I'm showing the same spinner as we do during initial sync. It's not ideal, on the count of being giant and in the middle but it's better than nothing. We can make it more subtle later.
2020-04-29 13:52:39 -07:00
Joseph Donofry
5893365439 Change decrypt setting again 2020-04-23 19:21:20 -04:00
Joseph Donofry
994edb836c Change how decrypt value is retrieved from settings 2020-04-23 19:05:44 -04:00
Nicolas Werner
b00e624fb0 Fix own messages not showing as encrypted 2020-04-23 15:28:46 +02:00
Joseph Donofry
b298f01d92
Add signal/slot for decryption changes in last patch 2020-04-22 19:52:30 -04:00
Joseph Donofry
a4c280a4f9
Add ability to toggle sidebar messages for encrypted rooms 2020-04-21 22:40:58 -04:00
Nicolas Werner
0e1bb5137b Add menu entry to show decrypted source
Also make hidden entries not consume space in Menus with some qml
styles.
2020-04-21 22:32:45 +02:00
Nicolas Werner
e8271acd99 Fix own encrypted images not showing up after sending 2020-04-21 09:03:36 +02:00
Nicolas Werner
eff8af6fac Try to fix messages getting stuck by sometimes sending them twice and never failing them 2020-04-19 15:07:23 +02:00
Nicolas Werner
a70044e67b Cache decrypted events 2020-04-14 20:15:11 +02:00
Nicolas Werner
c739a0422d Fix encrypted event indicator 2020-04-14 19:29:22 +02:00
Nicolas Werner
dcddea6fb8 Fix reply not closing
fixes #124
2020-04-13 16:22:30 +02:00
Nicolas Werner
d68b24188f Size reply background by contents 2020-04-10 08:48:30 +02:00
Nicolas Werner
8bf25f3d80 Set palette globally 2020-03-30 21:48:28 +02:00
Nicolas Werner
d35cc3dda4 Use palette for qml code for theming
Can't do it for QtWidgets code. We need to fully transition, before we
can fully switch over probably.
2020-03-29 22:11:33 +02:00
Emi Simpson
a9bbea881e
Removed double-sanitization of ... is typing names 2020-03-24 18:06:19 -04:00
Adasauce
d0a1e81f43
Better image overlay handling when downloading
- hides the overlay when prompting for download location
 - cancel re-shows the dialog
 - success closes the overlay
 - would be nice to have a return code from the download fn in
 mtxclient.

Closes #140
2020-03-20 10:10:53 -03:00
Pushpam Choudhary
71ba8cb284 Add periods to terminate non-user messages in the timeline 2020-03-13 00:48:41 +05:30
DeepBlueV7.X
fc2f08a186
Merge pull request #137 from Nheko-Reborn/blurhash
Experimental Blurhash support
2020-03-05 21:07:18 +00:00
Adasauce
ed4bb1a576
Add support for more room events in timeline 2020-03-03 15:06:52 -04:00
Nicolas Werner
0fc98b2692 Experimental blurhash implementation (MXC2448) 2020-03-03 02:34:26 +01:00
Nicolas Werner
b1eff0a37f Improve link theming 2020-02-27 00:34:58 +01:00
Nicolas Werner
6bdc75d073 Reset user colors on theme change (in qml timeline) 2020-02-20 20:51:07 +01:00
Nicolas Werner
2895162971 Clear user colors on theme change 2020-02-20 20:28:23 +01:00
Nicolas Werner
fcaec0d099 Fix html messages sent as just plain text 2020-02-20 18:27:29 +01:00
Adasauce
b24165371c Paginationg != Paginating in debug message 2020-02-17 17:13:28 +01:00
Nicolas Werner
65bd099372 Don't delete messages received out of order (fixup the flickering fix) 2020-02-16 18:58:38 +01:00
Nicolas Werner
ec9da9f42a Try to fix flickering, if sync return event before send completes 2020-02-16 00:20:41 +01:00
Adasauce
cb36050822
use QStandardPaths locations for all file dialogs. 2020-02-14 21:35:26 -04:00
Adasauce
17b5cc32dc
use the standard system download path for downloads
QFileDialog's dir arg (which was set to the incoming file name from the
Matrix download) can take a full path to suggest. By prepending
QStandardPaths::DownloadLocation, it opens to the system's download
folder and proposes the filename as the download name.

Using QStandardPaths should make this work on other platforms, and from
what I read, its possible for this to return an empty string on
platforms where it doesn't support it, so this should essentially
revert to the previous functionality if Qt can't determine the system's
download location.
2020-02-14 16:24:53 -04:00
Nicolas Werner
a2566b870e show image dialog fullscreen instead of resizing to the size of the first desktop 2020-02-13 15:11:43 +01:00
Nicolas Werner
c5af3543e6 fix c++11 range-loop might detach Qt container 2020-02-07 02:56:03 +01:00
Joseph Donofry
096db389d1
Make closing the reply popup actually clear the reply message 2020-02-04 18:17:14 -05:00
Nicolas Werner
9d90467e6a Select first room on startup 2020-02-04 21:16:04 +01:00
Nicolas Werner
7ccc120f63 modernize: use nullptr 2020-02-04 04:58:43 +01:00
Nicolas Werner
d330020fdd Improve styling a bit 2020-02-03 19:21:03 +01:00
Nicolas Werner
96e3a7735d Fix <displaynames> 2020-02-02 15:15:00 +01:00
Nicolas Werner
4cd260bfcf Optimize includes a bit 2020-01-31 15:11:21 +01:00
Joseph Donofry
d6d4076d36
Merge branch '0.7.0-dev' of ssh://github.com/Nheko-Reborn/nheko into 0.7.0-dev 2020-01-28 19:20:51 -05:00
Joseph Donofry
d205952fc8
Change tooltip palette settings for QML 2020-01-28 19:20:39 -05:00
Nicolas Werner
75c5c01189 Merge branch 'plain-text-messages' into 0.7.0-dev 2020-01-29 00:42:46 +01:00
DeepBlueV7.X
247af99399
Merge pull request #111 from Nheko-Reborn/better-build
Improve build system and dependency bundling.
2020-01-28 23:38:16 +00:00
Joseph Donofry
2b8b04a04b
Add initial QML Reply Popup 2020-01-27 23:28:11 -05:00
Nicolas Werner
760d4ddef9 Fix newlines in plain text messages again 2020-01-27 18:36:34 +01:00
Nicolas Werner
e81a4e8f9a Don't send useless formatted_bodies 2020-01-27 17:25:09 +01:00
Nicolas Werner
9c368fa7f4 Fix reply rendering without markdown in riot 2020-01-27 17:05:40 +01:00
Nicolas Werner
e2f547149a Allow sending messages as plain text 2020-01-27 15:59:25 +01:00
Nicolas Werner
f755550418 Add missing thread include 2020-01-26 16:38:31 +01:00
Nicolas Werner
cbd428c584 Switch around dark theme colors again (after looking at some screenshots) 2020-01-23 21:28:17 +01:00
Nicolas Werner
e9267ffc76 Show event type string in placeholder 2020-01-23 20:59:17 +01:00
Nicolas Werner
86960e67ec Implement display of membership events 2020-01-23 20:34:04 +01:00
Nicolas Werner
c95f4d8276 Fix colors in typing display, when username contains emoji 2020-01-21 20:41:09 +01:00
Nicolas Werner
dc44ac50a3 Linkify links before sending 2020-01-21 03:36:26 +01:00
Nicolas Werner
fe912240bc Move typing display to qml 2020-01-17 01:25:14 +01:00
Nicolas Werner
4eb0e11740 Try to match old theme better 2020-01-14 20:44:11 +01:00
Nicolas Werner
54a16ae2d7 Fix duplicate messages in timeline after sending 2020-01-14 20:43:35 +01:00
Nicolas Werner
3f02b0bf56 Escape blacklisted html tags 2020-01-14 17:47:30 +01:00
Nicolas Werner
62f17dffbd Fix replies in encrypted rooms
The relation needs to be unencrypted...
2020-01-13 12:37:02 +01:00
Nicolas Werner
4ca8da9a89 Allow replying with an image 2020-01-12 17:07:22 +01:00
Nicolas Werner
4727f1c2bb Fetch missing events for replies 2020-01-11 18:53:32 +01:00
Nicolas Werner
2b3dc3d8b9 Implement fancy reply rendering
This currently assumes the event, that is replied to, is already
fetched. If it isn't, it will render an empty reply. In the future we
should fetch replies before rendering them.
2020-01-11 14:07:51 +01:00
Nicolas Werner
51d7e64992 Simplify read message logic with inverted timeline 2020-01-06 18:29:08 +01:00
Nicolas Werner
5af6f6528b Use fetchMore for native lazy loading of item model data 2020-01-06 18:29:08 +01:00
Nicolas Werner
946ab4d0f2 invert timeline 2020-01-06 18:29:08 +01:00
Nicolas Werner
e084543cc0 Move visitors out of TimelineModel 2019-12-27 21:50:37 +01:00
Nicolas Werner
37fbcaf07b Reduce includes of MatrixClient.h, as it is the most expensive header 2019-12-15 03:19:33 +01:00
Nicolas Werner
5fc1f3bd67 Reduce overhead of Cache.h 2019-12-15 02:56:04 +01:00
Nicolas Werner
13df852479 Reduce some include of Cache.h since it needs 11s on average 2019-12-14 23:40:32 +01:00
Nicolas Werner
659e36b113 Update to c++17 2019-12-14 18:59:38 +01:00
Nicolas Werner
9c1912ed93 Fix preview of sent encrypted images 2019-12-13 01:31:14 +01:00
Nicolas Werner
e98a61fea6 Show topic and name changes in timeline 2019-12-10 14:46:52 +01:00
Nicolas Werner
362efbf5b9 Restore linkification of messages 2019-12-06 02:57:08 +01:00
Nicolas Werner
43d7fe0d35 Implement sending encrypted files 2019-12-05 15:31:53 +01:00
Nicolas Werner
5bfdaff778 Implement decryption of images
It is a bit of a hack, but it works...
2019-12-03 23:34:16 +01:00
Nicolas Werner
a689118d71 lint 2019-12-03 19:49:56 +01:00
Nicolas Werner
b8f6e4ce64 Add encrypted file download 2019-12-03 02:48:29 +01:00
Nicolas Werner
6c2ec3fe67 Rename qml namespace from com.github.nheko to im.nheko 2019-11-30 01:43:39 +01:00
Nicolas Werner
9fd279c020 Show encryption enabled and use a non zero size for zero size vide 2019-11-23 20:07:15 +01:00
Nicolas Werner
7bd875004f Only mark messages as read, when room is active 2019-11-23 20:07:15 +01:00
Nicolas Werner
5429b425e9 Lint 2019-11-23 20:07:15 +01:00
Nicolas Werner
cf88499ccb Fix replies to encrypted events 2019-11-23 20:07:15 +01:00
Nicolas Werner
001c94865c Fix windows build
No idea, why apply visitor doesn't work with temporaries?
2019-11-23 20:07:15 +01:00
Nicolas Werner
c424e397b0 Add loading spinner and restore message send queue 2019-11-23 20:07:15 +01:00
Nicolas Werner
562169965c Show only messages in room list 2019-11-23 20:07:15 +01:00
Nicolas Werner
91d1f19058 Remove old timeline 2019-11-23 20:07:15 +01:00
Nicolas Werner
2dd636456c Add basic sections and button placeholders to qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner
52056a79fa Try to reduce memory usage by reusing avatar pixmaps 2019-08-26 08:51:56 +02:00
Nicolas Werner
0398c846f6 Add 'and' to typing display 2019-07-28 18:13:16 +02:00
Nicolas Werner
b28115eb37 Fix message_type not being initialized correctly
Fixes "sent an audio file" replies, that were actually replies to text
messages.
2019-07-28 16:50:10 +02:00
Nicolas Werner
50c3d4ed3a Add decryption error messages to translations 2019-07-28 13:16:13 +02:00
Nicolas Werner
1c9cc33902 Try to localise timestamps
I'm not sure, if that is the right way, but Qt doesn't really have a way
to format custom localised dates, so I tried to find the closest
approximations to what we currently have.

Relates to #69
2019-07-28 12:55:08 +02:00
Joseph Donofry
9fc079a4a9
Remove uneeded log message 2019-07-26 17:47:34 -04:00
Joseph Donofry
86888ee713
Fix bug with emoji font setting and clean linting 2019-07-26 17:44:44 -04:00
Joseph Donofry
778921be8a
Add emoji text selection option for non-mac 2019-07-26 17:31:59 -04:00
Joseph Donofry
4c0d4f35fe
Fix support for Qt versions < 5.11 2019-07-04 22:58:56 -04:00
Joseph Donofry
2484e0c118
Fix formatting issues 2019-07-04 21:31:28 -04:00
Joseph Donofry
c0a010acbb
Fix deprecated function call issues with Qt 5.13
Update to mtxclient 0.3.0
2019-07-04 21:20:19 -04:00
Joseph Donofry
cfd6c5703a
Further UI Updates to Rich Replies 2019-06-14 20:45:37 -04:00
Joseph Donofry
129beb57c9
Further Improve Reply Functionality
Quoted replies now include matrix.to links for the event and the user.
UI Rendering has been (slightly) improved... still very WIP.
Restructured the reply structure in the code for future usability
improvements.
2019-06-13 22:33:04 -04:00
redsky17
1d4966d5fd
Add style for reply popup. Fix ALL of the linting issues 2019-06-11 23:36:46 -04:00
redsky17
71c1cbcfd1
Fix lambda capture and lint issues 2019-06-11 22:34:15 -04:00
Joseph Donofry
756c7d1671
Fix linting issue 2019-06-11 21:06:18 -04:00
Joseph Donofry
b9dde957a8
Add initial support for rich replies to nheko 2019-06-09 19:03:18 -04:00
redsky17
9671b1c0d6
Fix linting issues 2019-05-27 16:06:28 -04:00
redsky17
7c630b1363
Add reply and menu buttons to TimelineItem 2019-05-27 16:04:35 -04:00
redsky17
13663ad5f8 Improve color generation performance
Colors are generated asynchronously now and the TimelineItem is
updated when the color generation finishes.  This allows the UI
to stay responsive while new colors are being generated.
2019-02-08 01:58:00 +00:00
redsky17
6d629f1c90 Add download button to ImageOverlay
When opening images in the full-screen overlay, there is now
a download button next to the close button.  This button utilizes
the same functionality as the right-click->save image button.
2019-01-30 18:01:36 -05:00
redsky17
f7255b7b49 Restore Emoji Picker, but remove forcing EmojiOne
Restored the emoji picker, but it now falls back to the system
instead of forcing Emoji One.  The allows users to user the
picker for convenience, but doesn't enforce the emoji style on them.
2019-01-26 21:02:22 +00:00
redsky17
df5d24c87f Revert "Remove built-in emoji picker"
This reverts commit 4b807229aa.
2019-01-26 18:17:08 +00:00
redsky17
22a08ba6a4 Fix lint issue 2019-01-26 06:09:51 +00:00
redsky17
f869ff5ded Fix inconsistent user color updates. 2019-01-26 06:03:52 +00:00
redsky17
2ba51c821e Update user colors to use Cache vs Utils
User colors are now stored in cache.  This is consistent
with other similar variables.  I think there's a bug
right now where it doesn't properly refresh colors
for the TimeLineItem when the theme is changed.
2019-01-26 02:55:07 +00:00
redsky17
237c7ad114 Author Color Fixes
Author color is now cached so that it will not be re-calculated
each time a new message is posted.  This cache gets cleared when
the theme is changed.

Additionally, the author color is now automatically refreshed
when the theme is changed, fixing the issue where you had to
change rooms before the colors would switch.
2019-01-20 04:43:48 +00:00
redsky17
50e382f554 Modified the code that generates user's colors so that it will
work regardless of the theme choices the user makes.  The code
now incorporates the contrast between the background color and the
color generated by the user_name when picking colors.  It currently
has two 'big' issues:
1. Colors are not cached.  I am planning on adding a QHash for this
a little later.  This should improve performance by not calculating
the color for the same users over and over and over again.
2. Theme changes do not trigger the colors to get refreshed.
Currently, you will have to switch to a different room and back
to get the colors to refresh.
2019-01-18 17:17:25 +00:00
redsky17
1882198e4b Make the author text slightly large.
Add author color generated based on user id.
2019-01-18 04:09:42 +00:00
Konstantinos Sideris
4b807229aa Remove built-in emoji picker 2018-10-07 13:13:14 +03:00
Konstantinos Sideris
3fdfc9b69f Remove Scrollbar 2018-10-06 18:39:11 +03:00
Konstantinos Sideris
844443a324 Adjust the widget size of the room list items 2018-10-06 17:21:03 +03:00
Konstantinos Sideris
420937ab83 Derive widget sizing from the font size 2018-10-04 00:32:13 +03:00
Konstantinos Sideris
be1478183e Remove some unnecessary calls 2018-10-02 13:16:44 +03:00
Konstantinos Sideris
4b1b062388 Enable debug logs 2018-09-30 14:33:54 +03:00
Konstantinos Sideris
9038c950ae Remove pixel value from fonts 2018-09-30 13:24:36 +03:00
Konstantinos Sideris
c64a1bf759 Move TextLabel into its own file 2018-09-26 15:17:14 +03:00
Konstantinos Sideris
9bc7b6305e Lint 2018-09-26 12:06:30 +03:00
Konstantinos Sideris
c9427c7f17 Clear text selection when focus is lost
fixes #409
2018-09-25 18:06:11 +03:00
Konstantinos Sideris
1716502eff Improvements on the system theme 2018-09-19 22:42:26 +03:00
Konstantinos Sideris
8767ea181d Mark unread rooms as such in the room list
fixes #313
2018-09-13 19:15:58 +03:00
Konstantinos Sideris
9f3de8679d Temporary fix to work with mx-reply tags 2018-09-13 16:10:45 +03:00
Konstantinos Sideris
bf4d559523 Strip paragraph tags
fixes #438
2018-09-13 11:02:54 +03:00
Konstantinos Sideris
e88cfa1b20 Use <em></em> for m.emote messages 2018-09-12 21:46:33 +03:00
Konstantinos Sideris
7a6816a9f6 Remove italics from m.notice messages 2018-09-12 20:59:27 +03:00
Konstantinos Sideris
9c06ba5d25 Open user profile on matrix.to links 2018-09-12 20:54:44 +03:00
Konstantinos Sideris
e9ee29978d Add context menu option to show the raw message
fixes #437
2018-09-12 16:27:25 +03:00
Konstantinos Sideris
bc38fcec6c Move some info logs to debug 2018-09-12 14:28:54 +03:00
Konstantinos Sideris
dd73a4b278 Trim whitespace from text messages 2018-09-12 14:20:12 +03:00
Konstantinos Sideris
4565f2cf00 Don't break the layout on empty text messages 2018-09-12 13:12:24 +03:00
Konstantinos Sideris
245a3735e5 Remove debug prints 2018-09-07 20:31:47 +03:00
Konstantinos Sideris
9e8f0b7409 Initial support for sending markdown formatted messages
fixes #283
2018-09-07 20:05:30 +03:00
Konstantinos Sideris
a21db789e7 Fix double href links on username pills 2018-09-07 14:52:29 +03:00
Konstantinos Sideris
896fe069b6 Use proxy objects on lambdas instead of raw pointers
When the object is destroyed the connections will be removed
automatically by Qt.

fixes #433
2018-09-07 12:24:09 +03:00
Konstantinos Sideris
a1af99becb Put back removed links 2018-09-06 22:41:02 +03:00
Konstantinos Sideris
8ad01f520a Add initial support for displaying formatted messages 2018-09-06 22:34:41 +03:00
Konstantinos Sideris
990a3a97c7 Merge matrix-structs into the client lib 2018-09-01 13:35:10 +03:00
Konstantinos Sideris
e9a8e51208 Guard against flickering for items added to the top of the timeline 2018-08-31 18:34:54 +03:00
Konstantinos Sideris
28dda237c2 Don't block on empty from token 2018-08-31 14:56:55 +03:00
Konstantinos Sideris
641364c105 Handle some more edge cases in timeline 2018-08-31 10:47:27 +03:00
Konstantinos Sideris
d608950bea Stop calling /messages if the prev_batch token is empty 2018-08-31 09:57:04 +03:00
Konstantinos Sideris
56ee290b03 Add the ability to change the room avatar
fixes #418
2018-08-29 16:00:07 +03:00
Konstantinos Sideris
db9c37d336 Call adjustSize before showing the timeline widget 2018-08-28 00:19:39 +03:00
Konstantinos Sideris
7e16730692 Remove unnecessary height setting for timeline messages
This will remove some minor flickering (hopefully for good)
2018-08-27 21:32:24 +03:00
Konstantinos Sideris
aa2f6ce77d Simplify dialog creation 2018-08-11 13:50:56 +03:00
Konstantinos Sideris
d4c3dac28f Remove the reserved space gap for the typing notifications 2018-08-09 18:20:17 +03:00
Konstantinos Sideris
3fb57ac049 Add tooltips for the message indicators (#377) 2018-08-08 12:57:50 +03:00
Konstantinos Sideris
b5b5faa5ec Consider the scale ratio when scaling down images
fixes #393
2018-08-01 21:10:03 +03:00
Konstantinos Sideris
069f0a1fbd Use native scrollbar in the timeline 2018-07-25 18:48:11 +03:00
Konstantinos Sideris
bfdbd49e3e Align timeline widgets to the bottom 2018-07-25 16:46:57 +03:00
Konstantinos Sideris
6583686a7c Remove spacer & set sizePolicy on the timeline view & widgets
This was causing some flickering when many messages were added.
Mostly visible on macOS.
2018-07-23 21:54:13 +03:00
Konstantinos Sideris
9d718fccf4 Clear timeline widgets when they exceed a certain limit (#158)
That's a fix to deal with long running sessions which will end
up taking more & more memory given enough time.
2018-07-21 12:09:23 +03:00
Konstantinos Sideris
d7e5171bfa Create user profile modal 2018-07-20 12:02:35 +03:00
Konstantinos Sideris
5540fc0737 Add user avatar after the 'encryption is enabled' message
fixes #378
2018-07-19 18:46:36 +03:00
Konstantinos Sideris
e4dedbcaba Mark own read messages with a double checkmark (#377) 2018-07-17 23:50:18 +03:00
Konstantinos Sideris
0e814da91c Move all files under src/ 2018-07-17 16:37:25 +03:00
Konstantinos Sideris
31d09dbd68 De-duplicate the m.room.encryption event 2018-07-15 20:32:22 +03:00
Konstantinos Sideris
a9f02128a2 Use the http link for video messages
Add method to convert matrix content URIs to http links
2018-07-15 20:05:31 +03:00
Konstantinos Sideris
33490eddab Remove the v2 namespace from the http client 2018-07-15 19:09:08 +03:00
Konstantinos Sideris
e6b45263bc User reverse iterator instead of while loop 2018-07-15 18:58:09 +03:00
Konstantinos Sideris
6f07ab433e Send image dimensions in m.image event
fixes #215
2018-07-10 23:31:51 +03:00
Konstantinos Sideris
6d474b77f1 Fix variable shadowing that caused the key response to be null 2018-07-08 21:24:44 +03:00
Konstantinos Sideris
278eccc040 Add context menu action to request encryption keys 2018-07-07 23:59:23 +03:00
Konstantinos Sideris
9a0e18dea7 Add a timeline message when encryption is enabled 2018-07-07 13:39:53 +03:00