Commit graph

327 commits

Author SHA1 Message Date
Nicolas Werner
d8ead9573b
Reduce allocations using QStringLiteral 2021-12-29 04:52:52 +01:00
Nicolas Werner
a3c4ebc460
use more literals 2021-12-29 00:36:43 +01:00
Nicolas Werner
bb290f9fec
Fix more warnings and remove dead code 2021-12-28 22:30:12 +01:00
Nicolas Werner
409ff22d80
Remove unused button class 2021-12-28 20:14:42 +01:00
Nicolas Werner
5ca98829f7
Some qt6 prep 2021-12-28 20:09:08 +01:00
Nicolas Werner
a13f492e7d
Make clang-format <13 and clang-format >=13 behave the same
I think old clang-format is just buggy in those cases, so we should
reenable those blocks, once everyone has 13 or up.
2021-11-22 00:33:43 +01:00
Nicolas Werner
61d2d1c665
Support exif rotation on received videos
fixes #674
2021-11-15 03:36:30 +01:00
Nicolas Werner
b0530089ab
Fix some colors switched to yellow by accident 2021-11-13 03:21:42 +01:00
Joseph Donofry
c93a7b2435
Merge remote-tracking branch 'nheko-im/master' into video_player_enhancements 2021-11-08 18:32:19 -05:00
Nicolas Werner
ff560a09f5
Improve fetching of device keys after login 2021-11-08 17:01:22 +01:00
Joseph Donofry
4bd0ec8939
Fix syntax issue 2021-11-03 23:54:51 -04:00
Joseph Donofry
8e433a7ed2
PlayableMediaMessage fixes on macOS 2021-11-03 23:06:32 -04:00
Nicolas Werner
211fd9d76c
Fix registration on matrix.org
This was a bit of a journey:
https://github.com/matrix-org/matrix-doc/pull/3471
But it should work now and we now use the UIAHandler everywhere.

