81 Commits

Author SHA1 Message Date
miruka
84567f1ffd Auto-save push rule tab action changes 2021-03-03 17:14:56 -04:00
miruka
f466fe9f08 Implement adding new custom push rules 2021-03-03 17:14:56 -04:00
miruka
e8b8509d22 Open settings popup on pushrule delegate click 2021-03-03 17:14:56 -04:00
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
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
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
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
74ffbdb0a8 Account settings: make user ID label copiable 2021-03-03 17:12:09 -04:00
miruka
6a36943dae Account settings: fix incorrect "User ID:" color 2021-03-03 17:12:08 -04:00
miruka
8acc7299e9 Add workaround for delegate stuck transition bug
Sometimes and randomly, a HListView/HGridView delegate's
add/populate transition will stop before completion.

This especially happens on startup when loading a large room list,
one room might get stuck and left tiny or invisible, despite its
normal space still being taken.
2021-03-03 17:12:08 -04:00
miruka
ee1091b4dc Don't pass Python Future objects to QML
Returning a Future doesn't work on Windows for some reason
(https://github.com/thp/pyotherside/issues/116).

Instead of using these objects from QML to cancel running coroutines,
call a Python QMLBridge function that takes a coroutine UUID and will
take care of the cancelling.
2021-03-03 17:12:08 -04:00
miruka
1df7cb8014 Add copyright header to source code files
Copyright notice as per
https://reuse.software/spec/#format-of-copyright-notices

Fixes #134
2021-03-03 17:12:08 -04:00
miruka
0d7a33d3a9 Unify Sessions (shift+)tab and up/down navigation 2020-09-13 19:28:50 -04:00
miruka
bbb46a9feb Disallow whitespace in composer aliases
These cause problems with the composer alias parsing code.
If an alias from the config file has whitespace, only the first word
will be taken into account (ignoring any leading or trailing whitespace).
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
2ccb28fa49 Box/popups: ignore enter press on disabled buttons 2020-08-21 05:08:12 -04:00
miruka
a389238024 Add window.makePopup(), utils.makePopup() wrapper 2020-08-03 01:26:35 -04:00
miruka
716ac2a0af Refer to custom components to access their enums 2020-07-17 01:45:02 -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
ed030f7dd9 Refactor ButtonLayout module components
- Rename ButtonLayout module to just Buttons

- Rename ButtonLayout into AutoDirectionLayout and move it to Base,
  it's useful not just for buttons

- Rename OtherButton into GroupButton, which is now the base of all
  other Buttons buttons

- Add generic (Positive|Middle|Negative)Button components, which are now
  the base for (Apply|Cancel)Button
2020-07-12 00:13:52 -04:00
miruka
9caaf41eae Disable some account settings while offline 2020-07-10 13:15:01 -04:00
miruka
099c20c138 Add keyboard navigation for account device list
Enter/Return/Menu: open device menu
Space: toggle check device
Escape: uncheck all
Alt+R/F5: refresh device list
Alt+S/Delete: sign out checked or all sessions
2020-07-10 13:14:18 -04:00
miruka
10eeb662af HTile: handle menu key press, open context menu 2020-07-10 13:14:17 -04:00
miruka
7c213a5317 Verify/blacklist devices for all our accounts 2020-07-10 13:14:17 -04:00
miruka
d701e5ea77 Improve "Sign out checked" text 2020-07-10 13:14:17 -04:00
miruka
b47d4d981f Implement session sign out (password auth only) 2020-07-10 13:14:17 -04:00
miruka
1a93190ee2 Improve account settings avatar font size 2020-06-26 07:24:37 -04:00
miruka
980e258df8 Always parent popups to window 2020-06-26 06:41:15 -04:00
miruka
74784803f5 Refresh device list: use HListView.uncheckAll() 2020-06-26 06:11:36 -04:00
miruka
213867750d Add unimplemented auth popup for deleting devices 2020-06-26 04:30:47 -04:00
miruka
a22c8ba3ad Account: remove line break after "User ID:" 2020-06-26 03:19:58 -04:00
miruka
78c04e6404 Fix flickable pages keyboard scrolling 2020-06-26 03:16:36 -04:00