Commit Graph

1057 Commits

Author SHA1 Message Date
Nicolas Werner b894ce4dcd Make blurhash provider async 2020-03-04 01:56:58 +01:00
Nicolas Werner 5ac18f1f5f Speed up blurhash code 2020-03-04 01:30:43 +01:00
Adasauce ed4bb1a576
Add support for more room events in timeline 2020-03-03 15:06:52 -04:00
DeepBlueV7.X 7da5361995
Merge pull request #133 from adasauce/member1-and-too-many-others
total + first member shows as one too many room members
2020-03-03 01:36:12 +00:00
Nicolas Werner 0fc98b2692 Experimental blurhash implementation (MXC2448) 2020-03-03 02:34:26 +01:00
Adasauce 309461dcba
total + first member shows as one too many room members
i was confused when a room with me and two friends showed as "user1" and
3 others.
2020-03-02 21:30:19 -04:00
Nicolas Werner 328a3c7ebd Fix avatar layering in room list 2020-03-03 01:23:04 +01:00
Nicolas Werner 2fd6385403 Make small sidebar sizing consistent 2020-02-28 19:56:08 +01:00
Nicolas Werner b80697b072 Fix encrypted messages being pinned to the bottom after read marker fix 2020-02-28 19:29:43 +01:00
Nicolas Werner 095b59c01f Delete unused variable 2020-02-28 09:00:26 +01:00
Nicolas Werner 9efa001bcf Fix high dpi scaling of avatars 2020-02-28 03:20:27 +01:00
Nicolas Werner b1eff0a37f Improve link theming 2020-02-27 00:34:58 +01:00
Nicolas Werner 5115339636 Wrap error label on login page
fixes #30
2020-02-25 01:51:21 +01:00
Nicolas Werner 1eb2869fa8 Fix stuck unread messages by storing state events in the db
This may increase the db size by a factor of 1000 in the worst case and
it will need some fixes, when we decide to not show some events in the
timeline, but it should work for now.
2020-02-24 01:07:25 +01:00
Nicolas Werner 62b962cb44 Improve read status handling in room list
Only consider the room as unread, if there is a message in the room and
only consider message and sticker events as messages.

fixes #65
2020-02-23 22:48:54 +01:00
Nicolas Werner e96241265e Use third_party singleapplication helper
This may still not raise the application correctly on some WMs, because
they don't allow disturbing the user with windows popping up. I don't
think we want to work around that.

fixes #84
fixes #113
2020-02-23 13:44:05 +01:00
Nicolas Werner 3ef0d9db3c Fix Registration
fixes #97
fixes #51
2020-02-23 13:44:05 +01:00
Adasauce 6e6fe0cad2
remove setStyleSheet calls directly from widget code
removed from:
 - emoji panel scrollbars
 - emoji category labels
 - splitter image handles
 - textfield setTextColor impl

small change to the category separator label for better contrast /
readability in dark mode.

removed setTextColor completely from TextField. Doesn't appear to be in
use anywhere, and focus going more toward qss themeing from qproperty
setting.
2020-02-21 15:38:19 -04:00
Nicolas Werner 55fb5532ee Fix opaque widget in community list
fixes #126
2020-02-21 02:39:28 +01:00
DeepBlueV7.X a8cdc20dd3
Merge pull request #125 from adasauce/118-dark-theme-issues
Tooltip and Combobox bugs with Breeze / Dark theme
2020-02-20 21:05:26 +01:00
Nicolas Werner 6bdc75d073 Reset user colors on theme change (in qml timeline) 2020-02-20 20:51:07 +01:00
Adasauce 8b8b844bda
Tooltip and Combobox bugs with Breeze / Dark theme
setStyleSheet was overriding default tooltip theme from the system,
causing themes like Breeze to render white text on a grey bg for
tooltips. Tooltips now render default for the system theme everywhere.

set a theme matching color on the dark theme comboboxes.

fixes #118
2020-02-20 15:51:07 -04: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
Nicolas Werner 4500bcd577 Use spacing for layouting settings 2020-02-20 18:11:49 +01:00
Adasauce 8aaf7e9e5d
Remove constant width, that was wrong.
Use Nico's suggestion to just leverage the width of the field, and leave
a comment.
2020-02-20 12:31:07 -04:00
Adasauce 105366f2b9
Clean up variable format
don't use members format camelCaseTail_
2020-02-20 11:57:16 -04:00
Adasauce f86cbbe16a
Add constexpr for the minimum formlayout width
to save on recalculation of the size and having to subtract the margins
to do the tally, then re-apply.
2020-02-20 11:50:56 -04:00
Adasauce b5aa615ef5
FormLayout cleanup
Removed empty labels in favour of a fixed height and bottom alignment.
2020-02-19 15:23:57 -04:00
Adasauce 53138d7f5c
Clean up placeholder string
use QString instead of std::string (QStringLiteral doesn't have a
constructor with int, str.)

