Commit graph

1104 commits

Author SHA1 Message Date
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
Nicolas Werner
15badebc77 Show own messages in RoomList 2019-11-23 20:06:15 +01:00
Nicolas Werner
b1f1cb2b56 Redirect qt logger 2019-11-23 20:06:15 +01:00
Nicolas Werner
0d8bf6c676 lint 2019-11-23 20:06:15 +01:00
Nicolas Werner
3d6f502bcc Incubate delegates asynchronously 2019-11-23 20:06:15 +01:00
Nicolas Werner
c8f97216fa Small fixes to delegate chooser implementation 2019-11-23 20:06:15 +01:00
Nicolas Werner
c37495fae2 Use a basic implementation of a DelegateChooser for compat with older Qt
The interface is taken from Qt/KDE, but the implementation is different,
because the Qt implementation depends on some Qt internals.
2019-11-23 20:06:15 +01:00
Nicolas Werner
cff46d97a8 Add native themeing to QML (where possible) 2019-11-23 20:06:15 +01:00
Nicolas Werner
a83ae7e95f Fix section layout issues and pagination issues
Pagination could get stuck, if the messages request failed.
Section height seemes to have been calculated to late, which would make
some section overlap the next message in some cases. Fix that by doing
the height calculation manually.
2019-11-23 20:06:15 +01:00
Nicolas Werner
0fd2199112 Load content if no scrollbar is needed 2019-11-23 20:06:15 +01:00
Nicolas Werner
8ebef4eed2 Size images/videos by timeline width 2019-11-23 20:06:15 +01:00
Nicolas Werner
ec6953d0c0 Fix linting issues 2019-11-23 20:06:15 +01:00
Nicolas Werner
241c0236fc Try to fix windows Winsock.h compilation error 2019-11-23 20:06:15 +01:00
Nicolas Werner
425d534e22 Enable Sticker and Emote messages 2019-11-23 20:06:15 +01:00
Nicolas Werner
ea98d7b2ae Add simple audio message widget 2019-11-23 20:06:15 +01:00
Nicolas Werner
a8166462ad File messages (qml) 2019-11-23 20:06:15 +01:00
Nicolas Werner
ea12c9f9bc Add basic read_event support (qml) 2019-11-23 20:06:15 +01:00
Nicolas Werner
1dd1a19b06 Update roomlist on new messages 2019-11-23 20:06:15 +01:00
Nicolas Werner
aee29c6ed5 Reenable redactions 2019-11-23 20:06:15 +01:00
Nicolas Werner
0d3c9390c6 Rename initialize to sync, since it does the same thing 2019-11-23 20:06:15 +01:00
Nicolas Werner
e2d733a01a Restore saving of media 2019-11-23 20:06:14 +01:00
Nicolas Werner
9b18440b4f Reenable ImageOverlay 2019-11-23 20:06:14 +01:00
Nicolas Werner
82091999c4 Add lock to encrypted messages 2019-11-23 20:06:14 +01:00
Nicolas Werner
a5ccd00be0 Remove noisy decrypted message 2019-11-23 20:06:14 +01:00
Nicolas Werner
bb60976e7e Reenable encrypted messages 2019-11-23 20:06:14 +01:00
Nicolas Werner
6c7e6b0e86 Fix read indicator 2019-11-23 20:06:14 +01:00
Nicolas Werner
d34067a257 Enable read receipts action and sync read receipts from cache 2019-11-23 20:06:14 +01:00
Nicolas Werner
240b3a566b Add send/received indicator 2019-11-23 20:06:14 +01:00
Nicolas Werner
d1fffd6617 Implement simple scroll state handling 2019-11-23 20:06:14 +01:00
Nicolas Werner
691c854201 Try to fix CI, no match for QString::arg(QStringRef) 2019-11-23 20:06:14 +01:00
Nicolas Werner
62d0cd74da Implement replies in qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner
5c87d6faa6 Implement sending other message types in qml timeline
not using placeholders in timeline for now
2019-11-23 20:06:14 +01:00
Nicolas Werner
a7595eab5a Reimplement sending basic text messages 2019-11-23 20:06:14 +01:00
Nicolas Werner
a1c97fc8d6 Show redactions in qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner
4efac5a247 Try to fix duplicate messages in certain edge cases (i.e. sync and pagination at the same time) 2019-11-23 20:06:14 +01:00
Nicolas Werner
f260b8b4ae Fix shadow error 2019-11-23 20:06:14 +01:00
Nicolas Werner
e20501cec7 Reenable display of encrypted messages 2019-11-23 20:06:14 +01:00
Nicolas Werner
7aca8a9430 Reenable view raw message 2019-11-23 20:06:14 +01:00
Nicolas Werner
86f4119a05 Implement basic ImageMessages in qml timeline
I suck at sizing so the images in the message are currently hardcoded to
300 pixels in width...
2019-11-23 20:06:14 +01:00
Nicolas Werner
ebeb1eb772 Implement avatars in qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner
aae295cb02 Fix new messages not arriving in qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner
8727831de7 Fix QML emojis 2019-11-23 20:06:14 +01:00
Nicolas Werner
bbbd5df75f Use system colors for now 2019-11-23 20:06:14 +01:00
Nicolas Werner
c4ba832331 Fix misc CI issues 2019-11-23 20:06:14 +01:00
Nicolas Werner
c1ee22a53e Fix shadow warning 2019-11-23 20:06:14 +01:00
Nicolas Werner
34f5400e99 Implement TextMessage delegate
Text selection over multiple items doesn't work yet
2019-11-23 20:06:14 +01:00
Nicolas Werner
56e27ced25 Format date (close to) the old way in qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner
ccedbde38b Add avatar placeholder and scrollbar to qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner
2dd636456c Add basic sections and button placeholders to qml timeline 2019-11-23 20:06:14 +01:00
Nicolas Werner
699fd7b38e Implement loading of history, when timeline is displayed 2019-11-23 20:06:14 +01:00
Nicolas Werner
47fbfd3f44 Add items to timline 2019-11-23 20:06:14 +01:00
Nicolas Werner
8b5c7b2f2f Add placeholder timeline model 2019-11-23 20:06:14 +01:00
Nicolas Werner
8e611abe87 Replace timeline with empty qml view 2019-11-23 20:06:14 +01:00
rnhmjoj
1659176c0d
escape html before parsing commonmark 2019-09-25 01:18:01 +02:00
Aidan Hahn
34ac2c4f75
re-re-linted 2019-09-03 21:23:54 -07:00
Aidan Hahn
4a223ef508
relinted 2019-09-03 19:59:08 -07:00
Aidan Hahn
5326d29e56
group similar ui options on settings page 2019-09-02 23:40:42 -07:00
Aidan Hahn
69fbaf9ae6
ran make lint to apply style guidelines 2019-09-02 23:30:59 -07:00
Aidan Hahn
3677c58a17
ReImplement UserSettings::setAvatarCircles 2019-09-01 19:54:50 -07:00
Aidan Hahn
a38f390355
Merge branch '0.7.0-dev' of https://github.com/Nheko-Reborn/nheko into 0.7.0-dev-bugfix-71 2019-09-01 16:32:09 -07:00
Aidan Hahn
ce978589b7
removed leftovers from previous refactor 2019-09-01 16:28:19 -07:00
Aidan Hahn
1e6fc6e342
fixed typoes in code, added layout metadata to new settings toggle. 2019-09-01 16:10:11 -07:00
Aidan Hahn
a1c2aed36a
Refactored Avatar and RoomInfoListItem to access rounding settings in place 2019-09-01 14:41:23 -07:00
DeepBlueV7.X
5be967fb1d
Merge pull request #86 from Nheko-Reborn/avatar-memory-usage
Try to reduce memory usage by reusing avatar pixmaps
2019-08-30 23:15:09 +00:00
Joseph Donofry
98d4f14bd1
Fix themeing issues on mentions 2019-08-29 18:01:20 -04:00
Aidan Hahn
b10d453bd5
add controll bits for avatar rounding 2019-08-28 21:36:28 -07:00
Aidan Hahn
8a47388ec6
rounding options for Avatar class 2019-08-28 18:34:04 -07:00
Aidan Hahn
26002bf0e4
added logic in avatar class to determine rounding type 2019-08-27 23:31:04 -07:00
Nicolas Werner
c5f0c3221f Fix usage of deprecated find 2019-08-28 08:21:07 +02:00
Nicolas Werner
8b5515d5c1 Remove unused variables 2019-08-26 08:51:56 +02:00
Nicolas Werner
52056a79fa Try to reduce memory usage by reusing avatar pixmaps 2019-08-26 08:51:56 +02:00
Joseph Donofry
89015b9f18
Fix SIGNAL SLOT issue on mtx types 2019-08-19 20:44:58 -04:00
Joseph Donofry
8d04236fbd
Fix build issues w/ clang 2019-08-19 18:54:17 -04:00
Joseph Donofry
bcdd97c85f
More updates to mentions functionality 2019-08-19 18:11:38 -04:00
Joseph Donofry
52a2621776
Fix issues with caching and loading of mentions.
Mentions are now loaded from the cache instead of
directly from the web request.  Mentions are also
properly saved to the cache now (instead of as empty
strings).  Still lots of tweaks left on this feature.
2019-08-12 22:09:40 -04:00
Joseph Donofry
8839cb7d68
Fix missing include in prior commit 2019-08-10 13:20:13 -04:00
Joseph Donofry
d5bb0936bf
Use 'system' theme as default if QT_QPA_PLATFORMTHEME is set
On first launch, before the user has configured any settings,
check the value of the QT_QPA_PLATFORMTHEME environment var.
If it is set, use the system theme as the default instead of the
light theme.  This fixes #72.
2019-08-10 13:14:37 -04:00
Joseph Donofry
7c7889a04d
Fix linting issues w/ the last commit 2019-08-09 23:36:45 -04:00
Joseph Donofry
3f563e1e6e
Cache User Mentions
Cache user mentions when they are retrieved from the server.
This logic currently isn't being utilized by the UI.  Additionally,
the app should use a 'since' value to only get mentions newer
than those stored in the DB, to avoid excessive web requests.

