Commit Graph

497 Commits

Author SHA1 Message Date
miruka
3f88a2204e errors.py: remove duplicate MatrixBadGateway class 2021-03-03 17:14:56 -04:00
miruka
4bff58c828 model.py: remove leftover debugger call 2021-03-03 17:14:56 -04:00
miruka
a3206501de Fix mypy complaint in MatrixClient.edit_pushrule 2021-03-03 17:14:56 -04:00
miruka
5476cf1e6d Don't pass ModelItem fields starting with _ to QML 2021-03-03 17:14:56 -04:00
miruka
045bce5f9c Remove model item __lt__ docstrings
Duplicate efforts and get outdated when the code better explains
how items are sorted
2021-03-03 17:14:56 -04:00
miruka
d31ee9cd67 Shorten lexical vs by activity room sorting code 2021-03-03 17:14:56 -04:00
miruka
f0d7757f0c Catch simpleaudio playback errors
Because of course sound isn't just gonna work on linux and
especially flatpak. Make sure to not spawn an error popup every time
we try to play a notification. Maybe use mpv in the future for
SFX playback (when we'll have a media player implemented),
since it has support for all these backends out of the box.
2021-03-03 17:14:56 -04:00
miruka
c420360602 settings.py: support ~ expansion for sound path 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
f49282ff36 Bump version strings to v0.7.0 2021-03-03 17:14:56 -04:00
miruka
8b53b4ae11 When replacing disabled rule, disable new rule too 2021-03-03 17:14:56 -04:00
miruka
1b0bec3470 Add options to disable HTML in notifications 2021-03-03 17:14:56 -04:00
miruka
fe92ce6730 Fix avatar/display name missing from notifications
This happened when we got a message from an account-room pair
where the full member list hadn't been loaded yet, i.e. the user had
never focused the room since starting the client
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
miruka
af321d8eae Add notification options to room context menu 2021-03-03 17:14:56 -04:00
miruka
8a6f7c262f Change room bookmark terminology to pin/unpin
Pin/unpin is more representative of what the function actually does
for rooms in the left pane. Also change the corresponding icons and
renames the config file section: RoomList.Bookmarks → RoomList.Pinned
2021-03-03 17:14:56 -04:00
miruka
84567f1ffd Auto-save push rule tab action changes 2021-03-03 17:14:56 -04:00
miruka
4306098692 Add actions to push rule settings popup 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
8c4e5deb66 Implement removing push rules 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
a06ce3352e Make local unread markers optional, off by default
Add RoomList.local_unread_markers option to settings.py,
which is False by default.
Before, this way always enabled and conflicts with push rules by marking
anything as unread without any logic.
2021-03-03 17:14:56 -04:00
miruka
de34e25f4f Urgency hint enabled by default depending on sound
Make the urgency hint tweak for push rules actions enabled by default if
the rule also has the sound tweak enabled, instead of highlight tweak.
2021-03-03 17:14:56 -04:00
miruka
3dd12691b8 Make desktop notifications follow push rules 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
9473e97c61 Don't reset model on account data pushrules event 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
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
86f0a8a6a0 Add warning popup when old settings.json detected 2021-03-03 17:14:55 -04:00
miruka
626a43b7b0 Replace pprintpp usage by devtools.debug 2021-03-03 17:14:55 -04:00
miruka
0dadf7de97 Have split python_(remote_)debugger keybinds
python_debugger (shift+F1) will now always start pdb, and
python_remote_debugger will always start remote_pdb.
Since the new autoreload.py script doesn't break stdin like entr with
live-reload.sh did, we can now use pdb if the app is connected to a
terminal.
2021-03-03 17:14:55 -04:00
miruka
01adc71646 Catch error when sending dbus notification fails 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
ae4bcffa06 settings.py: add Chat.Composer.TypingNotifications 2021-03-03 17:14:55 -04:00
miruka
50d4aae188 Remove unused ExitRequested pyotherside event 2021-03-03 17:14:55 -04:00
miruka
69a338f610 Fix handling errors in config files on startup 2021-03-03 17:14:55 -04:00
miruka
199ec7646b Watch files included from PCN files (auto-reload) 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
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
1af1d30c48 Make color module objects available to PCN 2021-03-03 17:14:55 -04:00
miruka
64c0998a68 Merge color.py and svg_colors.py
The SVG colors are now an enum of Color objects, instead of hex strings.
The "transparent" color was also added, which isn't in the standards but
works in QML.
2021-03-03 17:14:55 -04:00
miruka
97cfe7049d Add color.py module for theming 2021-03-03 17:14:55 -04:00
miruka
a53aec0ff9 Fix handling of config file deleted at runtime 2021-03-03 17:14:55 -04:00
miruka
c1dc9a80b2 Fix default data when no .gui.json file exists 2021-03-03 17:14:55 -04:00
miruka
9a813ecaa8 Fix PCN include_builtin() when running under QRC 2021-03-03 17:14:55 -04:00
miruka
1e002eb4a5 Fix flake8/mypy/isort code errors from new setup 2021-03-03 17:14:55 -04:00