remove temp variable, and just deal with it inline.
2020-02-19 15:00:49 -04:00
Adasauce 21b207d1f0
Review changes to UserSettingsPage
- Switch to {} widget initialization
 - set fixed size on the Toggles so they don't scale down vertically
 - add another setting section for INTERFACE
 - add a placeholder value for deviceFingerprintValue_ so it can calculate the right size.
 - fix warnings about `QLayout: Attempting to add QLayout "" to UserSettingsPage "",` in boxWrap
 - hide widgets properly in Q_OS_MAC
 - remove mainLayout_ completely
 - clean up resizeEvent
2020-02-18 17:16:07 -04:00
Adasauce 111e4504ac
Replace QHBoxLayout with QFormLayout in UserSettings
This allows form fields to wrap dynamically when they are too long for
the view. This should help mobile and small screen users to configure
the app without having to force it into portrait mode, or not be able to
reach the settings fields at all.
2020-02-18 11:08:19 -04: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
Nicolas Werner 70f4a89d10 Quick hack to enable touch scrolling in settings and room list 2020-02-15 03:48:23 +01:00
Nicolas Werner ef5edbb3ea Lower general settings margins, if the window is narrow 2020-02-15 03:48:23 +01:00
DeepBlueV7.X f70923f374
Merge pull request #117 from adasauce/file-download-path
use the standard system download path for file downloads
2020-02-15 03:28:22 +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
DeepBlueV7.X c062746c83
Merge pull request #116 from sorairolake/feature/japanese-translation
Add Japanese translation
2020-02-14 12:13:57 +01:00
Shun Sakai 2ceaead7fc Change the initial of the proper noun to uppercase
markdown -> Markdown
2020-02-14 13:02:44 +09: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
Adasauce 95c2525218
Remove move() in ImageOverlay
it was causing the full screen image overlay to appear on the "primary
display" vs. the actual display nheko is running on.

