Commit graph

295 commits

Author SHA1 Message Date
Nicolas Werner
b3a7f0b888 Hide room name, if not loaded yet 2020-10-18 22:30:42 +02:00
Nicolas Werner
1a029112d9 Lint qml with qml-format 2020-10-08 21:11:21 +02:00
Nicolas Werner
99ba1f17d3 Merge remote-tracking branch 'origin/master' into cross-signing 2020-10-08 16:57:03 +02:00
Nicolas Werner
bca29a4227 Make steps in verification flow explicit 2020-10-05 22:12:10 +02:00
Nicolas Werner
d4dccc8e36 Fix room name 2020-10-02 16:58:13 +02:00
trilene
3f73853e4b Move ActiveCallBar Qml to separate file 2020-09-25 10:26:36 -04:00
Nicolas Werner
4802c34009 Merge remote-tracking branch 'origin/master' into cross-signing 2020-09-24 21:36:43 +02:00
trilene
da27670cbe Port ActiveCallBar to Qml 2020-09-22 12:07:36 -04:00
Nicolas Werner
4179be427f Fix binding loop when trying to reply 2020-09-20 08:59:35 +02:00
Jussi Kuokkanen
13658d536e make typing Rectangle extents cleaner 2020-09-18 16:18:31 +03:00
Lurkki14
8741e5f36a
Set typing Rectangle color directly instead of Connection
Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2020-09-18 14:55:48 +03:00
Jussi Kuokkanen
1f71f7227a make Rectangle to fill the gap between input widget and typing users 2020-09-17 17:52:40 +03:00
Jussi Kuokkanen
c463568031 simplify check for no typing users 2020-09-17 17:50:39 +03:00
Jussi Kuokkanen
7d72356318 Merge branch 'master' of https://github.com/Nheko-Reborn/nheko 2020-09-17 16:51:50 +03:00
Jussi Kuokkanen
e49691fe3b use Rectangle for typing users so it doesn't overlap with the timeline 2020-09-17 16:49:56 +03:00
Nicolas Werner
b05c101021 Fix null errors in qml 2020-09-16 23:49:17 +02:00
Nicolas Werner
77e241b9e5 Reenable top bar room settings menus on avatar or title clicks
Also fixes a bug with an empty room settings window introduced in the
port.
2020-09-16 23:49:17 +02:00
Nicolas Werner
640b0ee405 Port top bar to Qml
Also fixes some resize issues with stupid workarounds to our resize
logic. This really needs to be cleaned up at some point!
2020-09-16 23:49:17 +02:00
Chethan2k1
e70b4e4268 Fix wrong tran_id issue 2020-09-10 11:09:21 +05:30
CH Chethan Reddy
b174bd9380 Merge remote-tracking branch 'upstream/master' into device-verification 2020-08-30 22:27:14 +05:30
Nicolas Werner
de7ec4d2b3 Merge remote-tracking branch 'origin/master' into new-event-store
Conflicts:
	CMakeLists.txt
	io.github.NhekoReborn.Nheko.json
	src/Cache.cpp
	src/timeline/TimelineModel.cpp
	src/timeline/TimelineModel.h
	src/timeline/TimelineViewManager.cpp
2020-08-17 20:40:33 +02:00
CH Chethan Reddy
2e20049b36 [WIP] Room-Verification Messages 2020-08-09 08:35:15 +05:30
CH Chethan Reddy
3635c185e9 Add Room Verification Messages 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
1103cc15cf Adding icons to UserProfile 2020-07-30 22:10:27 +05:30
Nicolas Werner
08028d5c57 Refactor UserProfile 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
6fae36abc4 [WIP] Add Caching for users 2020-07-30 22:10:27 +05:30
Nicolas Werner
4862be06be Fix presence indicator 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
1633650303 Some more changes
- remove unnecessary field sender in userprofile.qml
    - cover user facing string with qsTr to get picked by translations
    - add spacing and fix theming issue
    - increase and add color to username
    - change back to QVector from QLinkedList cause I have mistaken
    better time complexity to give better benchmark

