Nicolas Werner
f6fa494666
Make connections across threads queued in any case
2020-06-26 13:36:21 +02:00
Nicolas Werner
cded494cb5
Try to make text rendering in qml sharper
2020-06-19 19:34:03 +02:00
Joseph Donofry
7afb164244
Merge remote-tracking branch 'origin/master' into presence
2020-06-11 22:27:30 -04:00
Joseph Donofry
b9626f0c69
Additional code cleanup
2020-06-11 21:59:21 -04:00
Joseph Donofry
12c46e86b4
Fix linting
2020-06-11 00:37:54 -04:00
Joseph Donofry
5e355c36fd
Fix build issue on some versions of clang
2020-06-10 22:34:14 -04:00
Joseph Donofry
6bb73f84a3
Merge master and fix conflicts
2020-06-09 20:51:36 -04:00
Nicolas Werner
96f4169be9
Show presence and set custom status messages
2020-06-08 01:59:05 +02:00
Nicolas Werner
9eddcfc42f
Remove some redundant functions
2020-05-30 16:38:11 +02:00
Nicolas Werner
6b60ff7713
Rename settings to be more consistent
2020-05-26 22:54:51 +02:00
Nicolas Werner
f452bdf2b0
Make settings update immediately in qml and allow limiting timeline width
...
Limiting improves readability on wide monitors.
The immediate update of the settings is done by just exposing settings
as properties and then setting the settings as a context property.
2020-05-26 22:54:51 +02:00
Nicolas Werner
937b35ca8a
Fix some join messages showing as empty
2020-05-26 22:54:51 +02:00
Joseph Donofry
5228861b88
Add reaction/redaction for in-line Reactions
2020-05-21 21:21:35 -04:00
lkito
d8b89e2ef0
Added an optional feature to show bigger emoji-only messages with 3 or less emoji
2020-05-21 16:31:27 +04:00
Nicolas Werner
5abdad308d
Fix crash when reacting to messages from /sync
...
Messages on /sync don't have a room_id
2020-05-17 02:36:04 +02:00
Nicolas Werner
f0757a6426
Fix local echo for reactions
2020-05-16 22:48:43 +02:00
Joseph Donofry
6d2789f4d5
Merge master into reactions
2020-05-14 20:53:01 -04:00
Joseph Donofry
18f934efad
Add un-encrypted warning icon for messages in encrypted rooms
2020-05-14 20:35:29 -04:00
Nicolas Werner
279bcd1bf2
Show inline images
...
(This is such a hack and will probably break, but it works for now for
most cases...)
2020-05-14 00:41:10 +02:00
Joseph Donofry
ee4dcef90f
Add new QML-based emoji picker (work in progress)
...
This is necessary to support having a picker within QML.
Eventually, this should replace the existing widget-based one.
2020-05-13 00:36:41 -04:00
Joseph Donofry
8984661187
Initial support for sending reactions
2020-05-09 22:39:25 -04:00
Nicolas Werner
000ab4853a
Translation updates
2020-05-10 01:38:40 +02:00
Joseph Donofry
a1661f7006
merge master into reactions
2020-05-07 20:53:24 -04:00
DeepBlueV7.X
7beaf868ef
Merge pull request #192 from Nheko-Reborn/reactions
...
Reactions
2020-05-08 00:13:24 +02:00
Nicolas Werner
a942ae9b93
Fix messages being immediately read again
2020-05-06 19:21:31 +02:00
Nicolas Werner
0b1d3a40f4
Remove unused binding name
2020-05-06 13:45:38 +02:00
Nicolas Werner
e5a5a66716
Fix reaction redaction for real this time
2020-05-06 12:52:13 +02:00
Nicolas Werner
ff54ce9334
Fix rooms with a lot of reactions not paginating correctly
2020-05-06 11:37:40 +02:00
Nicolas Werner
e045e3eb1c
Show displayname on reactions
2020-05-06 11:28:24 +02:00
Nicolas Werner
8348a6c35d
Fix reaction count
2020-05-06 11:15:45 +02:00
Nicolas Werner
692c6119b4
Fix joined rooms dropping to the bottom at first
2020-05-05 19:08:59 +02:00
Nicolas Werner
54013e4a00
Basic, broken reaction display
2020-05-04 13:14:54 +02:00
DeepBlueV7.X
38417a374d
Merge pull request #184 from shocklateboy92/features/backlog-progress
...
Add visual indication that data is being fetched
2020-05-01 10:19:32 +02:00
Lasath Fernando
166ed0674d
Run linter
2020-04-30 22:40:27 -07:00
Nicolas Werner
e6fcccc8bd
Don't store pending receipts in cache
...
We don't get notified for every message. Sometimes we only get a read
receipt for the newest message, which means old read receipts accumulate
in the database. This least to some considerable CPU overhead, when
checking if the timeline should be notified for new read receipts.
Instead just always notify, since that has far less overhead in the
worst case and doesn't need complicated cache cleanup.
The old pending_receipts db is not removed for now. It should still have
minimal storage overhead and we don't have a good mechanism for cache
format upgrades atm.
2020-04-30 22:42:56 +02:00
Nicolas Werner
0716bbafff
Strip reply fallback from plain text body
2020-04-30 00:04:30 +02:00
Lasath Fernando
1f9d3024b1
Add visual indication that data is being fetched
...
This turns `paginationInProgress` field of `TimelineModel` into a `Q_PROPERTY`, so the Ui can bind to it.
For the moment, I'm showing the same spinner as we do during initial sync. It's not ideal, on the count of being giant and in the middle but it's better than nothing. We can make it more subtle later.
2020-04-29 13:52:39 -07:00
Joseph Donofry
5893365439
Change decrypt setting again
2020-04-23 19:21:20 -04:00
Joseph Donofry
994edb836c
Change how decrypt value is retrieved from settings
2020-04-23 19:05:44 -04:00
Nicolas Werner
b00e624fb0
Fix own messages not showing as encrypted
2020-04-23 15:28:46 +02:00
Joseph Donofry
b298f01d92
Add signal/slot for decryption changes in last patch
2020-04-22 19:52:30 -04:00
Joseph Donofry
a4c280a4f9
Add ability to toggle sidebar messages for encrypted rooms
2020-04-21 22:40:58 -04:00
Nicolas Werner
0e1bb5137b
Add menu entry to show decrypted source
...
Also make hidden entries not consume space in Menus with some qml
styles.
2020-04-21 22:32:45 +02:00
Nicolas Werner
e8271acd99
Fix own encrypted images not showing up after sending
2020-04-21 09:03:36 +02:00
Nicolas Werner
eff8af6fac
Try to fix messages getting stuck by sometimes sending them twice and never failing them
2020-04-19 15:07:23 +02:00
Nicolas Werner
a70044e67b
Cache decrypted events
2020-04-14 20:15:11 +02:00
Nicolas Werner
c739a0422d
Fix encrypted event indicator
2020-04-14 19:29:22 +02:00
Nicolas Werner
dcddea6fb8
Fix reply not closing
...
fixes #124
2020-04-13 16:22:30 +02:00
Nicolas Werner
d68b24188f
Size reply background by contents
2020-04-10 08:48:30 +02:00
Nicolas Werner
8bf25f3d80
Set palette globally
2020-03-30 21:48:28 +02:00
Nicolas Werner
d35cc3dda4
Use palette for qml code for theming
...
Can't do it for QtWidgets code. We need to fully transition, before we
can fully switch over probably.
2020-03-29 22:11:33 +02:00
Emi Simpson
a9bbea881e
Removed double-sanitization of ... is typing names
2020-03-24 18:06:19 -04:00
Adasauce
d0a1e81f43
Better image overlay handling when downloading
...
- hides the overlay when prompting for download location
- cancel re-shows the dialog
- success closes the overlay
- would be nice to have a return code from the download fn in
mtxclient.
Closes #140
2020-03-20 10:10:53 -03:00
Pushpam Choudhary
71ba8cb284
Add periods to terminate non-user messages in the timeline
2020-03-13 00:48:41 +05:30
DeepBlueV7.X
fc2f08a186
Merge pull request #137 from Nheko-Reborn/blurhash
...
Experimental Blurhash support
2020-03-05 21:07:18 +00:00
Adasauce
ed4bb1a576
Add support for more room events in timeline
2020-03-03 15:06:52 -04:00
Nicolas Werner
0fc98b2692
Experimental blurhash implementation (MXC2448)
2020-03-03 02:34:26 +01:00
Nicolas Werner
b1eff0a37f
Improve link theming
2020-02-27 00:34:58 +01:00
Nicolas Werner
6bdc75d073
Reset user colors on theme change (in qml timeline)
2020-02-20 20:51:07 +01: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
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
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
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
Nicolas Werner
c5af3543e6
fix c++11 range-loop might detach Qt container
2020-02-07 02:56:03 +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
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
96e3a7735d
Fix <displaynames>
2020-02-02 15:15:00 +01:00
Nicolas Werner
4cd260bfcf
Optimize includes a bit
2020-01-31 15:11:21 +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
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
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
86960e67ec
Implement display of membership events
2020-01-23 20:34:04 +01:00
Nicolas Werner
c95f4d8276
Fix colors in typing display, when username contains emoji
2020-01-21 20:41:09 +01:00
Nicolas Werner
dc44ac50a3
Linkify links before sending
2020-01-21 03:36:26 +01:00
Nicolas Werner
fe912240bc
Move typing display to qml
2020-01-17 01:25:14 +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
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
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
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
9c1912ed93
Fix preview of sent encrypted images
2019-12-13 01:31:14 +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
2dd636456c
Add basic sections and button placeholders to qml timeline
2019-11-23 20:06:14 +01:00
Nicolas Werner
52056a79fa
Try to reduce memory usage by reusing avatar pixmaps
2019-08-26 08:51:56 +02: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
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
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
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