Nicolas Werner
4a80fdc951
Functional login page
2022-01-26 21:44:13 +01:00
Nicolas Werner
aaae72a4f2
Fix focus and qml parenting with qml root
2022-01-26 21:44:13 +01:00
Nicolas Werner
b106eafb0e
Initial qml root window
2022-01-26 21:44:13 +01:00
Nicolas Werner
f1a23355bd
Port usersettings to qml
2022-01-09 01:02:25 +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
7685d1808b
Strip variant selector in some cases
...
fixes #439
Workaround for https://bugreports.qt.io/browse/QTBUG-97401
fixes #810
2022-01-01 07:10:12 +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
750c64f323
Get rid of some useless code
2021-12-31 00:48:55 +01:00
Nicolas Werner
73012eb2d1
Add missing license headers
2021-12-30 06:20:10 +01:00
Nicolas Werner
9a9dbda571
Update presence dynamically and reduce allocations
2021-12-30 04:54:03 +01:00
Nicolas Werner
203ddb20de
Fix crash after sending image caused by the recent refactor
2021-12-30 02:10:33 +01:00
Nicolas Werner
b847623fbe
Reduce allocations and time spent creating delegates by half
2021-12-29 22:46:04 +01:00
Nicolas Werner
7cfb7dcea4
Reduce allocations for presence states a bit
2021-12-29 22:45:30 +01:00
Nicolas Werner
4d54876ea4
Pretty up code with fewer allocations
2021-12-29 07:04:30 +01:00
Nicolas Werner
271b111558
Reduce allocations for accessing event members
2021-12-29 07:02:32 +01:00
Nicolas Werner
0f4b482bb3
Remove a few casts
2021-12-29 06:10:08 +01:00
Nicolas Werner
19dc6cadea
Reserve size of some containers we are filling
2021-12-29 06:01:38 +01:00
Nicolas Werner
d8ead9573b
Reduce allocations using QStringLiteral
2021-12-29 04:52:52 +01:00
Nicolas Werner
bb290f9fec
Fix more warnings and remove dead code
2021-12-28 22:30:12 +01:00
Nicolas Werner
5ca98829f7
Some qt6 prep
2021-12-28 20:09:08 +01:00
Nicolas Werner
2866826356
Misc clang-tidy fixes
2021-12-28 19:12:15 +01:00
Nicolas Werner
960cf2995e
Fixup clang-tidy suggestion
2021-12-28 18:44:26 +01:00
DeepBlueV7.X
5a21029423
Merge pull request #853 from MTRNord/MTRNord/clang-tidy
...
Apply selective clang-tidy suggestions
2021-12-28 17:36:20 +00:00
tastytea
850d139e3d
Make custom emoticons twice as high as the font.
2021-12-27 23:16:26 +01:00
tastytea
7086e23bdd
Request inline images in the right size and anti-alias them
...
- If an inline image has specified a height, add parameters to the
image:// URI.
- Add scaled to the parameters, the images would be cropped otherwise.
- Extract the height from image:// URI and use it for requestSize.
- Use scaledToHeight instead of scaled.
2021-12-27 22:47:51 +01:00
MTRNord
7b2f7e65fd
Run linter
2021-12-27 20:49:27 +01:00
Nicolas Werner
ea6b19b307
Add an ugly custom emote completer using ~
2021-12-27 06:23:36 +01:00
MTRNord
049613211a
Apply (selective) Clang-tidy const function and new const pointer suggestions on TimelineModel
2021-12-23 02:55:25 +01:00
MTRNord
a872bdf8c5
Apply (selective) Clang-tidy move and some new detected const pointer suggestions on TimelineModel
2021-12-23 02:46:33 +01:00
MTRNord
02fcd0e7cf
Apply (selective) Clang-tidy and clazy suggestions on TimelineModel
2021-12-23 02:33:46 +01:00
Loren Burkholder
45b150fb58
make lint
2021-12-13 19:08:54 -05:00
Loren Burkholder
c09c0d35b8
Make opening room members from rooms settings dialog work
2021-12-13 19:08:54 -05:00
Nicolas Werner
d46e517e3a
Only show room pack button, when you can actually create one
2021-12-13 23:25:42 +01:00
Nicolas Werner
dae032172d
Add recently used reactions
...
fixes #435
2021-12-13 00:43:05 +01:00
Nicolas Werner
75b112f0c8
Support pinned messages
...
fixes #519
2021-12-11 06:10:41 +01:00
Marcus Hoffmann
a01bc14db6
InputBar: run clang-format
2021-12-03 01:54:43 +01:00
Marcus Hoffmann
a9d8059fb2
InputBar: Mark some functions as [[nodiscard]]
...
This warns when you the return value of those functions isn't used.
Suggested-by: Clang-Tidy: Function X should be marked [[nodiscard]]
2021-12-03 01:37:00 +01:00
Marcus Hoffmann
9676b7709d
InputBar: mark constrictor as explicit
...
Suggested-By:
Clang-Tidy: Single-argument constructors must be marked explicit to
avoid unintentional implicit conversions
More info: https://clang.llvm.org/extra/clang-tidy/checks/google-explicit-constructor.html
2021-12-03 01:37:00 +01:00
Marcus Hoffmann
8aa4a60d12
InputBar: use X.empty() instead of !X.size()
...
Suggested-by:
Clang-Tidy: The 'empty' method should be used to check for emptiness instead of 'size'
2021-12-03 01:37:00 +01:00
Marcus Hoffmann
abcbcecac1
InputBar: use auto type
...
Suggested-by:
Clang-Tidy: Use auto when initializing with new to avoid duplicating the type name
2021-12-03 01:37:00 +01:00
Marcus Hoffmann
313bd649dd
InputBar: use multi-arg string replacement
...
This could actually change the behaviour here (could, because I don't
know if we can hit this special case) but this should hopefully the
correct way of doing this.
There's some detailed explanation of the difference here:
https://doc.qt.io/qt-5/qstring.html#arg-14
> This is the same as str.arg(a1).arg(a2), except that the strings
> a1 and a2 are replaced in one pass. This can make a difference if
> a1 contains e.g. %1:
```
QString str;
str = "%1 %2";
str.arg("%1f", "Hello"); // returns "%1f Hello"
str.arg("%1f").arg("Hello"); // returns "Hellof %2"
```
Suggested-by:
Clazy: Use multi-arg instead
2021-12-03 01:37:00 +01:00
Marcus Hoffmann
02aa87590b
InputBar: use character argument instead of string
...
Suggested-by:
Clang-Tidy: 'find' called with a string literal consisting of a
single character; consider using the more effective overload
accepting a character
2021-12-03 01:37:00 +01:00
Marcus Hoffmann
6d8d38490a
InputBar: apply clang-tidy const reference suggestions
...
All suggested by:
Clang-Tidy: The parameter 'X' is copied for each invocation
but only used as a const reference; consider making it a const reference
2021-12-03 01:37:00 +01:00
Marcus Hoffmann
abf4b3a0a3
InputBar: use QFileInfo::exists()
...
Suggested by:
Clazy: Use the static QFileInfo::exists() instead. It's documented to be faster.
2021-12-03 01:37:00 +01:00
Marcus Hoffmann
5441ea8840
InputBar: remove unused imports
2021-12-03 01:37:00 +01:00
Nicolas Werner
b774a671da
Remember all the collapsed trees
2021-12-01 03:46:55 +01:00
Nicolas Werner
aa5d2098d0
Don't waste space for non existing subspaces
2021-12-01 00:46:02 +01:00
Nicolas Werner
65152252a4
Leaves can't collapse
2021-12-01 00:24:57 +01:00
Nicolas Werner
fe49beb68e
Hide me underneath the space tree
2021-12-01 00:04:01 +01:00
Nicolas Werner
b505fa42d5
Fix crash on redactions without because
2021-11-29 14:55:40 +01:00
Joe Donofry
b920f8d7ca
Change QML UI for redactions
2021-11-29 00:59:57 +00: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
e7d4aec6ec
Only mark as direct, if invite was direct
2021-11-21 07:06:37 +01:00
Nicolas Werner
3d92e8ae60
Mark rooms as direct chats
...
Either by accepting an invite or manually using /converttodm and revert
with /converttoroom.
2021-11-21 06:13:45 +01:00
Nicolas Werner
5ef3250994
Add a filter for direct chats
...
fixes #317
2021-11-20 22:48:04 +01:00
Nicolas Werner
57fb0d79f9
Fix colors and alignment in dialogs
2021-11-18 22:33:45 +01:00
Loren Burkholder
f3aeb4b044
Switch icon theme to Fluent icons
2021-11-17 00:37:26 +01:00
Nicolas Werner
0a6ac211f1
Fix being dropped into an empty room after a join
2021-11-14 22:39:42 +01:00
Nicolas Werner
c4c13a1da9
Fix redaction of edited messages
2021-11-08 19:32:14 +01:00
Nicolas Werner
5ca1fb18bb
Move away from using an event loop to access secrets
...
Fixes messages in room flickering and being stuck
fixes #760
relates to #770
relates to #789
2021-11-07 03:52:57 +01:00
Nicolas Werner
1a163f49e2
Fix unjoinable invites on mobile as well as unclickable previews
2021-11-03 22:35:54 +01:00
Nicolas Werner
ae121f6021
Clear @room warning after sending message
...
fixes #751
2021-11-02 00:41:07 +01:00
Nicolas Werner
12832b3c64
Fix loading spinner when switching to a fully loaded room
...
fixes #754
2021-11-02 00:28:39 +01:00
Nicolas Werner
8beeba8e48
Fix hidden spaces hiding themselves
...
fixes #745
2021-11-02 00:15:58 +01: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
Loren Burkholder
14488a8fe7
Use the same leave room dialog everywhere
...
This ports the leave room dialog to QML, everywhere. There are now no differences between the various leave dialogs.
2021-10-11 19:00:40 -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
Thulinma
94441e68fd
Support pasting image/svg+xml format straight from supporting applications
2021-09-28 01:42:35 +02:00
Thulinma
c4b788917f
Fixes for pasting images, especially under windows where the image mime type detection doesn't work as expected
2021-09-28 00:54:00 +02: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
Nicolas Werner
5bff9df4ae
Workaround for broken fetchMore() with reuseItems
2021-09-15 23:38:01 +02:00
DeepBlueV7.X
d6eeaa1c04
Merge pull request #721 from symphorien/hotlist
...
Implement a binding to go to a room with unread messages
2021-09-14 19:00:50 +00:00
Guillaume Girol
82b1cc4e5f
add Alt+A keybinding to switch to next room with unread messages
2021-09-14 12:00:00 +00:00
Loren Burkholder
b9255803fb
Streamline getting other user id from invited direct chat
2021-09-11 19:45:01 -04:00
Loren Burkholder
0b8527eb1b
Don't try to check whether a preview is direct
2021-09-11 19:35:31 -04:00
Loren Burkholder
fb53fc86b6
Fix invites crashing the whole app
2021-09-11 19:35:31 -04:00
Loren Burkholder
87bff3493d
Add direct chat handling for previews and invites
2021-09-11 19:35:31 -04:00
Loren Burkholder
0e3f3f2b20
make lint
2021-09-11 19:35:31 -04:00
Loren Burkholder
356723fe06
Use more descriptive property name
2021-09-11 19:35:31 -04:00
Loren Burkholder
a23c586cde
make lint
2021-09-11 19:35:31 -04:00
Loren Burkholder
350fc593ed
Use better id loading methodology
2021-09-11 19:35:31 -04:00
Loren Burkholder
1fdecdcc21
Get direct chat jdenticons to line up
2021-09-11 19:35:31 -04:00
Loren Burkholder
d2e193ff78
Add jdenticon support
2021-09-11 19:35:31 -04:00
Thulinma
45b5629fe4
Fix a few more HTML injections
2021-09-12 00:09:24 +02:00
Nicolas Werner
f9a334233f
Don't allow images in username change messages and user completer
...
Sorry, no fun for you!
2021-09-09 21:20:34 +02:00
Nicolas Werner
495a4334df
Fix day separator when loading older messages
...
fixes #632
2021-09-08 12:47:44 +02:00
Nicolas Werner
3528fe4e5d
Warn the user before they ping the whole room
2021-09-02 03:15:39 +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
3d2f503305
Add workaround for stickers not showing on iOS
...
see: https://github.com/vector-im/element-ios/issues/2353
2021-08-18 18:16:29 +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
028bcd5b7c
Update join button in room directory after join
2021-08-17 14:21:04 +02:00
DeepBlueV7.X
b01496f9b4
Merge pull request #659 from kamathmanu/nhekoRoomDirectory
...
Nheko room directory
2021-08-17 11:56:47 +00:00
Nicolas Werner
56db0dbc7d
Allow downloading keys from key backup
2021-08-17 03:24:12 +02:00
Nicolas Werner
9bad584931
Show verification status in memberlist
2021-08-13 23:58:26 +02:00
Nicolas Werner
18ea01e198
Show if there are unverified devices in a room
...
Also fixes some issues where nested transactions will poison the
verification cache.
2021-08-13 23:19:54 +02:00
kamathmanu
9ab1296131
Ran qmlformat and make license
2021-08-12 10:45:42 -04:00
Nicolas Werner
5e2526dac4
fix sticker packs being uneditable in some rooms
2021-08-11 00:39:01 +02:00
kamathmanu
6a75e5270c
Fix nits from code review
2021-08-09 09:18:08 -04:00
kamathmanu
2dfccda73c
Merge branch 'master' into nhekoRoomDirectory
2021-08-07 21:20:43 +00:00
kamathmanu
04d0d413e3
Linted code
2021-08-07 17:00:28 -04:00
kamathmanu
0d700d9933
Implemented Room Directory model to store and provide QML view with public room data from mtxclient
2021-08-07 17:00:12 -04:00
Nicolas Werner
72bbad7485
Show encryption errors in qml and add request keys button
2021-08-07 22:51:09 +02:00
Nicolas Werner
a57a15a2e0
Basic sticker pack editor
2021-08-06 04:31:53 +02:00
Loren Burkholder
dab1c9068a
QML the raw message dialog
2021-07-31 12:11:15 -04:00
DeepBlueV7.X
5b5a89b522
Merge pull request #655 from LorenDB/qml-all-the-things
...
QML all the things, part 2: Read receipts dialog
2021-07-30 22:08:51 +00:00
Nicolas Werner
e4cd8b1c11
Log how many rooms we loaded
2021-07-30 03:31:49 +02:00
Loren Burkholder
7e538851d6
Use a QSortFilterProxyModel instead of resetting the model
2021-07-29 21:07:52 -04:00
Loren Burkholder
4dd994ae00
QML the read receipts list
...
There are probably a few things wrong with this, but I'm going to call it good enough for an initial commit
2021-07-29 21:07:16 -04:00
DeepBlueV7.X
ca3d17dc22
Merge pull request #651 from LorenDB/qml-all-the-things
...
Fix a few UI things
2021-07-23 16:17:43 +00:00
Nicolas Werner
eafbab6ae1
Add menu to enable or disable stickers globally
2021-07-23 17:43:17 +02:00
Nicolas Werner
0c798554b5
Rename image pack model
2021-07-22 20:05:25 +02:00
Loren Burkholder
0ce7d02abe
make lint
2021-07-22 07:55:12 -04:00
Loren Burkholder
bbecadf1a8
Add functionality for loading global user profile where needed
...
This is so viewing profiles from the invite dialog will work as expected.
2021-07-21 20:38:18 -04:00
Loren Burkholder
44be4c1f4a
Move various room auxiliary functions to TimelineManager
2021-07-21 18:56:20 -04:00
Loren Burkholder
b17002929c
Open room members when member info label clicked
2021-07-21 12:36:02 -04:00
Loren Burkholder
6458614ea1
make lint
2021-07-20 21:48:10 -04:00
Loren Burkholder
44d2818e0c
Add property for plain room name
2021-07-20 21:48:10 -04:00
Loren Burkholder
baa9dfe110
Clean up code
2021-07-20 21:47:46 -04:00
Loren Burkholder
d2d5229ede
make lint
2021-07-20 21:47:32 -04:00
Loren Burkholder
60b3c34d78
Permissions only needs a roomid to function
2021-07-20 21:47:32 -04:00
Loren Burkholder
a176de5f11
Make sure to use the default room id if none is specified
2021-07-20 21:47:22 -04:00
Loren Burkholder
e1acf5d324
make lint
2021-07-20 21:47:22 -04:00
Loren Burkholder
6c57fa6c5b
QML the invite dialog
...
This also adds a property `roomId` to TimelineModel.
2021-07-20 21:47:22 -04:00
Loren Burkholder
77a0c574bf
QML the room member list
2021-07-20 21:47:05 -04:00
Nicolas Werner
88ed0fade7
Explicitly reload data in delegates, if related events got loaded
2021-07-20 14:09:19 +02:00
Nicolas Werner
3b56ff2d85
Fix replying and editing stickers
2021-07-19 16:14:09 +02:00
Nicolas Werner
9f416f1fc9
Fix only first 7 stickers showing up
2021-07-19 12:43:16 +02:00
Nicolas Werner
8a1666bc88
Basic sticker support
2021-07-19 01:28:07 +02:00
Nicolas Werner
0b864d9485
Fix replies not reloading after fetching them
2021-07-16 11:47:49 +02:00
Nicolas Werner
be0576f6a1
Add workaround for TextEdit not rerendering after image loaded
...
fixes #541
2021-07-15 00:26:39 +02:00
Nicolas Werner
47899ee7ed
Switch to room after joining invite
2021-07-13 03:13:52 +02:00
Nicolas Werner
0a4e95a1db
Don't allow switching to current room
...
fixes #634
2021-07-13 02:57:16 +02:00
Nicolas Werner
40a3ee6eb2
Fix verification requests showing up on startup
2021-07-12 23:02:26 +02:00
Nicolas Werner
9d6bc706ff
Don't use full dump for replies
2021-07-12 22:28:01 +02:00
Nicolas Werner
801af1864c
Fix off-by-1 in insertRows when loading room list from initial sync
2021-07-12 01:07:10 +02:00
Nicolas Werner
bd26624ed8
Prepare for reuseItems in timeline
...
The actual reuseItems is still blocked on a few upstream bugs.
2021-07-12 00:24:33 +02:00
Nicolas Werner
c755d54243
Remove db bottleneck by caching ro txn for 100 requests
2021-07-10 16:12:38 +02:00
Nicolas Werner
2f08f5181c
Redesign invites and room preview joins
2021-07-09 11:36:34 +02:00
Nicolas Werner
9540d704e0
Show previews for space rooms
2021-07-04 23:06:50 +02:00
Nicolas Werner
d2ba0b6603
Update translations
2021-07-02 09:47:43 +02:00
Nicolas Werner
5b016cbc68
Remove dead code to calculate last message
2021-07-01 12:45:47 +02:00
Nicolas Werner
590395a08b
Fix too many newlines in reply fallback
2021-06-30 12:22:22 +02:00
Nicolas Werner
78c69a8f7b
Fix tags going missing if you join communities
2021-06-26 23:56:34 +02:00
Stuart Mumford
7fab2925b4
Apply suggestions from code review
2021-06-25 15:44:15 +01:00
Stuart Mumford
9194b87bdc
Update src/timeline/TimelineModel.cpp
2021-06-25 15:21:04 +01:00
Stuart Mumford
d60ea38cb8
Add another regex to match inline img tags using single quotes
...
Signed-off-by: Stuart Mumford <stuart@cadair.com>
2021-06-25 12:14:45 +01:00
Nicolas Werner
f8dfc72625
Fix spaces showing up with world filter
2021-06-25 11:35:26 +02:00