removing the move() call makes the overlay follow the window.
2020-02-12 20:50:52 -04:00
Nicolas Werner c5af3543e6 fix c++11 range-loop might detach Qt container 2020-02-07 02:56:03 +01:00
Nicolas Werner d113733ce0 Don't leak the full file path when sending file 2020-02-06 22:25:03 +01:00
Nicolas Werner 1b039d0b16 Fix bug in html tag escaping 2020-02-06 22:04:55 +01:00
Nicolas Werner 46a77a8c11 Fix linter issue 2020-02-05 22:43:33 +01:00
DeepBlueV7.X 275d4dfed9
Fix integer overflow of cachesize on windows 2020-02-05 15:35:04 +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 2b531227a8 modernize: use override 2020-02-04 15:18:26 +01:00
Nicolas Werner 7dab4d39ee modernize: raw string literals 2020-02-04 05:19:55 +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 aae8612482 use room rules for mentions 2020-02-02 18:55:07 +01:00
Nicolas Werner 96e3a7735d Fix <displaynames> 2020-02-02 15:15:00 +01:00
Nicolas Werner 4612266a67 Add muting 2020-02-02 13:51:07 +01:00
DeepBlueV7.X 32375518de
Merge pull request #112 from Nheko-Reborn/sharp-logo
Update the logo to not be so asymmetric and add a scalable svg. I hope I fixed all the scaling issues, where the logo isn't pixel aligned in most resolutions. Also fixes an issue, where the blue bar seemed to be misaligned in some resolutions?
2020-02-02 00:10:18 +00:00
Joseph Donofry 5570250eed
more emojis 2020-02-01 15:30:10 -05:00
Nicolas Werner 657f48b139 Remove wildcard mtx.hpp includes 2020-01-31 17:12:20 +01:00
Nicolas Werner bd3b6aefb4 Remove even more headers 2020-01-31 16:36:58 +01:00
Nicolas Werner 63f3071445 Remove more unneeded headers 2020-01-31 16:25:43 +01:00
Nicolas Werner 127fb9370b Remove metatypes from headers 2020-01-31 16:08:30 +01:00
Nicolas Werner 4cd260bfcf Optimize includes a bit 2020-01-31 15:11:21 +01:00
Nicolas Werner 995568814b Use cleaned up logo 2020-01-31 03:40:27 +01:00
Nicolas Werner 558fd10f7b Add next/prev room shortcuts 2020-01-31 01:39:51 +01:00
Nicolas Werner b541cecd2e Enable ban and kick button in UserProfile (and try to fix centering) 2020-01-30 03:45:27 +01:00
Nicolas Werner a07e699811 Fix build with build system optimizations of mtxclient 2020-01-29 23:39:05 +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
Nicolas Werner b0ff1baa1d Add command for invite,kick,ban and unban 2020-01-29 00:30:53 +01: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 96ad385331 Fix misc ci errors 2020-01-26 16:38:31 +01:00
Nicolas Werner d10276253f Fix include of lmdb++ with hunter 2020-01-26 16:38:31 +01:00
Nicolas Werner 73cf7b239b Update emoji to unicode 13.0 2020-01-24 04:18:14 +01:00
Nicolas Werner 8fcb670bde Remove translations from reply fallback 2020-01-24 01:10:40 +01:00
Nicolas Werner 453d6f5f64 Surpress qt binding warning message until we can depend on qt5.14 2020-01-23 23:59:46 +01:00
Joseph Donofry 74e2b0725d
Minor tweak to one instance of QSettings not necessarily using the same settings as everything else 2020-01-23 17:07:24 -05: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 c758cead9e Remove loggin of encrypted message body 2020-01-23 20:45:23 +01:00
Nicolas Werner 86960e67ec Implement display of membership events 2020-01-23 20:34:04 +01:00
Nicolas Werner 569c22b755 Fix blurry avatars
They accidentally used the same state key...
2020-01-23 13:54:40 +01:00
Nicolas Werner 1943d1c74d Increase emoji range 2020-01-21 22:36:55 +01:00
Nicolas Werner 6aedd135a9 Remove useless logging 2020-01-21 22:12:59 +01:00
Nicolas Werner aa7ac71cfe Fix room avatars in settings 2020-01-21 21:33:35 +01:00
Nicolas Werner c95f4d8276 Fix colors in typing display, when username contains emoji 2020-01-21 20:41:09 +01:00
Nicolas Werner 79e4e2e6e1 Improve emoji escaping 2020-01-21 04:18:17 +01:00
Nicolas Werner dc44ac50a3 Linkify links before sending 2020-01-21 03:36:26 +01:00
Nicolas Werner f5b8c9bb31 Remove use of deprecated enum 2020-01-19 19:07:04 +01:00
DeepBlueV7.X 0d6a65af07 Try to lower map size
Maybe this fixes the 1mb map size in my windows test environment?
2020-01-17 01:25:43 +01:00
Nicolas Werner fe912240bc Move typing display to qml 2020-01-17 01:25:14 +01:00
Nicolas Werner 8c5e4db42c Remove embedded fonts 2020-01-16 20:37:07 +01:00
Nicolas Werner 719f1571b9 Don't require Qt5.12 just for QByteArray::compare 2020-01-16 20:36:44 +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 cdb11b1819 Reduce avatar cache size 2020-01-14 17:48:01 +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 3bbd034781 Fix transitive dependencies on iostream 2019-12-23 05:22:03 +01:00
Nicolas Werner ceb6f85ccb Actually include header that provides std::signal instead of signal 2019-12-15 03:51:33 +01:00
Nicolas Werner 79f967da8c Reduce Cache.h includes further via one forward declaration 2019-12-15 03:34: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 7d6a015f36 Add qml debugging option 2019-12-14 23:48:28 +01:00
Nicolas Werner 935727864a Increase max cache size and remove const from lmdb constants
fixes compilation issues with last released lmdb++
2019-12-14 23:41:54 +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 932dbf38fe Fix position of invite button and elide long button texts 2019-12-13 21:05:28 +01:00
Nicolas Werner ba25771c08 Make invites always stick to the top
This also removes an ugly hack, that was needed before.
2019-12-13 20:49:27 +01:00
Nicolas Werner 9c1912ed93 Fix preview of sent encrypted images 2019-12-13 01:31:14 +01:00
Nicolas Werner 31b00c445b Send encrypted files as generic mimetype and actually set url 2019-12-12 23:17:17 +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 2bfb885b47 optionally use QQuickWidget and replace ColorOverlay -> colorImageProvider 2019-11-23 20:06:15 +01:00
Nicolas Werner 1268e9f11c Make replies format nicer
Also lays a bit of groundwork for better reply rendering
2019-11-23 20:06:15 +01:00
Nicolas Werner 88dc72df4f Enable link handling 2019-11-23 20:06:15 +01:00
Nicolas Werner 993926e189 Make user clickable and improve button cursor look 2019-11-23 20:06:15 +01:00
Nicolas Werner 4f7a45a0a6 Improve avatar look and layouting
Thanks to red_sky for the feedback!
2019-11-23 20:06:15 +01:00
Nicolas Werner bde71a6cbc fixup bad room list translation commit 2019-11-23 20:06:15 +01:00
Nicolas Werner 2c37beba8d Fix translation of roomlist message preview
This also makes long messages unreadable, because we don't shorten long
usernames anymore. We may eventually want to do that again, but it is
hard with translations and we probably want to shorten the displayname
more, as before this change the message was only ever as long as the
timestamp, which is usually just 5 characters...
2019-11-23 20:06:15 +01:00
Nicolas Werner 6b6085b270 Actually fix updating roomlist on new messages 2019-11-23 20:06:15 +01:00