Commit Graph

467 Commits

Author SHA1 Message Date
miruka
765ce46aeb Add popup to edit push rules 2021-03-03 17:14:56 -04:00
miruka
977be541aa Require notify button on for other push actions
In the notification push rules UI:

- When the notify button for a rule (blue +1) is toggled off, show
  all other action buttons as toggled off too

- When clicking on another action while notify is off, enable notify and
  that action
2021-03-03 17:14:56 -04:00
miruka
0ca8d46eae Fix and rename "Sessions" keybinds
Fix refresh and sign out keybinds that were broken, and rename
these in settings.py:

- Keys.Sessions.refresh → Keys.Security.refresh
- Keys.Sessions.sign_out_checked_or_all → Keys.Security.sign_out
2021-03-03 17:14:56 -04:00
miruka
c7d4f719b6 Security.qml: fix first DeviceSection padding 2021-03-03 17:14:56 -04:00
miruka
df979ec5fa Show spinner while push rule list is loading 2021-03-03 17:14:56 -04:00
miruka
6aec20b4d8 Account settings: rename Account tab to General 2021-03-03 17:14:56 -04:00
miruka
8d1d6be701 Notifications.qml: improve paddings consistency 2021-03-03 17:14:56 -04:00
miruka
2ef1edb3dc Remove pointless local_highlights
An event can only be considered a highlight if a push rule make it so,
thus an event can never be locally highlighted only.
2021-03-03 17:14:56 -04:00
miruka
35a8c0aec4 Use nio.PushRuleKind instead of own enum 2021-03-03 17:14:56 -04:00
miruka
8748c6445f Push rules sound: be a string, not just on/off 2021-03-03 17:14:56 -04:00
miruka
d2fc003617 Ignore changes for now deleted push rules on save 2021-03-03 17:14:56 -04:00
miruka
99c5346dba Store pushrules in model with (kind, rule_id) keys
Two rules of different kinds can have the same rule ID
2021-03-03 17:14:56 -04:00
miruka
d5bcaca874 Add saving of pushrules action changes 2021-03-03 17:14:55 -04:00
miruka
bb8f394b78 Implement a non-functional push rule control UI 2021-03-03 17:14:55 -04:00
miruka
97f6acbb0d Security.qml: loginFuture → loginFutureId 2021-03-03 17:14:55 -04:00
miruka
0d8d07e352 Use refreshButton.loading, not separate spinner 2021-03-03 17:14:55 -04:00
miruka
38da930a99 Fix/improve Security page offline account handling 2021-03-03 17:14:55 -04:00
miruka
755d954948 Merge account settings Encryption & Sessions page 2021-03-03 17:14:55 -04:00
miruka
7af1456c1d Add visible indicator when downloading files
Downloading file messages will now show a transfer control above the
composer, similar to uploads. Measuring the progress or pausing the
operation is not possible yet.
2021-03-03 17:14:55 -04:00
miruka
fd2d9d2c31 Fix image events read counter being underlined
caused by 2ca01c69d8e56e903e346b604842cf0664583f0d
2021-03-03 17:14:55 -04:00
miruka
4070b75544 RoomHeader: add message selection info and actions
When messages are selected in the timeline, change the chat header's
mode to show how many messages are selected and offer copy, remove and
deselect buttons.
2021-03-03 17:14:55 -04:00
miruka
c59d54877a Add Keys.Messages.seen_tooltips keybind
Toggle display of the focused message's seen counter tooltip,
which shows which user have this message as their last seen
and when did they send that information.
When this mode is active, you can move the focus
to other messages  and the tooltip will update itself.
If a message doesn't have a counter, it won't have a tooltip.
2021-03-03 17:14:55 -04:00
miruka
f22758ea89 Add tooltips to the message "read by" indicator
Hovered the read by counter on timeline events now shows who read said
event and when.
2021-03-03 17:14:55 -04:00
miruka
6184f1cfa5 Add utils.commaAndJoin() for "a, b and c" strings 2021-03-03 17:14:55 -04:00
miruka
661ca47430 Fix Keys.Messages.debug keybind 2021-03-03 17:14:55 -04:00
miruka
e4959f503c Reimplement swipe to exit sidepane via DragHandler 2021-03-03 17:14:55 -04:00
miruka
7029148c87 Fix some chat right pane issues
- Remove the default Qt dragMargin: when the right pane was
  hidden/collapsed in the interface, accidentally clicking on this
  invisible 10 pixel-wide zone to the right edge of the window
  would interfere with any button under it, e.g. the button to
  expand the pane

