Commit Graph

738 Commits

Author SHA1 Message Date
Konstantinos Sideris 3a57d1018e Add option to configure the font size
fixes #161
2018-10-01 17:56:46 +03:00
Konstantinos Sideris 4b1b062388 Enable debug logs 2018-09-30 14:33:54 +03:00
Konstantinos Sideris 8f89ad15f7 Change the minimum width for modals 2018-09-30 13:37:38 +03:00
Konstantinos Sideris 9038c950ae Remove pixel value from fonts 2018-09-30 13:24:36 +03:00
Konstantinos Sideris d1e08e0008 Remove obsolete font/size setting 2018-09-29 14:26:47 +03:00
Konstantinos Sideris 29f442a9f9 Remove pixel values from the text input widget 2018-09-29 14:19:22 +03:00
Konstantinos Sideris 758be07a5a Make the height of the bottom bar smaller 2018-09-29 14:05:59 +03:00
Victor Berger 18a98a7c1d Display tags as sorting items in the community panel (#401) 2018-09-28 12:40:51 +00:00
Konstantinos Sideris 59a1b6b47c Don't enable tray by default 2018-09-26 19:22:52 +03:00
Konstantinos Sideris bbf37bf633 Don't clear selection when a context menu is requested 2018-09-26 19:21:10 +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 7a288cc2cb Add infinite scroll in member list
fixes #446
2018-09-25 15:43:48 +03:00
Konstantinos Sideris 39b4c83bb0 Don't clear the member list when the modal is hidden
fixes #447
2018-09-25 14:53:07 +03:00
Konstantinos Sideris adf2019c56 Use QPushButton on the preview modal 2018-09-25 14:41:47 +03:00
Konstantinos Sideris dec643e6ea v0.6.0 2018-09-21 16:44:45 +03:00
Konstantinos Sideris fc684f6571 Require login when the cache format changes (regression on #444) 2018-09-21 14:43:52 +03:00
Konstantinos Sideris b0e3a7c7fa Add close buttons to all dialogs 2018-09-21 13:56:39 +03:00
Konstantinos Sideris 2a2b52e07f Center dialogs around the main window 2018-09-21 11:30:02 +03:00
Konstantinos Sideris ce26f041ad Add method to center widgets & clean up unused headers 2018-09-21 10:55:24 +03:00
Konstantinos Sideris ecc346a6da Close dialogs on confirmation 2018-09-20 09:59:14 +03:00
Konstantinos Sideris d4ce7a9dda Use confirm as the default button 2018-09-20 08:52:31 +03:00
Konstantinos Sideris 1b7816f7ca macOS: Use the native emoji picker
fixes #79
2018-09-19 23:38:36 +03:00
Konstantinos Sideris 1716502eff Improvements on the system theme 2018-09-19 22:42:26 +03:00
Konstantinos Sideris 3e49afd6ba Fix compile warnings 2018-09-18 18:48:14 +03:00
Konstantinos Sideris 440237cdb9 Clean up unread rooms after initial sync 2018-09-16 11:41:53 +03:00
Konstantinos Sideris 1f3535bc43 Bump cache version due to incompatible changes 2018-09-16 11:19:53 +03:00
Konstantinos Sideris 9ad4aab657 Ignore sessions that cannot be parsed 2018-09-16 11:19:18 +03:00
Konstantinos Sideris a9ddc3b3d3 Implement import/export of megolm session keys (#358) 2018-09-15 23:52:14 +03:00
Konstantinos Sideris cf71a5858c Update mtxclient 2018-09-15 00:40:16 +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 a0a76e352b Enable html attributes 2018-09-12 13:40:42 +03:00
Konstantinos Sideris 4565f2cf00 Don't break the layout on empty text messages 2018-09-12 13:12:24 +03:00
Konstantinos Sideris 074608dec1 Switch to libcmark 2018-09-11 14:56:09 +03:00
Konstantinos Sideris 72333aec59 Enable Qt auto scaling
fixes #397
2018-09-08 17:10:42 +03:00
Konstantinos Sideris 667ee75d66 Show sidebar after initial sync
fixes #412
2018-09-08 15:50:35 +03:00
Konstantinos Sideris 5267e0262b Remove custom stylesheet for qmenu 2018-09-08 14:55:30 +03:00
Konstantinos Sideris 0588cb3dbf macOs: Add missing border on the TopBar 2018-09-08 14:16:51 +03:00
Konstantinos Sideris 19626dbb10 Small refactoring on the EditModal 2018-09-08 13:20:54 +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 0c6a3b6282 Remove captcha dialog from the member list 2018-09-05 18:05:27 +03:00
Konstantinos Sideris 797a69fd90 Fallback to the login screen when the one-time keys cannot be uploaded 2018-09-05 16:57:26 +03:00
Konstantinos Sideris 4a30eb30b3 Enable colors in console logger 2018-09-04 13:17:21 +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 27fed83083 Retry initial sync on generic network errors (#422) 2018-08-31 16:25:27 +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 e29fceaee4 Fix a use-after-free error during logout 2018-08-31 09:10:47 +03:00
Konstantinos Sideris b10e1bafc8 Add temp fix to work with servers that don't support e2ee endpoints
fixes #371
2018-08-30 20:37:24 +03:00
Konstantinos Sideris ee2ba93ec4 Only call /sync when retrying initial sync (#422) 2018-08-30 13:39:09 +03:00
Konstantinos Sideris 183975be1a Increase LMDB's map size (#413) 2018-08-29 16:47:28 +03:00
Konstantinos Sideris b7362298b0 Make lambda that updates avatar a class method 2018-08-29 16:15:31 +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 9f43ff876a Show the room id in the room settings modal
fixes #416
2018-08-26 14:56:35 +03:00
Konstantinos Sideris 345dca3544 Add method to delete old messages periodically
fixes #413
2018-08-25 21:08:43 +03:00
Rudi Floren c8a59f2d6e Add device ID and device fingerprint to settings page like in Riot. (#407) 2018-08-21 06:22:51 +00:00
Konstantinos Sideris 6d1f2ea9b3 Remove pixel ratio from image scaling 2018-08-20 11:58:13 +03:00
Konstantinos Sideris 04c888c44c Fix crash on logout 2018-08-13 09:35:55 +03:00
Konstantinos Sideris b06203a34b Install the bundled spdlog 2018-08-12 10:49:51 +03:00
Colin Lord bcd92c0604 Enable compilation on FreeBSD (#403) 2018-08-12 09:33:36 +03:00
Konstantinos Sideris cebd8cbc19 Add option to disable desktop notifications
fixes #388
2018-08-11 18:26:17 +03:00
Konstantinos Sideris 05547086fb Increase the minimum modal size 2018-08-11 17:55:44 +03:00
Konstantinos Sideris aa2f6ce77d Simplify dialog creation 2018-08-11 13:50:56 +03:00
Konstantinos Sideris a339f5062f Add solid background in TypingDisplay 2018-08-10 10:58:46 +03:00
Konstantinos Sideris 040e29dfb9 Add bottom border line on Linux 2018-08-09 18:45:18 +03:00
Konstantinos Sideris d4c3dac28f Remove the reserved space gap for the typing notifications 2018-08-09 18:20:17 +03:00
Konstantinos Sideris aec5587947 Allow user to configure join rules for a room 2018-08-09 16:38:11 +03:00
Konstantinos Sideris 509d3eb8b4 Add missing update() on typing display 2018-08-09 13:39:39 +03:00
Konstantinos Sideris f955ec762c Use archives instead of repos to fetch dependencies 2018-08-08 14:15:14 +03:00
Konstantinos Sideris 43a4676282 Remove hover event from emoji picker
fixes #398
2018-08-08 13:15:19 +03:00
Konstantinos Sideris 3fb57ac049 Add tooltips for the message indicators (#377) 2018-08-08 12:57:50 +03:00
Konstantinos Sideris 8d3ef470f9 Remove hardcoded colors from the typing display 2018-08-08 12:51:40 +03:00
Konstantinos Sideris df42fdc80f Remove unwanted whitespace from the user settings menu 2018-08-01 21:26:34 +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 06b30b3cca Use double instead of int when scaling pixmaps (#393) 2018-07-30 12:35:15 +03:00
Konstantinos Sideris 6ffb747421 Add tab-completion for usernames
fixes #394
2018-07-29 21:58:18 +03:00
Konstantinos Sideris f8a1ed84a8 Fix background color on the room list widget 2018-07-26 12:12:00 +03:00
Konstantinos Sideris 899249a485 Add missing tooltips on buttons
fixes #249
2018-07-25 23:28:37 +03:00
Konstantinos Sideris a845ccb8d7 Use repaint instead of update on the loading animation 2018-07-25 23:10:45 +03:00
Konstantinos Sideris 1f47a6af3a Improve the style of snackbar a bit 2018-07-25 23:07:56 +03:00
Konstantinos Sideris 8386dd73ce Enable scrollbar on the room list for macOS (#174) 2018-07-25 18:59:33 +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 59a42183bc Fix issue with missing communities due to an unregistered metatype 2018-07-25 16:34:54 +03:00
Konstantinos Sideris 35067088f9 Disable paint updates when removing the room filter 2018-07-24 21:43:51 +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 6b42e3b202 Simplify the message shown when another app instance is detected 2018-07-22 20:26:50 +03:00
Konstantinos Sideris 98548b1b8b Minor modal adjustments 2018-07-22 20:01:12 +03:00
Konstantinos Sideris 85e93a88a6 Add option to specify the scale factor
fixes #357
fixes #335
fixes #230
2018-07-22 19:48:58 +03:00
Konstantinos Sideris 18695d636d Add input field to specify the device name on login 2018-07-22 18:41:15 +03:00
Konstantinos Sideris 3d2e29bfa0 Remove pixel values from modals, use pointSize instead 2018-07-22 18:03:12 +03:00
Konstantinos Sideris 24bad93f6b Add option to ignore key requests altogether 2018-07-22 16:36:25 +03:00
Konstantinos Sideris 0247b47553 Refactor the room settings menu to look like the user profile 2018-07-22 15:41:06 +03:00
Konstantinos Sideris 5dfd26abc5 Reject key requests for users that are not members of the room 2018-07-22 14:11:28 +03:00
Konstantinos Sideris 73e3161c88 Disable paint updates while applying room filtering (#380) 2018-07-21 14:57:56 +03:00
Konstantinos Sideris 6c65213c83 Reuse the profile modal & adjust its spacing relative to the font size 2018-07-21 14:33:35 +03:00
Konstantinos Sideris 54c7eb374a Lower the complexity of the group filtering algorithm (#380)
The old algorithm during filtering will check every room
if it's part of the group. O(N*G)

The room ids for a group are now stored in a map for faster lookup
so the search can be completed in a single pass. O(N)
2018-07-21 13:35:36 +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 e8cb2cee0c Use a smaller icon size in the sidebar 2018-07-20 17:44:09 +03:00
Konstantinos Sideris 83008f44e4 Show device list in user profile & add option to create 1-1 chat 2018-07-20 16:15:50 +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 00f99d9ae5 Fix variable shadowing on clang 2018-07-18 17:11:02 +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
Benedikt Heine c942a4b9fc Explicitly set no timeout for notifications
The notification spec handles -1 and 0 as special values:
-1 -> representation for "undef"
 0 -> infinitely
 values above 0 represent the timeout in ms.

The notification messages should disappear again and with 0, this insn't
the case. Setting it to -1 lets the notification manager decide the
timeout and displays the notification like all others.
2018-07-16 12:13:05 +02:00
Benedikt Heine a7cf30005b Update image_data hint to current notification spec
The current notification spec says image-data should get used instead of
image_data.
2018-07-16 12:12:07 +02:00
Konstantinos Sideris 21185a44e7 Properly reset the autocomplete anchor when the popup closes
fixes #305
2018-07-15 21:26:48 +03:00
Konstantinos Sideris fde066e236 Use MainWindow instead of QApplication::activeWindow to reference the main window
The latter will not always return a valid pointer.

fixes #363
2018-07-15 20:58:10 +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 4059f17e15 Add the -v / --version option, which displays the version string of the application. 2018-07-15 14:53:18 +03:00
Konstantinos Sideris c4613b210e Fix Windows build 2018-07-14 16:27:51 +03:00
Konstantinos Sideris 73dbd3c8dd Re-enable groups 2018-07-14 12:08:16 +03:00
Konstantinos Sideris 363e3735f1 Allow close events from the session manager (#353) 2018-07-11 20:56:44 +03:00
Max Sandholm 80ebe3f29d Working D-Bus desktop notifications (#361)
* Working D-Bus desktop notifications

* Remove return type on constructor

* Fix the Windows placeholder class

* Fix wrong variable name

* Fix windows and macOS versions of notificationsmanager
2018-07-11 17:33:02 +03:00
Konstantinos Sideris e7f30b57e8 Use QSharedPointer::data to be compatible with Qt < 5.11 2018-07-11 16:49: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 1312c139cc Don't pre-load messages from caches
Requires backfilling which is not implemented.

fixes #365
2018-07-09 12:17:22 +03:00
Konstantinos Sideris 172d111d1c Add -Wshadow 2018-07-08 22:10:40 +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 6c5309d9eb Fix regressions regarding UI resizing
The room list would be hidden only through window resizing.
2018-07-04 00:05:05 +03:00
Konstantinos Sideris 4073d61045 Add shortcuts for chat-only & Room List-only views
Ctrl-O -> Chat
Ctrl-L -> Room list
2018-07-01 22:57:14 +03:00
Konstantinos Sideris ccc6cd8dab Mark encrypted messages with a lock icon 2018-07-01 19:40:53 +03:00
Konstantinos Sideris 95ce2ef920 Implement dekstop notifications on Windows (#290) 2018-07-01 00:23:16 +03:00
Konstantinos Sideris 5b5d35fd1f Add basic support for replies (#292) 2018-06-30 15:13:15 +03:00