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
Konstantinos Sideris
67458dd2f8
Mark all decrypted messages with a padlock
...
fixes #351
2018-07-07 12:35:29 +03:00
Konstantinos Sideris
3bc8d791fb
Don't download dependencies during build
...
fixes #346
2018-07-04 01:38:54 +03:00
Konstantinos Sideris
ccc6cd8dab
Mark encrypted messages with a lock icon
2018-07-01 19:40:53 +03:00
Konstantinos Sideris
5b5d35fd1f
Add basic support for replies ( #292 )
2018-06-30 15:13:15 +03:00
Konstantinos Sideris
4344b6964f
Save timeline messages in cache for faster startup times
2018-06-28 16:17:39 +03:00
Konstantinos Sideris
9802ea8809
Send one claim request per user that includes all devices
...
Add missing megolm algorithm field that was causing
the "unknown algorithm" error.
2018-06-25 17:19:52 +03:00
Konstantinos Sideris
74396e9aba
Verify signature of identity keys before sharing the megolm session
...
Ignore devices that fail the verification.
2018-06-20 00:38:34 +03:00
Konstantinos Sideris
961c880d55
Handle olm & lmdb exceptions during message decryption
...
fixes #345
2018-06-19 22:53:22 +03:00
Konstantinos Sideris
7ecabcd614
Mark encrypted rooms when processing room state
2018-06-18 18:36:19 +03:00
Konstantinos Sideris
4514d13948
Improve logging a bit
2018-06-18 12:29:24 +03:00
Konstantinos Sideris
66249ed126
Correctly mark received messages whose response came after /sync
2018-06-17 02:29:19 +03:00
Konstantinos Sideris
24e0285210
Don't try to send megolm session keys to devices with no one-time keys
2018-06-15 16:45:39 +03:00
Konstantinos Sideris
9102a141f3
Handle OLM_MESSAGE type of messages properly
2018-06-15 01:35:31 +03:00
Konstantinos Sideris
8e9d210a2a
Rename the log namespace to avoid symbol clash with the math function
...
- Patch the olm repo with a CMakeLists.txt file
2018-06-14 02:28:35 +03:00
Konstantinos Sideris
5d47cc3940
Add support for sending encrypted messages
2018-06-13 12:28:00 +03:00
Konstantinos Sideris
e5dd64c63a
Add method to convert PendingMessage's to event types
...
Add more logging during message sending
2018-06-12 22:35:10 +03:00
Konstantinos Sideris
36cb62748b
Add menu option to enable encryption in a private room
2018-06-12 09:45:26 +03:00
Konstantinos Sideris
626c680911
Add support for displaying decrypted messages
2018-06-10 20:03:45 +03:00
Konstantinos Sideris
b89257a34b
Migrate to mtxclient for the http calls
2018-06-09 16:03:14 +03:00
Konstantinos Sideris
0fe81ecd4a
Show Matrix ID tooltip when hovering over display name
...
fixes #212
2018-05-26 22:44:49 +03:00
Konstantinos Sideris
b371c15b5f
Properly resize Audio & File widgets
...
Remove empty space between username & timeline widgets
2018-05-26 17:05:57 +03:00
Konstantinos Sideris
90595beb16
Set fixed height for the DateSeparator & TextLabel
2018-05-26 10:34:34 +03:00
Konstantinos Sideris
3cf7ab9f04
Fix line break issue on timeline with long words
...
fixes #193
2018-05-23 16:33:30 +03:00
Konstantinos Sideris
4c4ea557b3
Replace shared pointers of MatrixClient with a single instance
2018-05-08 18:43:56 +03:00
Konstantinos Sideris
ed9501023a
Add support for retrieving the notification events ( #33 )
2018-05-05 16:38:41 +03:00
Konstantinos Sideris
8dd21b1dae
Remove the extra top margin from timeline widgets
2018-05-04 15:47:04 +03:00
Konstantinos Sideris
23accc50d6
Show user avatar for messages on different day or time gap > 15 mins
...
fixes #278
2018-05-01 23:32:11 +03:00
Konstantinos Sideris
62d54146a7
More consistent spacing between messages
2018-04-29 20:39:22 +03:00
Konstantinos Sideris
95120c602b
Refactor utils::getMessageDescription
2018-04-29 15:42:40 +03:00
Konstantinos Sideris
3f80725c33
Add support for displaying m.sticker events
...
fixes #291
2018-04-27 22:15:44 +03:00
Konstantinos Sideris
31f5fbf891
Improve the date separator widget
2018-04-25 15:38:25 +03:00
Konstantinos Sideris
2f00fc51bf
Cache refactoring
2018-04-21 16:35:03 +03:00
Konstantinos Sideris
33a8628059
Update the room list after a redacted event has been removed
...
fixes #286
2018-04-03 10:24:35 +03:00
Konstantinos Sideris
0a09ce0f75
Update first & last sender after message deletion
...
fixes #282
2018-03-27 21:07:39 +03:00
Konstantinos Sideris
72d5d6d286
Show avatars in the completion popup
2018-03-25 15:59:47 +03:00
Hawkheart
42733eeb86
TimelineView: remove unneeded date separators when deleting a redacted message ( #279 )
...
fixes #276
2018-03-20 08:59:00 +02:00
Konstantinos Sideris
d2d65b6662
More stylistic changes & dark theme tweaks
2018-03-19 20:26:14 +02:00
Konstantinos Sideris
7253dc2c54
roomlist: Put the message timestamp on the top
2018-03-18 15:54:53 +02:00
Konstantinos Sideris
fef7cd5b83
Don't count m.room.member or m.room.reaction events as viewable
2018-03-18 13:29:21 +02:00
Konstantinos Sideris
81d3bd8ce6
Remove redacted events from other users ( #171 )
2018-03-18 12:47:35 +02:00
Konstantinos Sideris
a0ae6cf5d5
Add ability to redact messages
2018-03-17 21:23:46 +02:00