- Fix expand pane button failing to bring back pane (due to dragMargin)
  and turning the chat page header invisible

- Disable swiping to exit panes, interferes with buttons and tiles
2021-03-03 17:14:55 -04:00
miruka
98b6a7b74e Add detail tooltips in server browser stability %
When hovering on stability percentages in the server browser, a tooltip
now shows the total downtime in the past 30 days, number of incidents,
their average length and the longest's duration.
2021-03-03 17:14:55 -04:00
miruka
1a101d9888 Disable new theme test code for now 2021-03-03 17:14:55 -04:00
miruka
8d4e67d6a4 Fix EventList stuff depending on scroll position
Add visibleStart/End properties to HListView that take into account the
ListView's originX/Y, and not just contentX/Y which can be largely
offset.

Use those new properties in EventList for message focusing (fix
ctrl+up/down sometimes incorrectly focusing the message at the middle of
the screen even when we're scrolled at the bottom), and detection of
when we can update the read marker (fix cases when we're scrolled at the
bottom but the read marker never updates).
2021-03-03 17:14:55 -04:00
miruka
42f04b013e Add PCN theme system
Coexist with the old theme system for now. QML components have to be
updated to use the new system.
2021-03-03 17:14:55 -04:00
miruka
eed2cc4818 Remove double blank lines from QML files 2021-03-03 17:14:55 -04:00
miruka
3564e7a571 Turn bookmarks/aliases/at_index into Sections 2021-03-03 17:13:51 -04:00
miruka
db12036372 Use new PCN format for settings config file 2021-03-03 17:12:09 -04:00
miruka
75fbf23b21 Refactor user_files module & add live reloading
- Cleaner design for the backend user_files classes and simplified
  interaction with QML
- Config and theme files will now automatically reload when changed on
  disk
- Removed manual reload keybind and button
2021-03-03 17:12:09 -04:00
miruka
00c468384a Delay increasing timeline cache buffer, reduce lag
When switching rooms, first load only the delegates in the user's view
and wait a second before expanding the cacheBuffer and loading more
delegates outside the view. This reduces the amount of delegates to load
all at once by 3x.
2021-03-03 17:12:09 -04:00
miruka
ce3ed86bef Fix timeline occasionally breaking on room switch
When a chat page is recycled, set the eventList model to
null, wait for any animations to finish, then explicitely reassign it.
This prevents from model from randomly mixing up old and news delegates.
2021-03-03 17:12:09 -04:00
miruka
ed74592769 Add HToolTip.instantToggle(), use for some buttons
Used for buttons that trigger a tooltip instantly: if the tooltip is
currently visible, hide it.
2021-03-03 17:12:09 -04:00
miruka
0eb57c5986 Move composer alias "?" icon to be inside field
Be more consistent with the user ID field and its copy button.
2021-03-03 17:12:09 -04:00
miruka
28b25a53ea Make account user ID an easily copiable RO field 2021-03-03 17:12:09 -04:00
miruka
6af4cca315 Add FieldCopyButton.qml, split from SignInSso.qml 2021-03-03 17:12:09 -04:00
miruka
74ffbdb0a8 Account settings: make user ID label copiable 2021-03-03 17:12:09 -04:00
miruka
7564b40c3e Fix copying multi-line selected rich text
For rich text (rendered HTML) fields and areas, the selectedText
property for some reason contains "\u2028" or "\u2029"
characters that look like newlines in Qt programs but are just
invisible anywhere else. Translate them to normal "\n".
2021-03-03 17:12:09 -04:00
miruka
b94570f853 Support drag and drop for files and text in chat 2021-03-03 17:12:09 -04:00
miruka
4c04c1158c Fix sign in button always showing spinner 2021-03-03 17:12:09 -04:00
miruka
38360b101a Fix JoinRoom cancel button not going to last page 2021-03-03 17:12:09 -04:00
miruka
3bfaee4758 Fix invisible "Copy link address" event menu entry
menu.mediaType can be an enum value, which includes 0 to represent a
web page link, or null if no link was right clicked.
Check for null explicitely when evaluating whether the menu entry
should be displayed.
2021-03-03 17:12:08 -04:00
miruka
6e2f3440d7 Close reply bar when switching/recycling chat page 2021-03-03 17:12:08 -04:00
miruka
1feda8667f Cancel reply when pressing keybind on same event 2021-03-03 17:12:08 -04:00
miruka
6a36943dae Account settings: fix incorrect "User ID:" color 2021-03-03 17:12:08 -04:00