Commit graph

334 commits

Author SHA1 Message Date
Rohit Sutradhar
ac48c33286
VoIP v1 implementation (#1161)
* Initial commit for VoIP v1 implementation

* Added draft of event handlers for voip methods

* Added event handlers for VoIP events, added rejectCall, added version tracking for call version for V0 and V1 compatibility

* Added call events to the general message pipeline. Modified Call Reject mechanism

* Added message delegates for new events. Modified hidden events. Updated handle events.

* Updated implementation to keep track of calls on other devices

* Fixed linting

* Fixed code warnings

* Fixed minor bugs

* fixed ci

* Added acceptNegotiation method definition when missing gstreamer

* Fixed warnings

* Fixed linting
2022-10-14 13:49:05 +00:00
Nicolas Werner
af699eb83e
Mark classes as final where possible 2022-10-10 14:38:45 +02:00
Loren Burkholder
8ecbb39dc6
cppcheck stuff (#1200)
* cppcheck stuff

* Update src/ui/RoomSettings.cpp

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

* Update src/ui/RoomSettings.cpp

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

* Fix linting

Co-authored-by: DeepBlueV7.X <nicolas.werner@hotmail.de>
2022-10-03 21:57:30 +00:00
Nicolas Werner
09babc91d2
Green is not Svg::green
fixes #1203
2022-10-01 23:57:44 +02:00
Nicolas Werner
42a23e1859
Reduce windows ci warnings 2022-10-01 19:05:44 +02:00
Nicolas Werner
944e369d50
Fix clazy 2022-10-01 16:30:20 +02:00
rnhmjoj
f5d5bea840
Add green theme color, make "error" configurable 2022-10-01 10:59:17 +02:00
Nicolas Werner
78784babd1
Revert accidental animated image change 2022-09-30 04:03:39 +02:00
Nicolas Werner
88cbac1695
Basic threading support 2022-09-30 03:27:05 +02:00
Nicolas Werner
851333a50d
Switch to clang-format14 2022-09-25 20:05:08 +02:00
Nicolas Werner
421b15c05c
Show the community of a room 2022-09-20 21:26:46 +02:00
Nicolas Werner
fc0baa86b0
Fix const iteration 2022-09-19 21:57:25 +02:00
Nicolas Werner
fe403ddc70
Rework how access rules for rooms are modified completely 2022-09-19 21:39:37 +02:00
Nicolas Werner
1d7575036e
Allow creating spaces 2022-09-05 02:00:20 +02:00
Nicolas Werner
01fd5e6b61
Unset the transient parent on separate chat windows
relates to #1168
2022-08-31 20:44:21 +02:00
Nicolas Werner
242b7d5506
Fix crash when fetching global profile 2022-08-13 16:28:41 +02:00
Nicolas Werner
f14c192231
Fix c&p error on room names in previews 2022-08-08 22:54:36 +02:00
Nicolas Werner
cd289e0587
Fix macos shadowing 2022-08-05 22:10:22 +02:00
Nicolas Werner
9d8d6b4bca
Show a room preview in the join confirmation dialog
Requires MSC3266

Fixes #1129
2022-08-05 21:57:54 +02:00
Nicolas Werner
931855441a
Allow editing aliases 2022-07-08 17:28:28 +02:00
Nicolas Werner
35ff02ce48
Remove a few more headers 2022-06-18 02:31:01 +02:00
Nicolas Werner
07228d336a
Support the knock_restricted rule 2022-06-18 00:17:24 +02:00
Nicolas Werner
ef941920ea
Fix compilation without implicit nlohmann conversions 2022-06-17 03:14:48 +02:00
Nicolas Werner
beb59d5d2e
Simplify includes a bit 2022-06-16 01:19:26 +02:00
Nicolas Werner
6c6d43691d
Add basic powerlevel editor 2022-05-27 17:01:58 +02:00
Nicolas Werner
908f62159a
Properly mark image node as dirty on size update 2022-05-11 12:28:27 +02:00
Nicolas Werner
90da39313f
Use right linter 2022-05-10 03:53:35 +02:00
Nicolas Werner
a6b2be112b
More image dialog fixes 2022-05-10 03:20:09 +02:00
Nicolas Werner
62bf1b253e
Rework focus handling 2022-05-07 18:53:16 +02:00
Nicolas Werner
e4f8d32a72
Don't crash on corrupt animated images 2022-05-04 08:26:24 +02:00
Nicolas Werner
a0526044ef
Fix scaling of animated images in fullscreen image viewer 2022-04-26 16:46:38 +02:00
Nicolas Werner
a59b3147a6
Add reasons to everything
fixes #1030
2022-03-30 23:40:12 +02:00
Nicolas Werner
656fcac91c
Don't use a modal to edit room name and topic 2022-03-30 06:45:31 +02:00
Nicolas Werner
afe381e9b1
Remove unused ToggleButton 2022-03-30 02:14:59 +02:00
Nicolas Werner
14f7fe282f
Cleanup some unused code 2022-03-30 02:07:32 +02:00
Nicolas Werner
6d1416fb6e
Add backend for new room creation dialogs 2022-03-29 20:51:18 +02:00
Nicolas Werner
b19d9caba6
Sort known UIA flows first 2022-03-13 01:17:51 +01:00
Nicolas Werner
46fbb0e749
Use ListView without scrollview for messages
That way we can autohide the scollbar if needed, it should fix some
jumping issues, it makes it possible to flick on mobile, etc.

Some related bugs:

https://bugreports.qt.io/browse/QTBUG-75223
https://bugreports.qt.io/browse/QTBUG-44902
2022-02-19 21:45:43 +01:00
Nicolas Werner
47b822604d
Hidden events: Refactor slightly for reusability 2022-02-12 19:48:53 +01:00
tastytea
7ebced29e9
Hidden events: Make reusable read function 2022-02-10 00:48:36 +01:00
tastytea
72cfb06208
Hidden events: Some cleanup 2022-02-10 00:48:35 +01:00
tastytea
49b313e3b8
Hidden events: Make save-function reusable for global account data 2022-02-10 00:48:35 +01:00
tastytea
f0bb64030e
Hidden events: Incorporate suggestions from review
- Set TitleHint flag on dialog
- Store hidden events as QSet<QString> instead of std::vector<bool>
- Change wording in dialog (disable events instead of turning the hiding
  on)
2022-02-10 00:48:35 +01:00
tastytea
5cd3e61cb0
Add GUI to change hidden events per room
This adds a dialog to the room settings in which the user can choose
which of these three event types they want to hide (additionally to the
default):

  - m.room.member
  - m.room.power_levels
  - m.sticker

The current state is read when room settings are opened and saved when
new settings are accepted.
2022-02-10 00:48:35 +01:00
Nicolas Werner
3c208cd717
Remove unused funtion 2022-01-30 20:25:30 +01:00
Nicolas Werner
2613275461
Reimplement error notifications 2022-01-30 19:14:33 +01:00
Nicolas Werner
f44d8e916b
Remove a few now unused files 2022-01-30 13:16:36 +01:00
Nicolas Werner
b106eafb0e
Initial qml root window 2022-01-26 21:44:13 +01:00
Nicolas Werner
6d4ff70b48
Add minimum scale in image viewer 2022-01-03 04:00:21 +01:00
Nicolas Werner
66520eae19
Port image overlay to qml
Allows you to zoom and pan now.

relates to #647
2022-01-02 21:46:29 +01:00
Nicolas Werner
61404641d9
Update year in copyright notice to shut up lint job 2022-01-01 04:57:53 +01:00
Nicolas Werner
6f77a1fe9d
Use the styles default delay for tooltips
This makes them less annoying when scrolling or accessing the popup
menu.

See also #860
2021-12-31 00:48:55 +01:00
Nicolas Werner
c5f4865ee6
Try to reduce CPU overhead of animated images a bit 2021-12-30 06:10:19 +01:00
Nicolas Werner
497c3df50e
Prevent copies when querying theme 2021-12-29 08:05:29 +01:00
Nicolas Werner
f21bf5f97e
Cache supported animated image formats 2021-12-29 07:40:32 +01:00
Nicolas Werner
19dc6cadea
Reserve size of some containers we are filling 2021-12-29 06:01:38 +01:00
Nicolas Werner
812e3b5f03
Reduce allocations required for the palette 2021-12-29 06:01:20 +01:00
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