miruka
83f35c034e
Refactor MessageArea composer alias handling
...
Simplify the code, make it more declarative, and improve the reliability
of sending typing notifications (notably when changing the used alias in
the middle of a message).
2020-08-24 09:54:49 -04:00
miruka
b83fd63769
Save composer state as right user when using alias
...
If the chat was opened under e.g. "@user1:example.org", but the
composer text is "o abc" where "o" is a composer alias for
"@other_account:example.org", save the composer text to state.json as
"@user1:example.org" and not the alias user.
2020-08-24 09:54:49 -04:00
miruka
df3f1fb645
Remove all Backend "get_any_client"-using methods
...
thumbnail() and download() were remaining.
Use a direct and carefully chosen MatrixClient's methods instead to
avoid problems mentioned in the previous commit 7502c1.
2020-08-24 09:54:43 -04:00
miruka
fc6827807c
Fix mentioning blank display names
...
If the display name of a user is blank (e.g. just a space character),
autocomplete it as a user ID.
If the display name starts or ends with whitespace, trim it.
2020-08-23 10:46:59 -04:00
miruka
fbf6e48b5b
Fix mentioning users without display names
2020-08-23 09:41:41 -04:00
miruka
e79094c18c
Fix click on user delegate not making it a mention
2020-08-23 09:23:34 -04:00
miruka
4000d70514
Reset input method when autocompleting a user
...
Fixes IME being left in a strange state upon autocompleting a word that
was being edited.
2020-08-23 09:14:45 -04:00
miruka
0434659ad1
CompletableUserDelegate avatar: respect uiScale
2020-08-22 15:17:52 -04:00
miruka
eadc4bb317
Remove unused function inside UserAutoCompletion
2020-08-22 01:44:41 -04:00
miruka
bc3d6d902f
Fix @autocomplete closing after one character
...
Typing e.g. "@a" would work, but "@ab" would always instantly close
the autocompletion UI if the cursor was at the end of the text area.
2020-08-22 01:23:44 -04:00
miruka
12c47476fc
Add theme properties for autocompletion UI
2020-08-21 12:10:22 -04:00
miruka
044060d1c0
Color name when highlighting member delegates
2020-08-21 12:10:22 -04:00
miruka
010675001c
Add bottom margin to autocompletion UI
2020-08-21 12:10:22 -04:00
miruka
6f37ce3519
Fix completing in the middle of a name with spaces
2020-08-21 12:10:22 -04:00
miruka
bea1d60621
Fix autocompletion for users without display name
2020-08-21 12:10:22 -04:00
miruka
cd81c94ce8
Fix autocompletion for display names with spaces
2020-08-21 12:10:22 -04:00
miruka
9dc9a5e70f
Clip the autocompletion UI
2020-08-21 12:10:21 -04:00
miruka
b79b032184
Better delegate for completable users
2020-08-21 09:27:01 -04:00
miruka
6dcc244998
Move UserAutoCompletion outside of Composer
2020-08-21 05:50:37 -04:00
miruka
2ccb28fa49
Box/popups: ignore enter press on disabled buttons
2020-08-21 05:08:12 -04:00
miruka
43b14f3129
Make autocompletion work not just at end of line
2020-08-21 04:44:55 -04:00
miruka
1b919ec7be
Cursor moves before last word: close completion UI
2020-08-21 01:46:07 -04:00
miruka
063f9d2b1d
Only mention tab-completed usernames
2020-08-21 01:21:51 -04:00
miruka
5ba669444d
Add basic user autocompletion UI
2020-08-21 01:21:10 -04:00
miruka
2f1889423b
Room & member filter fields: support (shift+)tab
2020-08-21 01:19:17 -04:00
miruka
21fe4b7bd1
Add spacing between MemberDelegate name-last seen
2020-08-16 16:17:22 -04:00
miruka
a389238024
Add window.makePopup(), utils.makePopup() wrapper
2020-08-03 01:26:35 -04:00
miruka
a0912106ca
EventDelegate: fix not setting fetchProfilesFuture
2020-07-27 04:24:40 -04:00
miruka
fcf6b45bf6
Disable timeline scrolling when a popup is open
2020-07-27 00:16:04 -04:00
miruka
157ea2ffb2
Add support for SSO authentication
2020-07-26 20:34:06 -04:00
miruka
87ad3ccab1
Fix truncated "Loading previous messag..." text
2020-07-22 16:26:30 -04:00
miruka
d00b29f076
Add media.openExternallyOnClick setting
...
Makes clicking on image open them externally and middle-clicking open
them in the mirage image viewer, the reverse of the default behavior.
2020-07-22 00:14:15 -04:00
miruka
7214180a66
Don't send typing notif if no permission to talk
2020-07-21 22:13:44 -04:00
miruka
da7417f13f
Fix SettingsView stealing focus from popups
...
Making the window narrow enough to switch to "mobile mode", then big
again would trigger a signal in SettingsView that switched focus to it,
even when it wasn't visible.
2020-07-21 22:11:13 -04:00
miruka
43cfb74460
Fix HTTP event image not loading on click
2020-07-21 19:45:52 -04:00
miruka
fdc06d81fd
Add info bar to image viewer
2020-07-21 17:34:45 -04:00
miruka
48eac96976
Add "Open externally" to media event context menu
2020-07-21 01:06:31 -04:00
miruka
3435dbc2f8
Add copyFilesLocalPath keybind
2020-07-20 23:28:07 -04:00
miruka
67b7821fae
Ctrl+C, non-E2E media: copy HTTP URL, not filename
2020-07-20 23:17:51 -04:00
miruka
99017adc1d
Model item events: add a media_http_url field
2020-07-20 23:09:28 -04:00
miruka
55e22ea948
Add openMessagesLinksOrFilesExternally keybind
...
This required us to set the media downloaded local path on events
entirely from python instead of simply lazy-fetching them when needed
from QML, due to pyotherside's async nature and files that must be open
in a certain order.
2020-07-20 23:07:52 -04:00
miruka
0cd2678797
Event context menu: copy HTTP media URL, not MXC
2020-07-20 19:58:44 -04:00
miruka
2fb4ad5eae
Improve timeline GIF auto-pausing
...
Pause when any popup is covering the timeline (image viewer or not), and
work when opened by ctrl+o, not just when clicking the thumbnail.
2020-07-20 19:51:35 -04:00
miruka
66a44b5251
Split ImageViewer components
2020-07-20 14:27:52 -04:00
miruka
7bfaced66b
Fix event list + composer double context menu
...
Don't also Aopen the composer's context menu when there are
highlighted or selected messages in the timeline and user presses the
menu key.
2020-07-20 12:40:38 -04:00
miruka
e38a4ed408
Fix context menu encrypted media check
2020-07-20 12:34:32 -04:00
miruka
6bdf39ad68
Fix contextmenu "Copy text" when event highlighted
...
When an event was highlighted with the keyboard, right clicking a
message and clicking "Copy text" would always copy the message that was
highlighted instead of the one the user aimed for.
2020-07-20 12:31:40 -04:00
miruka
15b1720775
Pause timeline GIF while image viewer is open
2020-07-20 01:09:06 -04:00
miruka
30ce271ebc
Real "copy URL" & "copy path" context menu entries
...
Replace the poorly implemented 2-in-1 "copy address" media event
menu option with:
- Copy <mediaType> address: visible for non-encrypted media, always
copies the http URL
- Copy local path: always visible for already downloaded media, even if
they were downloaded before mirage was started
2020-07-20 00:22:12 -04:00
miruka
2001fcf70a
openImageViewer(): take an optional callback
2020-07-19 20:33:40 -04:00