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