Commit Graph

915 Commits

Author SHA1 Message Date
miruka
96a1e57f47 LeaveRoomPopup: new text for declining invites 2021-07-26 04:39:57 -04:00
miruka
20e8a19017 Unify cancel button & escape keybind for pages
AddChat and AccountSettings:

- When clicking the cancel button, if there's no previous back to go
  back to, focus the main pane instead of doing nothing

AccountSettings:

- Always enable the cancel button, not just when the form has been
  modified

AddChat, AccountSettings, ServerBrowser:

- Pressing escape will do the same thing as clicking the cancel button
2021-07-26 04:39:57 -04:00
miruka
01e7a1ac13 Add back button to all pages in thin window mode
In "mobile mode" where main pane is hidden due to application's width:

- Show a back button in the tab bar of the AccountSettings and
  AddChat pages

- Show a back button in the address field (opposite to the "next
  button") of the ServerBrowser, unless there are no accounts added yet
  (application first run) and the main pane would be empty
2021-07-26 04:39:57 -04:00
miruka
46e058f2de Add conveniance HDrawer.normalOrForceCollapse prop 2021-07-26 04:39:57 -04:00
miruka
4925b5a134 Back/FW UI buttons tooltips: shorter & consistency 2021-07-26 04:39:57 -04:00
miruka
bcb9ffcf9d Room settings: add room ID text area + copy button
The only way to see a room's ID previously was to right click a room in
the left pane, copy option, and paste it somewhere.
2021-07-26 04:39:57 -04:00
miruka
1d29e47818 Fix warning when quitting before config is loaded 2021-07-26 04:39:57 -04:00
miruka
57a7b567ca Keys.Account.AtIndex binds: don't focus 1st room
Go to the corresponding account settings instead of trying to focus the
first room of the target account if there is one.

This makes the behavior consistent across expanded and collapsed
accounts, and with the Keys.Account.(previous/next) keybinds that
were changed to work in this way in commit
4f4bc90faa.
2021-07-26 04:39:57 -04:00
miruka
806983db93 Use Instantiator for RoomList AtIndex keybinds
Instantiator is better suited to the task: Repeater is specially
made to load visual components, and that forced us to wrap the
HShortcuts inside empty Items.
2021-07-26 04:39:57 -04:00
miruka
66169e641e Fix history navigation when <2 items in history
On startup, there will be one page in the history, not zero.
Disable history navigation in such cases where the current page will
just get selected again.
2021-07-26 04:39:57 -04:00
miruka
58b4667c31 Navigate page history with mouse back/forward 2021-07-26 04:39:57 -04:00
miruka
b9ea61e133 Utils.qml: fix indentation of an if 2021-07-26 04:39:57 -04:00
Maze
c140d69138 Add visited pages history back/forward keys (#204)
* Add keys for back and forward through history

Move through history of visited rooms without altering it.
Ctrl+H and Ctrl+Y by default.
Deviating from history while in the middle of it
causes a part of history to be discarded.

* Change default history binding to Ctrl+H and Ctrl+Shift+H

* Rename functions and settings

`earlier_page` and `later_page` is consistent naming with `last_page`

* Add option to wrap history

If you press `later_page` while at index 0 (newest), you loop to the end
of recorded history (oldest). If you press `earlier_page` while at at
the end of history (oldest), you loop back to the top (newest).
This can be disabled.

* Add showNthFromHistory

Grouped duplicated code into a new funcion.

* Minor formatting changes

* Move wrap_history setting from to General section

The Keys section is purely for keybindings; this setting should also be
able to control history navigation not done by keyboard such as extra
mouse button bindings.

* Change default bind for later_page and clear_all

Ctrl+H and Ctrl+L are a more intuitive pair than Ctrl+H and Ctrl+Shift+H.
Meanwhile, clear_all does not need the accessible binding Ctrl+L.

Co-authored-by: miruka <miruka@disroot.org>
2021-07-26 04:39:57 -04:00
MRAAGH
f88ab45b94 Add keybinding for quit (#203)
* Add keybinding for quit

* Reorder default settings

The related keybindings are now located closer together.
quit is not commented by default, but instead has an empty list.

* No need for braces for a single instruction
2021-07-26 04:39:57 -04:00
miruka
03349ae33f Add "Add another account" entry to settings menu
To do: replace the bottom-left "add account" button by something else,
move the corresponding keybind code away
2021-07-26 04:39:57 -04:00
miruka
6febaeeb1b Support the http_proxy environment variable
Overrides General.proxy setting if set
2021-03-03 17:14:57 -04:00
miruka
f6f0a0c1ee Add General.proxy setting, supports HTTP & SOCKS5 2021-03-03 17:14:57 -04:00
miruka
bbe6415336 Have radius only on text fields/areas with borders
Fixes the appearance of the filter room/members fields
2021-03-03 17:14:57 -04:00
miruka
d828312a24 Fix focus problems for submenues in context menues 2021-03-03 17:14:57 -04:00
miruka
902f13ab68 Lock position of the room that's focused in GUI
When the currently shown page is the chat of a certain room,
prevent that room from moving around in the left pane due to new
messages/activity or unread/highlight counters change.

When the user switches to another page/room, the previously held lock is
released and that room completes all the moves it would have done if it
wasn't locked.

This makes navigating a room list with lots of activity easier, and
prevent annoyances like clicking on a room with unread messages and
having it immediatly fly down the list (possibly out of scroll view).
2021-03-03 17:14:57 -04:00
miruka
81c460cbaf Revert "Fix the one-line events combining"
This reverts commit 39f159f0a3.

Causes problems when message delegates are reordered, with the
transition animations randomly stopping in the middle and leaving
delegates at odd positions.
2021-03-03 17:14:56 -04:00
miruka
cfce4e1ddc Pre070SettingsDetectedPopup: point to master docs 2021-03-03 17:14:56 -04:00
miruka
92c49140e7 Play sound from python/ALSA instead QtMultimedia
GStreamer sucks
2021-03-03 17:14:56 -04:00
miruka
ffcccd38d2 Add documentation link to settings menu
And make mirage x.y.z label no longer open the github page
2021-03-03 17:14:56 -04:00
miruka
1db8c66759 Hide image event name/time bubbles when kb-focused 2021-03-03 17:14:56 -04:00
miruka
376364afad PushRuleSettingsPopup: add some missing padding 2021-03-03 17:14:56 -04:00
miruka
9de4252924 PushRuleSettingsPopup: remove unused action + btn 2021-03-03 17:14:56 -04:00
miruka
c46e1eb897 PushRuleSettingsPopup: add custom sound field 2021-03-03 17:14:56 -04:00
miruka
ef1f6edf31 PushRuleSettingsPopup: handle enter to save 2021-03-03 17:14:56 -04:00
miruka
e9af47e1c7 Fix popups not being flickable by keyboard 2021-03-03 17:14:56 -04:00
miruka
e45055f48c Indicate when combo box accepts custom input 2021-03-03 17:14:56 -04:00
miruka
768a343412 Fix spinbox glitch on min/max numbers 2021-03-03 17:14:56 -04:00
miruka
41bc082044 PushRuleSettingsPopup: disable save if no rule ID 2021-03-03 17:14:56 -04:00
miruka
e0b7974904 Mention event content rule can use a glob pattern 2021-03-03 17:14:56 -04:00
miruka
d5f6459e54 AccountSettings: fix second tab being default 2021-03-03 17:14:56 -04:00
miruka
c18ea2704b PushRuleSettingsPopup: spinner while saving/rming 2021-03-03 17:14:56 -04:00
miruka
656092cec4 Add bottom margin to notifications page spinner 2021-03-03 17:14:56 -04:00
miruka
bc0646ef90 Better indicate when a pushrule is disabled 2021-03-03 17:14:56 -04:00
miruka
db24ebc082 Increase pushrules auto-save timer: 10 → 30s
10s is too short and can bother user setting their rules
with the save's visible effects
2021-03-03 17:14:56 -04:00
miruka
99325fde86 Add support for notification sound effects 2021-03-03 17:14:56 -04:00
miruka
26a68acefd Rename Notification... components for consistency 2021-03-03 17:14:56 -04:00
miruka
e5e78dcefa Rename notification bell icons for consistency 2021-03-03 17:14:56 -04:00
miruka
80c7b07d10 Add bell icons back to global notification menu 2021-03-03 17:14:56 -04:00
miruka
0f2023b924 Customize check mark for checkable menu items 2021-03-03 17:14:56 -04:00
miruka
7604b0f96a Customize submenu arrow for HMenuItem 2021-03-03 17:14:56 -04:00
miruka
d7fbe8c222 Add keybinds to control global notifications
Alt+M: toggle "mute all notifications except highlights"
Alt+Shift+M: toggle "mute all notifications"

The Keys.Rooms.(previous/next)_highlight keybinds, previously bound to
Alt+(Shift+)M (stood for "mention") now defaults to Alt+(Shift+)H.

The NotificationLevel enum and notificationLevel property had to be
moved from Window to UI due to QML having a global "Window" object that
causes conflicts when trying to access the enum as
"Window.NotificationLevel" from UI.qml.
2021-03-03 17:14:56 -04:00
miruka
93ced92cda Add Notifications.start_level setting 2021-03-03 17:14:56 -04:00
miruka
9c56e78164 PushRuleSettingsPopup: highlight action precision 2021-03-03 17:14:56 -04:00
miruka
027454c6e0 Improve global notifications menu
- More descriptive menu entries
- Indicate the current setting in the menu with a checkmark
- Remove menu button tooltip that gets in the way
- Remove unused icon
2021-03-03 17:14:56 -04:00
miruka
0017a1562c Room context menu: notification setting checkmark
Indicate which notification override setting is currently active
2021-03-03 17:14:56 -04:00