miruka
9dc9a5e70f
Clip the autocompletion UI
2020-08-21 12:10:21 -04:00
miruka
9b3d01b9a8
ServerDelegate: add ping icon tooltips
2020-08-21 12:10:21 -04:00
miruka
93b73b86bb
Add a "table header" to server browser
2020-08-21 12:10:21 -04:00
miruka
6160deace5
Improve ServerBrowser text wording
2020-08-21 12:10:21 -04:00
miruka
85f4620b3b
Equalize "Homeserver address" label padding
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
bd01d9edd0
Fix segfault when leaving loading server list page
2020-08-21 05:18:08 -04:00
miruka
6ba6202771
Fix clicking on server in server browser
2020-08-21 05:10:32 -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
ec17d54923
ServerDelegate: ignore compact mode
2020-08-21 01:19:18 -04:00
miruka
cc06645275
Add spinner when fetching homeservers list
2020-08-21 01:19:18 -04:00
miruka
ede99b310e
Fix login box tab shortcuts
2020-08-21 01:19:18 -04:00
miruka
3c79ffbf21
Don't show register/reset tabs on sso login box
2020-08-21 01:19:18 -04:00
miruka
e303ee1fc9
SignInSso: return to server list on Cancel click
2020-08-21 01:19:18 -04:00
miruka
5ac5dbd1d5
Add usual FlickShortcuts to server browser
2020-08-21 01:19:18 -04:00
miruka
21fbe7a96b
Show scrollbars for a few seconds at first
...
Lets the user know that there's content to scroll.
2020-08-21 01:19:18 -04:00
miruka
2f1889423b
Room & member filter fields: support (shift+)tab
2020-08-21 01:19:17 -04:00
miruka
007a11b4aa
Change "go to homeserver address" icon
2020-08-21 01:19:17 -04:00
miruka
d945bed0a3
Increase "Homeserver address" text bottom padding
2020-08-21 01:19:17 -04:00
miruka
d3092c4929
Clear server list highlight when field text edited
2020-08-21 01:19:17 -04:00
miruka
c51a771a65
Add colored border to HListView highlight delegate
2020-08-21 01:19:17 -04:00
miruka
ab390704eb
Use homeserver URL field also as a filter field
2020-08-19 04:39:50 -04:00
miruka
16970d5e56
Auto-detect homeserver scheme://
2020-08-19 02:14:46 -04:00
miruka
2fa8b2c5f9
Add a public server list to the initial login page
2020-08-19 01:13:34 -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
c813e92ac7
Move hideErrorTypes & showError() to PythonBridge
2020-08-03 01:19:08 -04:00
miruka
865d6b8bc8
ServerBrowser: strip trailing slashes from URL
2020-07-27 16:40:04 -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
3ab2864f22
SignInSso: add a copy URL button
2020-07-26 20:58:14 -04:00
miruka
157ea2ffb2
Add support for SSO authentication
2020-07-26 20:34:06 -04:00
miruka
d7907db547
Ask for server URL before showing sign in box
...
Contact the server's .well-known API before anything to get
available login flows instead of blindly assuming it will be
m.login.password, and to get the server's real URL instead of
requiring users to remember that e.g. it's "chat.privacytools.io"
and not just "privacytools.io" despite user IDs making it look like so.
The server field will also now remember the last accepted URL.
2020-07-24 02:36:24 -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
miruka
8053bd7d01
EventFile: respond to middle click (same as left)
2020-07-19 20:21:26 -04:00
miruka
8a73e65254
Rename openMessagesLinks keybind (...OrFiles)
2020-07-19 20:17:52 -04:00
miruka
de6d8fa59d
Make media openable with the openLinks keybind
...
This involved a refactoring to move all the media handling functions
(downloading, opening externally, etc) out of the Event delegates and
into the EventList, which manage keybinds instead.
This should also be better for performance since all these functions are
no longer duplicated for every Event in view.
Other user-noticable change: clicking on non-image media will
always download and open them no matter if the room is encrypted or not,
instead of opening non-encrypted files in browser like before. It will
be possible to still do that with an "open externally" command later.
2020-07-19 20:10:31 -04:00
miruka
465d31790f
Image viewer: handle images without known w/h
...
There's no way to know in advance the real size for
HTTP image previews and m.image events sent by some clients
2020-07-19 15:50:10 -04:00
miruka
26a4d76fc2
Implement basic image viewer popup
...
Current features:
- Show scaled up thumbnail while the full image is loading
- Click to alternate between scaling mode (or reset zoom if not 1x)
- Click outside of image to close
- Double click to toggle fullscreen
- Middle click to open externally (also for thumbnail in timeline)
- Right click anywhere to close
- Ctrl+wheel to zoom
- Click-drag to pan when image larger than window
2020-07-19 03:26:33 -04:00
miruka
46c763fdfd
Don't auto-focus disabled power level controls
2020-07-18 20:25:30 -04:00
miruka
d4fb38fd1a
Use layout margin instead of Item after Daybreak
2020-07-18 15:02:19 -04:00
miruka
03af1da1d4
Remove power level apply/cancel button texts
...
Lazy fix for the layout problem
2020-07-17 06:40:15 -04:00
miruka
78b16ae22c
MemberProfile: remove leftover debug console call
2020-07-17 06:40:15 -04:00
miruka
68da4be7be
Make GIFs openable externally + real pause button
2020-07-17 06:07:02 -04:00
miruka
7f478efc40
Topic area, power level text: fix disabled opacity
2020-07-17 05:29:25 -04:00
miruka
716ac2a0af
Refer to custom components to access their enums
2020-07-17 01:45:02 -04:00
miruka
6c4ee17e40
Retrieve last seen time for offline room members
2020-07-17 00:46:46 -04:00
miruka
42791f32d3
Enter member profile → focus power level control
2020-07-16 18:17:44 -04:00
miruka
bcf93a6f36
Disable member power level control when offline
2020-07-16 18:11:37 -04:00
miruka
5cc1c55d95
Immediatly show UI transfer for clipboard paste
...
Create an Upload model item before compressing the image and writing it
to disk
2020-07-16 16:14:07 -04:00
miruka
bceafd7bbd
Preview/confirm popup for clipboard pasting
2020-07-16 15:59:54 -04:00
miruka
60832b2fcd
Confirm uploading from path in clipboard
2020-07-16 12:42:42 -04:00
miruka
2d623118b5
Support pasting image to upload in the composer
2020-07-15 18:08:17 -04:00
miruka
04692179f9
MemberProfile: admins can't demote other admins
2020-07-15 10:04:31 -04:00
miruka
8d5d0ff7fb
Reduce required width to show last seen times
2020-07-14 17:32:47 -04:00
miruka
3ff90d1074
Fix avatar membership icon position in narrow pane
2020-07-14 17:20:50 -04:00
miruka
d092cd6506
Fix room header in compact window
2020-07-14 17:09:09 -04:00
miruka
d51c0e3e5d
Add keybind to hide room pane (default Ctrl+Alt+R)
2020-07-14 16:51:01 -04:00
miruka
e00832eea6
Allow hiding room pane with lcick on current tab
2020-07-14 16:47:04 -04:00
miruka
c00e35a948
Don't change chat width when showing overlay panes
...
When auto-expanding a pane and showing it as an overlay because of
narrow window, make the chat keep the width it had before.
This makes the transition less jarring, reduces the amount of text seen
through a transparent pane, and fix making one pane overlay expanding
the other.
2020-07-14 16:16:48 -04:00
miruka
5007a5d97c
Fix reply bar height
2020-07-14 05:25:32 -04:00
miruka
e5f147e977
Add expand/search button to room pane when narrow
2020-07-14 04:54:23 -04:00
miruka
b7cd08f66b
Fix panes being shown as overlay in "mobile mode"
2020-07-14 03:56:58 -04:00
miruka
4b7ce1a195
Auto-expand room pane when filter field focused
2020-07-14 03:14:05 -04:00
miruka
c018c04cab
Auto-expand room pane to show settings/profiles
...
If the room pane is below the default width (by user resizing or because
of narrow window), go to the room settings or a member profile will
automatically expand it as needed.
The pane goes back to its previous size once the settings/profile is
left.
If the window is narrow enough that expanding the pane normally would
reduce the timeline's width past its minimum, the pane is shown as an
overlay instead.
2020-07-14 03:00:10 -04:00
miruka
dd63d1312a
Don't limit width of messages containing tables
2020-07-13 23:38:39 -04:00
miruka
0a277f23b1
Room admins can always demote themselves
2020-07-13 19:22:06 -04:00
miruka
7277b5d198
PowerLevelControl: add error and warning texts
2020-07-13 19:21:50 -04:00
miruka
757679a6e0
Make power level control permission-aware
2020-07-13 18:57:42 -04:00
miruka
6ff3cc5f39
Add buttons to Save/cancel power level changes
2020-07-13 18:54:28 -04:00
miruka
966070b4d6
MemberDeviceSection: elide txt instead of wrapping
...
Wrapping the text just makes the section overflow when
the member pane gets too narrow.
2020-07-12 17:22:28 -04:00
miruka
d648156c38
Use a HLabeledItem for MemberProfile power level
2020-07-12 17:00:04 -04:00
miruka
cc831d0640
Move cursorShape property out of HListView
...
The Timeline EventList is the only HListView that uses it. For other
list views, it interferes with items like text fields which need to set
cursor shape by themselves.
2020-07-12 16:59:33 -04:00
miruka
fe831e7865
Add power level display to member profile
2020-07-12 16:14:24 -04:00
miruka
3c7b78d4ca
Reorder QML files to follow coding conventions
...
https://doc.qt.io/qt-5/qml-codingconventions.html#qml-object-declarations
2020-07-12 01:27:44 -04:00
miruka
229fbee298
Remove HRichLabel component
...
Sparsly used and inflexible, just use HLabel
2020-07-12 00:13:52 -04:00