fixes #670
2021-11-03 18:39:51 +01:00
Nicolas Werner
2aabe9dcac
Prompt user when there are unverified devices 2021-11-01 22:20:15 +01:00
Thulinma
662cb573e1 Allow changing device names, display last seen time and IP 2021-10-20 18:31:57 +02:00
Nicolas Werner
147dc9d4da
Use allow list for URI schemes 2021-10-17 17:18:14 +02:00
Nicolas Werner
a5030bdd4d
move device verification management to its own file 2021-10-17 17:18:14 +02:00
Nicolas Werner
550c80525a
Move voip and encryption stuff into their own directories 2021-10-17 17:18:14 +02:00
Thulinma
649c5ff86d Add support for listing devices that do not support encryption, add support for logging out devices.
Ticks off another box in #23!
2021-10-17 00:00:14 +02:00
DeepBlueV7.X
088765b427
Merge pull request #741 from LorenDB/qmlJoinRoomDlg
QML the join room dialog
2021-10-11 19:53:17 +00:00
DeepBlueV7.X
281d764aa3
Merge pull request #755 from Nheko-Reborn/bootstrapping
Support bootstrapping crosssigning
2021-10-09 23:35:09 +00:00
Loren Burkholder
e9ed12e27b QML the join room dialog 2021-10-09 17:14:33 -04:00
DeepBlueV7.X
7eb9071b50
Merge pull request #743 from LorenDB/qmlLogout
QML the logout dialog
2021-10-09 20:57:38 +00:00
Loren Burkholder
2f7ce48666 make lint 2021-10-09 16:48:30 -04:00
Nicolas Werner
ad1e6c8298
Support bootstrapping crosssigning
Showing the bootstrap state and showing there are unverified devices is
still missing.
2021-10-09 05:01:53 +02:00
DeepBlueV7.X
569606f35b
Simplify device list refresh logic 2021-10-07 20:01:55 +02:00
Nicolas Werner
47db1e5c65
Remove duplicated verification status calculation 2021-10-07 19:55:27 +02:00
Thulinma
456a41bcdf Added support for refreshing the device list, marking current device with a checkmark instead of a lock 2021-10-06 22:52:19 +02:00
Loren Burkholder
81406171a0 QML the logout dialog 2021-10-05 20:12:24 -04:00
Nicolas Werner
cfca7157b9
Change indentation to 4 spaces 2021-09-18 00:45:50 +02:00
Thulinma
1d5bf56cf9 Improvements for linking to events
- Fixes scrolling to an event not being reliable
- Adds new /goto command that can open URLs, go to events, or go to message indexes.
- Refactored ChatPage::handleMatrixUri() to contain the handling originally in Nheko::openLink(), and makes it return a boolean based on whether the URL was handled internally or not.
2021-09-16 02:17:07 +02:00
Loren Burkholder
1ac4f3a97b Remove unused struct 2021-09-11 19:35:31 -04:00
Loren Burkholder
d2e193ff78 Add jdenticon support 2021-09-11 19:35:31 -04:00
Thulinma
a39cb537ae More profile improvements:
- Now scrolls entire profile instead of only device list, improving the experience on smaller screens
- Fixed centering of room name
- Allow profile to be sized smaller to match the new scrolling behavior
- Silenced warning about room being null for global profiles
- Matrix URLs now open global profiles instead of room-specific profiles if the user is not in the currently opened room
- Opening global profile from room specific profile now uses openGlobalUserProfile function instead of reinventing the wheel
2021-09-08 01:26:05 +02:00
Thulinma
e7564396fb Improvements to user profiles:
- Set a minimum width on the profile window (avatar size + margins)
- Made avatar editing a separate button, so you can zoom in on your own avatars
- Added hover text to avatar/displayname change buttons, which clarify where they will apply for global/room-specific profiles
- Added display of room name for room-specific profiles, with hover text that explains what that means.
- Added way to open global profile for users from their room-specific profiles (globe button next to room name)
2021-09-05 19:05:43 +02:00
Nicolas Werner
fc7df50d9a
Fix another leak when creating an animated image without an image 2021-08-29 19:24:14 +02:00
Nicolas Werner
7645ab1736
Fix memory leak of animated image textures 2021-08-29 18:38:11 +02:00
Nicolas Werner
15bf643347
Add option to only play animated images on hover 2021-08-29 16:32:28 +02:00
Nicolas Werner
ef068ac2b3
Support animated images
fixes #461
2021-08-29 16:32:28 +02:00
Nicolas Werner
09c041c8ac
Use in memory media player instead of storing unencrypted files on disk 2021-08-29 16:32:22 +02:00
Nicolas Werner
5b460861b1
Allow accepting knocks in the timeline
As well as selecting more join rules.
2021-08-17 23:31:25 +02:00
Nicolas Werner
87e81498b7
Fix window placement on wayland and add close buttons
We explicitly set a parent. We can't assign to
ApplicationWindow.transientParent though, only to
Window.transientParent, so we just call setTransientParent in C++.
2021-08-04 02:27:50 +02:00
Loren Burkholder
dab1c9068a QML the raw message dialog 2021-07-31 12:11:15 -04:00
Loren Burkholder
8a329d6517 Remove Avatar class
RIP
2021-07-29 21:07:52 -04:00
Nicolas Werner
e8e48305c8
Remove version checks for unsupported Qt versions 2021-07-26 18:59:20 +02:00
Joe
fb3c443ce0 Remove additional key requests preference code 2021-07-24 18:27:59 -04:00
Joe
3f567a8da7 Merge master and fix conflicts 2021-07-24 18:26:25 -04:00
Nicolas Werner
eafbab6ae1
Add menu to enable or disable stickers globally 2021-07-23 17:43:17 +02:00
Joseph Donofry
19f2c02eda
Remove 'respond to key requests' functionality 2021-07-15 18:08:59 -04:00
Nicolas Werner
00f251753e
Use coeurl for networking
Something is still wrong on shutdown, need to debug that.
And CI will fail.
2021-06-30 02:43:36 +02:00
Nicolas Werner
6a807894b4
Increase contrast of dark theme secondary colors slightly 2021-06-25 11:35:26 +02:00
Nicolas Werner
e6878ee298
Don't read avatarUrl from local profile, if no global avatar is set 2021-06-12 16:05:45 +02:00
Nicolas Werner
53fcf7f428
Port remaining sidebar actions to qml 2021-05-30 12:41:44 +02:00
Nicolas Werner
298822baea
Move currentRoom/timeline handling to roomlist 2021-05-28 22:14:59 +02:00
Nicolas Werner
c290b0747f
Reenable invites 2021-05-24 14:04:07 +02:00
Nicolas Werner
6112badb08
Reenable userInfo settings menu 2021-05-22 15:19:44 +02:00
Nicolas Werner
f2bc184550
Fix device list not showing up and UserProfile blocking the window 2021-05-22 14:31:38 +02:00
Nicolas Werner
cd67046f60
Make roomlist look nice 2021-05-21 21:19:03 +02:00
Nicolas Werner
567fe81ad7
Basic header and footer of room list 2021-05-15 13:05:55 +02:00
Nicolas Werner
39a43ad4ab
Reorganize TimelineView to prepare porting the room list 2021-05-14 15:23:40 +02:00
Nicolas Werner
5658be5215
Move global avatarSize property 2021-05-13 11:32:28 +02:00
Nicolas Werner
22afa122c4
Move openLink to Nheko globals 2021-05-13 08:53:56 +02:00
Nicolas Werner
a7f8b23b52
Make palette global in Qml 2021-05-13 08:23:56 +02:00
Nicolas Werner
0d0709ccd3
Show verification status next to messages 2021-05-07 17:01:57 +02:00
Nicolas Werner
ab0baf5d9e
Only show actions, when you have permissions to do them 2021-05-02 18:06:56 +02:00
Nicolas Werner
d6109b95fb
Escape html in topics and show line breaks in the settings 2021-04-19 11:20:52 +02:00
Nicolas Werner
9b8e6c7f5c
Remove some more allocations 2021-03-14 15:34:18 +01:00
Nicolas Werner
02e459b4e6
Fix unused variable 2021-03-05 15:27:46 +01:00
Nicolas Werner
1be42045ee
fix linting 2021-03-05 15:26:07 +01:00
Nicolas Werner
626d8bf151
Remove tweeny 2021-03-05 14:04:30 +01:00
DeepBlueV7.X
56c44d0454
Merge pull request #505 from Nheko-Reborn/license-headers
License headers
2021-03-05 01:04:36 +00:00
Joseph Donofry
4b12b53133
Fix linting 2021-03-04 19:11:08 -05:00
Nicolas Werner
a6f0d2ea7d
Update license headers 2021-03-05 01:04:07 +01:00
Joseph Donofry
87bf761dc2
Properly format matrix errors in spdlog statements 2021-03-04 18:56:25 -05:00
Nicolas Werner
af9b66dd3e Linkify topic in room settings and use non-deprecated MessageDialog 2021-02-22 21:37:32 +01:00
Jedi18
b5e351ab02 Replace rowlayouts with gridlayout and fix room settings initializer list 2021-02-14 11:26:10 +05:30
Akhil Nair
8400540428
Merge branch 'master' into room_settings_qml 2021-02-14 00:04:27 -05:00
Nicolas Werner
d43607d01c Fix hover handling in the timeline 2021-02-14 01:28:28 +01:00
Jedi18
1a406f79e6 replaced with togglebutton using qtquickcontrols2 2021-02-13 23:59:42 +05:30
Jedi18
f3596aed55 added room topic 2021-02-13 19:08:52 +05:30
Jedi18
35aa0126ac added changing of name through edit modal, removed old roomsettings 2021-02-12 12:48:12 +05:30
Jedi18
f044e2d2a1 fix avatar update on timeline sync 2021-02-11 23:50:45 +05:30
Jedi18
a7d7d18e92 shifted room avatar changing 2021-02-11 23:39:11 +05:30
Jedi18
473b14ed0f added roomversion, roomid etc 2021-02-11 21:23:33 +05:30
Jedi18
7401bd13b2 added notifications and encryption for the new roomsettings 2021-02-11 19:54:09 +05:30
Jedi18
b70f37194f ui almost looks the same, midway between transition from old room settings to new room settings 2021-02-10 21:22:42 +05:30
Nicolas Werner
8d95532b28 Fix linting 2021-02-09 17:00:06 +01:00
Nicolas Werner
0285bf5e4e Remove unused variables 2021-02-09 16:31:33 +01:00
DeepBlueV7.X
a7150b5666
Merge branch 'master' into avatar_username_feature 2021-02-03 03:17:28 +01:00
Nicolas Werner
935abee62e Fix unused capture warning 2021-02-02 12:57:21 -05:00
Jedi18
2ff3c0c97e fixed global avatar updation in the dialog 2021-02-02 17:46:02 +05:30
Jedi18
cd3f719e43 add loading indicator 2021-02-02 17:24:08 +05:30
Jedi18
d535cc5e75 add error message and update avatars on avatar change in timeline and user profile dialog 2021-02-02 13:30:47 +05:30
Jedi18
c3e02240bf update room and global avatar through user profile 2021-02-01 22:13:04 +05:30
Jedi18
e09e587796 shifted isUsernameEditingAllowed to qml from c++ 2021-01-29 12:06:38 +05:30
Jedi18
9b5a287d14 made requeste changes 2021-01-29 11:55:24 +05:30
Jedi18
195bb0499b fix linting 2 2021-01-29 00:15:40 +05:30
Jedi18
fa7ad4f234 Shifted fetching of global username fom timeline model to user profile 2021-01-29 00:09:11 +05:30
Jedi18
3b82b2ff97 fix linting 2021-01-28 23:53:56 +05:30
Jedi18
b3f29f592b Changed edit method from double clicking to an edit button 2021-01-28 23:35:02 +05:30
Jedi18
87490c29cd Username can be edited by double clicking on text, added global user profile menu action in user info widget 2021-01-28 20:03:50 +05:30
Jedi18
5e3f513655 update room specific username from userprofile 2021-01-27 11:03:08 +05:30
Nicolas Werner
31881e14d9 Make it easier to understand, what button to click for verification from profile 2021-01-12 15:00:59 +01:00
Nicolas Werner
39f9b7d90a Handle matrix scheme
Link opening only works on Linux for now.