This will be implemented in a future commit.
2019-08-09 23:34:44 -04:00
Joseph Donofry
41dc420edd
Fix linting issues 2019-08-06 08:16:19 -04:00
Joseph Donofry
dbdaf35907
Cache user mentions 2019-08-05 23:00:07 -04:00
Joseph Donofry
24a6495291
Fix lambda capture issue 2019-07-29 15:37:21 -04:00
Joseph Donofry
fd2d4d6db3
Update mentions dialog
Mentions are now separated into 'this room' and 'all rooms'
tab., which allows the user to filter on the current room
if they desire.  Should add additional logic in the future
to show which room the mention was in the for the 'all rooms'
view.
2019-07-28 23:14:10 -04:00
Joseph Donofry
497774d623
Fix linting 2019-07-28 20:50:18 -04:00
Joseph Donofry
b875a8debc
Update translation context 2019-07-28 18:45:37 -04:00
Joseph Donofry
a9375add32
Address 'sent' translation issue 2019-07-28 18:40:23 -04: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
dbb8eecf29 media->file in error message, when image upload fails 2019-07-28 16:16:02 +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
f18a5dacda
Ignore badge label macos deprecations 2019-07-26 17:47:52 -04: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
Nicolas Werner
78ed78c410 Improve layout of Emoji Picker
Respect system styling
Increase size of emojis (to remove empty space)
Add hover effect (partially adresses #41)
Less hardcoding of sizes
Use emoji font (color)
2019-07-25 11:49:15 +02:00
Joseph Donofry
49ec388c1d
Merge branch '0.7.0-dev' of ssh://github.com/Nheko-Reborn/nheko into 0.7.0-dev 2019-07-21 21:58:48 -04:00
Joseph Donofry
8b2488b7ef
Update Mentions UI
Mentions are now an '@' icon in the upper right.

UI Popup is now a smaller dialog.

Still lots of work to be done here.
2019-07-21 21:58:11 -04:00
Nicolas Werner
cefe5fe719 Fix copy and pasting image from clipboard
If the QMimeData contains an image, it actually has a mime type of
application/x-qt-image. At least in some cases accessing the image/*
data returns a 0 length array. Accessing the data via ->imageData works
however. So we use that as our accessor and pass it to the preview
dialog.
2019-07-22 02:38:44 +02:00
Nicolas Werner
512db8c6ff Actually set attributes before starting the app
fixes "Attribute Qt::AA_EnableHighDpiScaling must be set before
QCoreApplication is created."
2019-07-22 00:03:12 +02:00
Joseph Donofry
d2af827194
Fix linting issues 2019-07-16 22:50:23 -04:00
Joseph Donofry
579bf23460
Add User Mentions Dialog
Add a RoomListItem-like button that opens a dialog
containing all of the messages that would result in a
highlight from the server (for example, the user is mentioned,
or @room is mentioned).

This is VERY rudimentary and will be completely reworked in the future
to take advantage of the existing TimelineView class, instead of
using a dialog like it does now. The button to show the mentions
also needs work.
2019-07-16 22:39:10 -04:00
Joseph Donofry
e5576f03d4
Fix additional Qt version issue 2019-07-05 16:31:01 -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
175737c28b
Fix some linting issues 2019-07-04 13:18:32 -04:00
Nicolas Werner
713f9dbe89 Show room version in settings 2019-07-04 01:26:16 +02:00
Nicolas Werner
94a8c358d1 Fix typo in log message 2019-06-27 23:01:07 +02:00
Nicolas Werner
aa3d4c4f15 Reconfigure server url, when requested by login response 2019-06-27 15:55:04 +02:00
Nicolas Werner
52871cf93c Support well-known for server discovery 2019-06-27 15:54:03 +02:00
Nicolas Werner
40d9b5c5fc Fix santizize=undefined warning (overflow) 2019-06-27 14:57:32 +02: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
9159b9ce22
Initial Support for Rich Replies
Add placeholder UI for showing replies in the text entry widget.
Existing quoting capability has been removed (Temporarily), as
it was replaced with the new reply capability.  Replies sent from
nheko do not currently appear correctly in the timeline (this
will be fixed in a future commit).
2019-06-11 21:04:30 -04:00
Joseph Donofry
b9dde957a8
Add initial support for rich replies to nheko 2019-06-09 19:03:18 -04:00
redsky17
bca4d7eef6
Merge in master 2019-05-27 16:40:39 -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
Nicolas Werner
c8c0b41527 Raw string literals not allowed in MOC headers on OSX 2019-05-01 13:33:34 +02:00
Nicolas Werner
23eef9e1bc Simplify linkifyMessage
Parsing html as xml has inherent problems, most notable there are many
matrix clients that don't escape ampersands in urls of mx-replies, etc.
(See issue #18)

This also removes the replacement of <mx-reply> as it isn't strictly
needed.

Also the QRegExp is replaced with the Qt5 QRegularExpression for
perfomance and because it supports lookahead and lookbehind.

I'm pretty sure that the original code also replaced href="" with
href=\"\", which was probably wrong, but I'm not to sure about that.

Fixes #18
2019-05-01 12:11:19 +02:00
redsky17
4cb27f34f2
Fix linting 2019-04-04 22:24:21 +00:00
redsky17
994f79cfbc
Update nheko to export sessions using new format
(requires mtxclient updates as well).
2019-03-27 23:13:38 +00:00
Joseph Donofry
6f13b0df0d
Merge pull request #43 from vtronko/implicitconversion_fix
Get rid of implicit conversion in text input height calculation.  Thanks @vtronko
2019-03-03 18:48:46 -05:00
Vladyslav tronko
c719e01f3d Don't let multiline text background overlap top border of text widget 2019-03-04 00:54:53 +02:00
Vladyslav Tronko
d2a28072f6 Get rid of implicit conversion in text input height calculation 2019-03-03 20:34:57 +02:00
redsky17
8a2df06f3a
Fix linting issue 2019-02-25 03:10:02 +00:00
redsky17
75fb95855d
Nlohmann build updates 2019-02-24 20:05:11 +00:00
Andrew Johnson
b5733b2737 Attempt to fix issue #19 by increasing the lmdb max_dbs setting. 2019-02-16 17:05:25 -08: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
bb345a9a9f Merge branch 'ui-enhancements'
Preparing for 0.6.3 release
2019-02-07 23:15:25 +00:00
rnhmjoj
933fd22e49
escape id when joining a room 2019-02-07 13:51:18 +01: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
faff23ed38 Fix lint issues in last commit 2019-01-26 18:11:30 +00:00
redsky17
6c31f5fe7a Add initial support for QtIndenticon
Add initial loading of qt jdenticon plugin:
https://github.com/redsky17/qt-jdenticon

Currently, the library's functionality has not been integrated
into the rest of nheko.  Next step is to add a configuration
item in the User Settings and use the plugin to generate
avatars for users without their own picture.  These avatars
should be cached in the Cache object.
2019-01-26 18:03:49 +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
4185b8d121 Add unread notification color for user mentioned
When user is mentioned (via matrix 'highlight_count'), inactive
rooms will use a different color for the notification circle than
when only general unread messages exist.
2019-01-25 02:47:15 +00:00
redsky17
d70bc94f61 Fix lambda capture error 2019-01-24 04:54:35 +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
b3f7c13e2f Update user id color generation
Update the author color generation.  Now, instead of generating
an entire hex string based on the user id, the user id instead
is used to generate a hue value.  After this hue value is created,
there is some logic to tweak first the lightness and then saturation
values to achieve a readable color (in contrast to the background).

This change makes it so that user colors will not vary as wildly
between the different themes.

The values still are not cached and still do not update
initially when the theme is changed.  Both of these things
will be resolved.
2019-01-20 00:16:31 +00:00
redsky17
98102f4f09 Fix UserSettings UI not showing saved prefs
Theme and Font Family settings will now correctly display the stored
settings when nheko is re-launched.  Previously, these combo boxes
would default to the first thing in the combo box, even if that
wasn't what the user selected.
2019-01-19 17:31:17 +00:00
redsky17
654b652db4 Add User Font Setting
User can now select a font from the installed fonts on their system

This font currently will only be applied when nheko is restarted
(similar to how font size and scaling currently work).  This will
be addressed in a future commit.  Additionally, the dropdown
does not correctly select the previously-chosen user font, and
instead defaults to the first font available on the system
(alphabetically).  This is similar to the issue with the 'Theme'
combo defaulting to 'Light' even when another theme is selected.
2019-01-19 16:20:41 +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
redsky17
55883ec2de Remove the code that removed paragraph tags from markdown -> html.
This fixes #2, but reverts mujx#438.  I do not think mujx#438 was a
valid issue, as it complained about the display of valid HTML on riot,
which speaks more to how Riot styles things than about an issue in
nheko itself.
2019-01-18 00:59:31 +00:00
redsky17
996a4c9590 Fix clang-format linting issue 2019-01-16 18:18:57 +00:00
redsky17
bcabf2fb73 Update travis ci config to point to redsky17 config and try to fix lint
errors
2019-01-13 03:48:07 +00:00
redsky17
3fceaeb203 Add hover color for timestamp.
Update dark and system themes to provide
colors for the hover states for title, subtitle, and timestamp.
2019-01-12 22:03:25 +00:00
Joe Donofry
ae91bab07d Tweak some of the colors in the CSS rules for nheko.
Add room list hover title/subtitle color change support.
2019-01-12 14:35:56 +00:00
Konstantinos Sideris
6a90ed574e Increase the height of the roomlist items 2018-10-10 22:02:59 +03:00
Konstantinos Sideris
184c8b28e9 Use a smaller font size for the timestamp 2018-10-07 16:32:46 +03:00
Konstantinos Sideris
f272d9221e Use alignment instead of stretch 2018-10-07 14:18:44 +03:00
Konstantinos Sideris
aa486a5c0c Adjustments for the minimized sidebar 2018-10-07 14:09:47 +03:00
Konstantinos Sideris
2295d681a4 Remove the bundled open sans font 2018-10-07 13:27:20 +03:00
Konstantinos Sideris
4b807229aa Remove built-in emoji picker 2018-10-07 13:13:14 +03:00
Konstantinos Sideris
c2faaa4d39 Add the correct parent to scaleCombo 2018-10-07 12:58:38 +03:00
Konstantinos Sideris
4865f852d8 Remove room re-ordering option 2018-10-06 18:43:53 +03:00
Konstantinos Sideris
3fdfc9b69f Remove Scrollbar 2018-10-06 18:39:11 +03:00
Konstantinos Sideris
675f1be777 Adjust the height of the bottom widgets 2018-10-06 18:07:02 +03:00
Konstantinos Sideris
748c5898be Adjust the font sizes of the welcome page 2018-10-06 17:41:47 +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
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