62 Commits

Author SHA1 Message Date
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
a389238024 Add window.makePopup(), utils.makePopup() wrapper 2020-08-03 01:26:35 -04:00
miruka
fcf6b45bf6 Disable timeline scrolling when a popup is open 2020-07-27 00:16:04 -04:00
miruka
87ad3ccab1 Fix truncated "Loading previous messag..." text 2020-07-22 16:26:30 -04:00
miruka
fdc06d81fd Add info bar to image viewer 2020-07-21 17:34:45 -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
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
66a44b5251 Split ImageViewer components 2020-07-20 14:27:52 -04:00
miruka
2001fcf70a openImageViewer(): take an optional callback 2020-07-19 20:33:40 -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
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
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
27b914b0bf Tell user when not loading history due to offline 2020-07-10 13:14:59 -04:00
miruka
1a32c26b4d Don't animate "Loading messages..." when invisible 2020-07-03 15:00:07 -04:00
miruka
980e258df8 Always parent popups to window 2020-06-26 06:41:15 -04:00
miruka
d058926902 Uncheck messages before clearing event list 2020-06-26 06:11:03 -04:00
miruka
7f66ebb786 Re-add local highlights similar to 0.5.0 2020-06-26 05:59:16 -04:00
miruka
aa8dbce3a7 Re-add local unread "counter" similar to 0.5.0 2020-06-26 05:59:11 -04:00
miruka
f2f4643189 Remove event list scrollbar padding 2020-06-22 13:10:48 -04:00
miruka
3314489a26 Make room settings pane scrollable
The new Base/ButtonLayout components will be used in the near future to
refactor other HBox-based components
2020-06-05 05:42:12 -04:00
miruka
5402a332d2 Fix updating read receipt
- Find the last event that wasn't sent by us to update the marker to,
  instead of picking whichever is the most recent

- Use the proper event ID instead of ID that could be a local echo

- Wait for the current marker update request to complete before trying
  to send a new one
2020-06-04 23:12:03 -04:00
miruka
835d1c486f Add markRoomReadMsecDelay setting 2020-06-01 18:57:17 -04:00
miruka
f686b96511 Cross-client unread counters & send read receipts 2020-06-01 09:25:09 -04:00
miruka
1fea162fac Give up finding last event to respond to after 1k 2020-05-22 00:18:44 -04:00
miruka
6c7335e5db Add keybind to open links in messages
Ctrl+O by default.
Opens externally all links in selecteds, focused or the last
message that has links.
Can't open files (media events) yet.
2020-05-22 00:10:45 -04:00
miruka
d6846b08d9 Fix debugFocusedMessage keybind 2020-05-20 07:12:00 -04:00
miruka
26074fabd5 Handle reply keybind when multiple events selected 2020-05-20 06:58:38 -04:00
miruka
d1d7bffc8f Add replyToFocusedOrLastMessage keybind (ctrl+Q) 2020-05-20 06:51:26 -04:00
miruka
a1b485c039 Add ownMessagesOnLeftAboveWidth setting
Replaces the theme eventList.ownEventsOnRightUnderWidth property.
Can be set to -1 to always keep our own messages on the right.
2020-05-16 14:37:45 -04:00
miruka
3e10a6d530 Don't show popup when focusing unredactable event 2020-04-03 12:58:15 -04:00
miruka
1e049a0159 Unselect before unfocusing messages with keybind 2020-04-03 07:53:36 -04:00
miruka
0e04eafebd Redaction local echo for our other accounts 2020-04-03 07:53:36 -04:00
miruka
5cb013838b Be able to redact our other account's events 2020-04-03 07:53:36 -04:00
miruka
f8fe5d812b Imrpove redacted events text 2020-04-03 07:53:36 -04:00
miruka
38cc0b1bc7 Ensure last event to delete is ours 2020-04-03 07:53:36 -04:00
miruka
5ea339ea33 Add keybinds for message removal 2020-04-03 07:53:36 -04:00
miruka
554f5d6013 Fix need to press Esc twice to exit popups/menus 2020-04-03 07:53:36 -04:00
miruka
790229e188 Make DebugConsole keyboard-scrollable again 2020-04-03 07:53:36 -04:00
miruka
1038678a2f Refactor global shortcuts, simplify debug consoles
- Move out all shortcuts from their central file to the component they
  actually belong to

- Get rid of DebugConsoleLoader and the multiple consoles handling mess,
  have only one global console
2020-04-03 07:53:36 -04:00
miruka
311a53f8f4 "Unselect" → "Deselect" 2020-03-27 07:06:38 -04:00
miruka
ff8fd01eb1 Fix copying selected non-message events 2020-03-27 05:38:29 -04:00
miruka
c03bf32a7b Theme color for eventList highlight 2020-03-27 05:09:49 -04:00
miruka
af6cdc9013 Rename HListView checking-related functions 2020-03-27 05:05:25 -04:00
miruka
3f69710813 Allow copying text from non-message events 2020-03-27 04:58:49 -04:00
miruka
936c49127d Add keyboard controls for message focus/selection 2020-03-27 04:49:01 -04:00
miruka
6ca10e1f2b Customizable unselectAllMessage keybind 2020-03-27 03:53:25 -04:00
miruka
e696c16fc8 Remove old drag-scrolling hack code 2020-03-26 22:22:07 -04:00
miruka
18f53829d9 Make composer/eventList ctrl-c work again 2020-03-26 22:00:00 -04:00