See https://github.com/matrix-org/matrix-doc/pull/2312
2021-01-10 22:41:56 +01:00
Kirillpt
68b2f6cb4f
Improve Register page (#346)
* add username error label, add word wrapping for error labels

* make lint

* last commits

* remove font, and remove some lambdas

* add QRegularExpression for regex

* improve review things

* add isModified() for checkFields()

* add check isModified() for  all fields in checkFields

* Update src/RegisterPage.cpp

Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>

* remove emit call for showError

Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2020-11-30 22:30:33 +00:00
kirillpt
5a3905b337 change Toggle behavior 2020-11-26 23:45:44 +03:00
kirillpt
f0eb4bfe1e fix validation feature in TextInput, it was trouble in password field in the login page 2020-11-26 22:04:24 +03:00
DeepBlueV7.X
140d927463
Merge pull request #339 from Kirillpt/issue_331
fix #331
2020-11-25 22:18:28 +01:00
DeepBlueV7.X
54d75466c7
Merge pull request #335 from Nheko-Reborn/qml-text-input
Qml text input
2020-11-25 21:59:23 +01:00
Nicolas Werner
c74077a41f Implement Qml drag and drop 2020-11-25 19:05:12 +01:00
kirillpt
46605d86f2 maybe fix toggle work in code 2020-11-25 18:57:54 +03:00
DeepBlueV7.X
ebe0cd79d7
Update src/ui/TextField.cpp 2020-11-25 00:10:13 +01:00
kirillpt
ac73f10eba move error_matrixid label below matrixid input, made hide/show for the label, made red underline for invalid input, add to TextField class isValid() setValid() for custom validation 2020-11-23 23:33:53 +03:00
Mayeul Cantan
5f086cd93d Simplify PainterHighQualityEnabler code
There is no need to iterate over a list, flags can be applied and stored
simultaneously.
2020-11-07 13:54:06 +01:00
Mayeul Cantan
6219604ff8 Smooth avatars in widgets 2020-11-07 13:53:01 +01:00
Nicolas Werner
12fff7408e Optimize build 2020-10-27 17:45:28 +01:00
Nicolas Werner
7b6fab3373 Calculate verification status from cross-signing sigs and update dynamically 2020-10-08 00:20:12 +02:00
Nicolas Werner
bca29a4227 Make steps in verification flow explicit 2020-10-05 22:12:10 +02:00
Nicolas Werner
94690ebd4c Clean up verification and key cache a bit 2020-10-02 01:14:42 +02:00
Chethan2k1
e8eeb480d5 Fix Wrong Emojis Issue in Room Verification 2020-09-04 12:02:24 +05:30
Nicolas Werner
10f09d4f43 Fix catch by value warning 2020-09-03 09:37:16 +05:30
CH Chethan Reddy
0d1dd29b19 Small Fixes 2020-08-29 13:37:51 +05:30
CH Chethan Reddy
19cfd08a55 Verify signatures and find trusted devices 2020-08-25 15:41:27 +05:30
CH Chethan Reddy
1d299951b6 Cache Fix 2020-08-24 13:58:00 +05:30
CH Chethan Reddy
8a4bd37fea [WIP] Room Verification Works! 2020-08-18 11:29:02 +05:30
CH Chethan Reddy
2e20049b36 [WIP] Room-Verification Messages 2020-08-09 08:35:15 +05:30
CH Chethan Reddy
1fcd768f88 Adding Room Key Verification Stuff 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
a2979c2df1 Updating keys of outdated encrypted users 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
ac1fbbb69f Some issue with 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
CH Chethan Reddy
00e36b6068 Add some Userprofile buttons 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
Chethan2k1
a54a973ad6 Adding DeviceList for userprofile 2020-07-30 22:10:27 +05:30
CH Chethan Reddy
64f204d984 Rewrite UserProfile in qml 2020-07-30 22:10:27 +05:30
Felix Yan
751c0526d7
Correct a typo in SnackBar.cpp 2020-06-22 20:29:47 +08:00
Nicolas Werner
43d2ebc095 Fix Qt5.15 issues
fixes #214
2020-06-05 23:34:00 +02:00
Nicolas Werner
813790e603 Improve Login and Register page hinting 2020-05-09 23:33:03 +02:00
Nicolas Werner
27350cf51e Fix high CPU usage on high dpi screens
Fixes #180
2020-04-29 20:23:00 +02:00
Nicolas Werner
b25e481418 Clean up unused avatar functions 2020-03-22 18:03:08 +01:00
Nicolas Werner
328a3c7ebd Fix avatar layering in room list 2020-03-03 01:23:04 +01:00
Nicolas Werner
9efa001bcf Fix high dpi scaling of avatars 2020-02-28 03:20:27 +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
2b531227a8 modernize: use override 2020-02-04 15:18:26 +01:00
Nicolas Werner
7ccc120f63 modernize: use nullptr 2020-02-04 04:58:43 +01:00
Nicolas Werner
63f3071445 Remove more unneeded headers 2020-01-31 16:25:43 +01:00
Nicolas Werner
4cd260bfcf Optimize includes a bit 2020-01-31 15:11:21 +01:00
Nicolas Werner
96ad385331 Fix misc ci errors 2020-01-26 16:38:31 +01:00
Nicolas Werner
f5b8c9bb31 Remove use of deprecated enum 2020-01-19 19:07:04 +01:00