red
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
d49ab15656 Some Improvements
- DeviceVerificationList change to LinkedList to improve time
    complexity while deleting
    - Downgrade the flow to not use key.verification.done and
    key.verification.ready
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
67367d0004 Shared secret with decimal and emoji works! 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
41b6ef0c32 Add DeviceVerificationList to keep track of all flows and Popup on
recieving start or request
2020-07-30 22:10:27 +05:30
CH Chethan Reddy
f9c0f4dd54 Add C++ Model for DeviceList 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
64f204d984 Rewrite UserProfile in qml 2020-07-30 22:10:27 +05:30
Nicolas Werner
2088053d26 Add DeviceVerificationFlow dummy and verification test button 2020-07-30 22:10:27 +05:30
Nicolas Werner
8bf26917ad Make long press menu actually work 2020-07-26 02:06:38 +02:00
Nicolas Werner
6f557c19a1 Optimize scrolling a little bit 2020-07-25 23:10:02 +02:00
Nicolas Werner
fdcf91f5eb Fix binding loop and non integer text height 2020-07-25 22:08:02 +02:00
Nicolas Werner
19f27236ea Fix reactions 2020-07-20 00:42:48 +02:00
Lorem
e86c1cc79f Make dateBubble's text vertically aligned to vertical center 2020-07-19 12:22:47 +05:30
Nicolas Werner
530c531c4b WIP: Event Store split out 2020-07-09 23:15:22 +02:00
Nicolas Werner
fe12e63c7c Fix parent undefined warning 2020-07-08 02:02:48 +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
5e355c36fd
Fix build issue on some versions of clang 2020-06-10 22:34:14 -04:00
Joseph Donofry
0078c72a37
Remove signals in favor of direct function calls 2020-06-09 21:28:15 -04:00
Joseph Donofry
07ffd9e7e9
Fix UserSettings in QML 2020-06-09 21:05:27 -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
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
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
Joseph Donofry
f4ea0b215d
Attach emoji picker picked to reaction sender 2020-05-16 15:52:51 -04:00
Joseph Donofry
a5778bdf40
Merge remote-tracking branch 'origin/master' into reactions 2020-05-16 15:10:49 -04:00
lkito
2c21f6e3fa Implemented optional message body highlighting feature. 2020-05-16 17:15:43 +04:00
Joseph Donofry
6d2789f4d5
Merge master into reactions 2020-05-14 20:53:01 -04:00
Joseph Donofry
ff7468e6d5
Update emoji picker and translations 2020-05-13 20:19:15 -04:00
Nicolas Werner
2c3d09edbb Try to smooth scrolling a bit by increasing cacheBuffer 2020-05-13 23:55:02 +02:00
Joseph Donofry
a1661f7006
merge master into reactions 2020-05-07 20:53:24 -04:00
Nicolas Werner
e48dfd15fe Add shortcuts to select/deselect reply targets 2020-05-06 13:33:13 +02:00
Nicolas Werner
e55a09906f Misc color fixes 2020-05-05 23:43:43 +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
Nicolas Werner
2997155f56 Fix spacing of typing notifications 2020-04-30 22:02:41 +02:00
Lasath Fernando
21b33363ce Make pagination spinner inline 2020-04-29 13:52:39 -07: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
DeepBlueV7.X
19ec8d261d
Merge pull request #183 from shocklateboy92/features/smooth-scroll
Improve scrolling in timeline view
2020-04-29 22:15:53 +02:00
Nicolas Werner
3226d1787c Fix some smaller coloring issues 2020-04-29 21:41:46 +02:00
Lasath Fernando
c5d373e8f1 Address CR comments 2020-04-29 02:14:43 -07:00
Lasath Fernando
5c57de070e Remove commented out code; fix padding for Pill 2020-04-28 01:10:54 -07:00
Lasath Fernando
84c5ff0bcb Fix binding loops for height 2020-04-28 00:38:13 -07:00
Lasath Fernando
1555dc2296 Shamelessly steal ScrollHelper.qml from spectral
I mean, we're both GPL so... :P
2020-04-28 00:29:51 -07: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
dcddea6fb8 Fix reply not closing
fixes #124
2020-04-13 16:22:30 +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
Nicolas Werner
0f1a352dd7 Make buttons hideable via setting, button contents can still be accessed via context menu 2020-03-10 00:30:45 +01:00
Nicolas Werner
6bdc75d073 Reset user colors on theme change (in qml timeline) 2020-02-20 20:51:07 +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
d330020fdd Improve styling a bit 2020-02-03 19:21:03 +01:00
Nicolas Werner
2053f67626 Close popup when clicking outside 2020-02-02 00:33:55 +01:00
Nicolas Werner
5f4efa9442 Speed up timeline by using global ToolTip and Menu 2020-02-02 00:27:51 +01:00
Nicolas Werner
735086371d Make page scrolling half height 2020-01-31 00:02:15 +01:00
Nicolas Werner
9b7c1cb7f9 Add scroll page shortcut 2020-01-30 23:57:39 +01:00
Nicolas Werner
c2d436942e Add explicit size to reply close button 2020-01-30 04:01:44 +01:00
Joseph Donofry
d205952fc8
Change tooltip palette settings for QML 2020-01-28 19:20:39 -05:00
Nicolas Werner
4951241d23 Simplify reply popup logic 2020-01-28 19:08:16 +01:00
Nicolas Werner
c2e0aee193 Improve styling of reply popup 2020-01-28 17:16:49 +01:00
Nicolas Werner
3319e0ec20 Fix resize loop of images in reply popup 2020-01-28 17:08:49 +01:00
Joseph Donofry
2b8b04a04b
Add initial QML Reply Popup 2020-01-27 23:28:11 -05:00
Nicolas Werner
84ac122c48 PixelAlign timeline view 2020-01-21 22:22:25 +01:00
Nicolas Werner
fcc7c0ce5b Account for spacing when checking for bottom message for read status 2020-01-21 20:46:12 +01:00
Nicolas Werner
c95f4d8276 Fix colors in typing display, when username contains emoji 2020-01-21 20:41:09 +01:00
Nicolas Werner
fe912240bc Move typing display to qml 2020-01-17 01:25:14 +01:00
Nicolas Werner
69ce94d1bd Reduce memory usage and make room switching quicker
May make scrolling more laggy or jumpy.
2020-01-14 22:37:23 +01:00
Nicolas Werner
01bd9f659d Adapt play buttons to theme and remove accidental message bg 2020-01-06 18:29:08 +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
dee49508de Simplify scroll logic 2019-12-08 01:26:00 +01:00
Nicolas Werner
8c44c5e2d0 Change scroll behaviour of timeline
This requires Qt 5.9 (to calculate overshoot).
The default scroll behaviour of list views has far too much inertia.
This should make scrolling feel more like scrolling the other scroll
areas of nheko.
2019-12-08 00:54:28 +01:00
Nicolas Werner
05aa7f948a Try to fix binding loop warning 2019-12-07 15:00:06 +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
c424e397b0 Add loading spinner and restore message send queue 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
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
2055c75f8b Organize qml files a bit 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
d90038cf20 Misc layout fixes 2019-11-23 20:06:15 +01:00
Nicolas Werner
b9076c5c4d Try out DelegateChooser
requires Qt5.12+
2019-11-23 20:06:15 +01:00
Nicolas Werner
489165d579 Lower requirement on QtQuick.Layouts version 2019-11-23 20:06:15 +01:00
Nicolas Werner
e196450428 Use QtQuick.Controls compatible with Qt 5.8 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
67d255a2de Add basic video messages
Size is fixed for now, otherwise the Video output ends up somewhere...
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
aee29c6ed5 Reenable redactions 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
82091999c4 Add lock to encrypted messages 2019-11-23 20:06:14 +01:00
Nicolas Werner
c8315d792b Make avatar in timeline smaller 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
5200db17e9 Implement basic placeholder and disable unimplemented event types 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
62d0cd74da Implement replies in qml timeline 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
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
7947ba57cc Make reply and options buttons smaller 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
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