Commit graph

222 commits

Author SHA1 Message Date
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