Commit Graph

500 Commits

Author SHA1 Message Date
MattHag 5a63e44d58 Remove empty comment lines
Remove hashtags solely used for structuring.

Related #2273
2024-06-02 09:54:21 -04:00
Matthias Hagmann c9dc232951 Refactor: Use dataclasses and enums
Replace unnecessary NamedInts in favour of default data types.
Simplify interfaces by reducing possible input from strings to members
of an enum.
2024-05-22 21:14:41 -04:00
Matthias Hagmann 7d171b1d09 Refactor: Use dataclasses and enums
Replace NamedTuples with more flexible dataclass, which also support
type hints. Introduce enums to replace constant strings, which need to
be kept in sync. Also enhances interfaces by limiting it to the enum
values. Remove unused variables.
2024-05-22 21:14:41 -04:00
Peter F. Patel-Schneider b4811f602d ui: fix bug with logo in about window 2024-05-04 04:46:27 -04:00
MattHag 959dd2a35b
Refactor rule loading for testability (#2456)
rules: Introduce tests for YAML rule loading functionality.
2024-04-27 17:56:27 -04:00
Peter F. Patel-Schneider bd437b548b ui: refactor pair_window 2024-03-25 09:13:22 -04:00
Peter F. Patel-Schneider 97d214f667 ui: handle situation when read of a setting fails 2024-03-24 15:44:15 -04:00
Matthias Hagmann 4e6361429e refactor: Use f-strings for more exceptions and log message
Semi manually convert remaining strings with no translation to f-string.
2024-03-24 07:01:56 -04:00
Peter F. Patel-Schneider 50c8013cb1 ui: reduce deprecation warnings in ui 2024-03-19 09:07:21 -04:00
Matthias Hagmann c6adf94e5d refactor: Use dataclass for TestByte
Related #2378
2024-03-14 17:15:10 -04:00
Matthias Hagmann 2f6e3e21ec refactor: Split diversion rules into smaller modules
Put rule conditions and actions into their into module

Related #2378
2024-03-14 17:15:10 -04:00
Matthias Hagmann 4e7356385d refactor: Make _populate_model a function
Related #2378
2024-03-14 17:15:10 -04:00
Peter F. Patel-Schneider 154dd7017f rules: allow sub-second delays in Later 2024-03-14 17:08:47 -04:00
Ferdina Kusumah a02b1065ac Add indonesian translations 2024-03-14 12:44:36 -04:00
Matthias Hagmann 5b09ace1f5 ruff: Apply single line import format
# Usage
pre-commit run --all-files

Related #2295
2024-03-13 15:41:21 -04:00
Matthias Hagmann e92f1a8a0b Automatically upgrade strings to f-string
Used flynt to convert strings to f-strings, where safely possible.

Usage:
flynt .

Related #2372
2024-03-13 11:02:50 -04:00
MattHag 704d591448
ui: refactor diversion_rules
* refactor: Create close dialog in its own function

Related #2378

* refactor: Create selected rule edit panel in module level function

Related #2378

* refactor: Remove commented code

Related #2378

* refactor: Use Gdk constant for right click button comparison

Related #2378

* refactor: Make _menu_do_copy a function

Related #2378
2024-03-11 10:19:20 -04:00
Peter F. Patel-Schneider 569f829a63 ui: fix bug in determining tray icon 2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider 9c5ba6445e device: remove status from Device and Receiver 2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider 1fe2eab1a4 device: move link_encrypted from status to Device 2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider 15d425c365 device: move battery information from status to Device 2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider 0805ecb511 device: move status string function to Device and Receiver 2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider 87285faf7f receiver: move pairing status to new dataclass attached to receiver 2024-03-11 08:23:27 -04:00
Peter F. Patel-Schneider 135c8b8cb9 device: use status attribute for error 2024-03-09 10:36:40 -05:00
Peter F. Patel-Schneider 8154cd759f device: use status attribute for notification_flags 2024-03-09 10:36:40 -05:00
Peter F. Patel-Schneider 6b3f09aa5d device: use status attribute for link_encrypted 2024-03-09 10:36:40 -05:00
Peter F. Patel-Schneider 9121169f91 ui: use Battery object in GUI 2024-03-09 10:36:40 -05:00
Swapnil Devesh 5ee1c6df30
ui: fix app name casing in UI
* Fix app name casing in UI

* Linter fixes

* Only use NAME variable

* FIx linter errors
2024-03-05 12:08:56 -05:00
Matthias Hagmann 7ef3059b69 clean up: Remove editor specific marks
Related #2273
2024-02-29 10:10:46 -05:00
Matthias Hagmann c3b01bffae fix: Replace invalid hidpp10 usage
Related #1097
2024-02-28 17:41:46 -05:00
Peter F. Patel-Schneider 8ae86acd65 ui: fix bug when displaying receiver notification flags 2024-02-26 10:55:14 -05:00
Matthias Hagmann eb937fcc3a Manually fix linter issues
Related #2295
2024-02-20 15:41:10 -05:00
Matthias Hagmann 7774569971 Apply ruff format
Run ruff auto formatting using:
ruff format .

Related #2295
2024-02-20 15:41:10 -05:00
Peter F. Patel-Schneider 6f633efac5 ui: implement setting_changed callback and pass in to new devices and receivers 2024-02-20 06:19:23 -05:00
Peter F. Patel-Schneider fa9494435b device: streamline status code 2024-02-19 09:18:08 -05:00
Peter F. Patel-Schneider ab9e06829a ui: move ui_async to common.py 2024-02-18 08:09:34 -05:00
Peter F. Patel-Schneider 12de240949 device: improve imports in logitech_receiver
device: move imports of ui modules to beginning of files

logitech_receiver: remove imports from __init__.py
2024-02-18 06:21:35 -05:00
Peter F. Patel-Schneider d1c899d6da solaar: improve imports and guard Gtk, etc imports with correct version
solaar: move imports to top of files

solaar: move more imports to top of files

solaar: guard Gtk, etc imports with correct version
2024-02-18 06:21:35 -05:00
Peter F. Patel-Schneider 17e6463950 ui: improve imports in ui
ui: move imports in about.py to top of file

ui: move imports to top of notify.py

ui: move imports to top of window.py

ui: reorder imports at beginning of __init__.py

ui: move imports to top of tray.py

ui: move common code out of __init__.py to common.py

ui: move imports to top of __init___.py
2024-02-18 06:21:35 -05:00
Peter F. Patel-Schneider 8facd0cf68 dist: rename light icons and install them in correct place 2024-02-15 08:51:36 -05:00
Peter F. Patel-Schneider fb5b7e0582 ui: better checking for setting in record_setting 2024-02-13 04:01:19 -05:00
Matthias Hagmann ca24a93005 Fix invalid func name set logo name
Related #2254, #2276
2024-02-13 03:28:51 -05:00
Peter F. Patel-Schneider e6aacc42dd ui: tidy up scrolling appearance in configuration panel 2024-02-11 16:50:31 -05:00
Peter F. Patel-Schneider 663490ea4b ui: don't unlock setting when changed by external means 2024-02-10 14:45:00 -05:00
Peter F. Patel-Schneider 468fad1358 ui: refactor code to record change to setting 2024-02-10 14:45:00 -05:00
MattHag 87658fb189
logging: Simplify logger instantiation
* logging: Simplify logger instantiation

Relates #2254

* logging: Remove aliases

Relates #2254

* logging: Replace deprecated warn with warning

Related #2254

* logging: Fix mistake

Related #2257
2024-02-10 13:55:27 -05:00
Peter F. Patel-Schneider 8811374ed9 ui: don't lock setting when an error occurs 2024-02-10 09:15:27 -05:00
Peter F. Patel-Schneider 23517048d4 device: clean up data for LED effects 2024-02-09 08:36:36 -05:00
Peter F. Patel-Schneider 7c441cc652 ui: better startup behavior for LED effect settings 2024-02-09 08:36:36 -05:00
Peter F. Patel-Schneider 73d091c86f ui: add UI for LED Zone control 2024-02-09 08:36:36 -05:00
Peter F. Patel-Schneider 9c4bbec5e2 ui: handle backlight notification 2024-02-06 12:49:08 -05:00
Peter F. Patel-Schneider db4e40e3ac device: add extended report rate setting 2024-02-01 10:13:03 -05:00
Peter F. Patel-Schneider 5ca1790cb8 ui: better handling and installation of icons 2023-11-19 12:06:04 -05:00
Peter F. Patel-Schneider b50b88be06 ui: update codename when device status changes 2023-10-06 16:17:47 -04:00
Peter F. Patel-Schneider 90a0408bd6 rules: add single depress and release options for rule mouse click action 2023-09-16 10:28:56 -04:00
Peter F. Patel-Schneider fc38862e8b rules: add rule condition for hostname 2023-09-16 10:28:56 -04:00
Peter F. Patel-Schneider d7bd55bdf1 device: upgrade messages when no supported device found 2023-08-02 20:34:27 -04:00
Anderson Silva bf8c2b3d3d Update about.py
Update copyright date in about page to reflect current year (2023)
2023-05-30 15:32:52 -04:00
Peter F. Patel-Schneider 4a9b46679c ui: rearrange code in tray.py 2023-04-05 11:55:53 -04:00
Peter F. Patel-Schneider 04f2adfd75 ui: remove deprecated GTK code 2023-03-08 20:40:27 -05:00
Peter F. Patel-Schneider 78341f87e9 ui: add editing of Device rule condition 2023-02-18 11:25:25 -05:00
Peter F. Patel-Schneider 57c0c5d4b3 ui: don't show wireless link or battery information when unknown or not present 2023-02-16 07:39:36 -05:00
Peter F. Patel-Schneider dcbf547195 ui: online devices with no battery information probably don't have a battery 2023-02-16 07:39:36 -05:00
Peter F. Patel-Schneider 14fd8efc9e ui: mention compatability and non-connection in pairing window 2023-01-09 05:20:16 -05:00
Peter F. Patel-Schneider ef0db31687 ui: improve determination of whether pairing possible 2023-01-09 05:20:16 -05:00
Matt Broadway f8a6396cdf
ui: Filter and escape technical detail fields (#1953)
Since the values for the 'technical details' fields are arbitrary
some characters need to be filtered out for them to display properly.
markup characters such as < or > are now escaped and null characters
are removed.

Empty fields are no longer displayed in technical details.
2023-01-02 15:07:26 -05:00
Peter F. Patel-Schneider 7215022089 ui: improve error pop-up for errors when creating devices 2022-12-17 13:28:11 -05:00
Peter F. Patel-Schneider 9d278edc82 ui: add KeyIsDown to list of conditions 2022-12-17 13:21:52 -05:00
Peter F. Patel-Schneider ceb174dc50 ui: allow editing of KeyIsDown conditions 2022-12-17 13:21:52 -05:00
Peter F. Patel-Schneider d6872422fd ui: allow editing of rules with parameters 2022-12-11 17:27:37 -05:00
Peter F. Patel-Schneider 99f9c8762e settings: only record changes of scroll wheel ratchet 2022-12-09 06:59:37 -05:00
ejsc1 5656f90cdb
misc: update yapf version
* misc: update yapf version v2

* Update .pre-commit-config.yaml

Co-authored-by: Peter F. Patel-Schneider <pfpschneider@gmail.com>
2022-11-26 22:37:32 -05:00
ejsc1 0c7a9dd0a7
misc: update isort to current version
* Update .pre-commit-config.yaml

* Update solaar

* Update udev.py

* Update __init__.py

* Update gtk.py

* Update i18n.py

* Update listener.py

* Update icons.py

* Update notify.py

* Update hidconsole

* Update gtk.py

* Update icons.py

Co-authored-by: Peter F. Patel-Schneider <pfpschneider@gmail.com>
2022-11-26 13:58:46 -05:00
ejsc1 fe65ce936f Update about.py (Spanish)
Added by translation made to the Solaar Project.
2022-11-21 16:44:36 -05:00
Peter F. Patel-Schneider 691227170f ui: reduce standard size of rule editor window 2022-11-06 16:21:50 -05:00
Peter F. Patel-Schneider 5cd3ac60c5 ui: eliminate visual glitch when updating range settings 2022-10-26 08:08:58 -04:00
Peter F. Patel-Schneider d6847a6ce4 ui: only update remaining pairings after sucessful pairing 2022-10-21 16:48:07 -04:00
Peter F. Patel-Schneider aa5e75fa18 ui: add Later action to rules editor 2022-09-26 09:36:46 -04:00
Rongrong ccff54609f chore: clean a redundant space in a UI label 2022-09-10 10:18:16 -04:00
Peter F. Patel-Schneider 5082ac9745 ui: allow config panel to scroll 2022-09-04 12:05:53 -04:00
Peter F. Patel-Schneider a6669da179 ui: change security tooltip for unencrypted wireless connections 2022-09-01 10:21:45 -04:00
Peter F. Patel-Schneider a3e2552ee0 ui: use device list in Active condition 2022-08-28 09:52:33 -04:00
Peter F. Patel-Schneider 20ac8db787 ui: add description of rule components to rule editor 2022-08-28 09:52:33 -04:00
Peter F. Patel-Schneider f1d69ede2c ui: add Active condition to rule editor 2022-08-23 09:18:57 -04:00
Peter F. Patel-Schneider 95cbaeaba3 ui: don't produce warnings when editing rules in rule editor 2022-08-21 06:08:40 -04:00
Peter F. Patel-Schneider adf5a07919 ui: better presentation of battery information 2022-07-10 11:08:28 -04:00
Haochen Tong 1449a47263 ui: increase entry size for ChoiceControlBig 2022-07-07 16:13:52 -04:00
Peter F. Patel-Schneider 8941d2cfde ui: remove blank lines from system tray popup 2022-06-24 09:43:30 -04:00
Peter F. Patel-Schneider 97c65d05e2 ui: add depress and release KeyPress options to rule editor 2022-06-21 20:23:22 -04:00
Peter F. Patel-Schneider 12217d6fa5 ui: implement packed range setting in config panel 2022-06-21 18:39:37 -04:00
Peter F. Patel-Schneider c9810e606e ui: only produce warning for unimplemented display of setting 2022-06-21 18:39:37 -04:00
Peter F. Patel-Schneider a5ff1c21cb ui: put battery information in tray menu labels 2022-05-18 18:24:35 -04:00
Peter F. Patel-Schneider 80c09002a8 ui: print message when there is another Solaar process running 2022-04-15 09:21:08 -04:00
Peter F. Patel-Schneider 39ec9337a2 rules: add recent diversion features to default list in rules UI 2022-04-15 09:13:46 -04:00
Peter F. Patel-Schneider 87e0ecacf3 ui: remove need for pggettext by changing name of field in rule editor 2022-04-11 13:20:42 -04:00
Peter F. Patel-Schneider d90ee945ab device: use int instead of str for setting keys 2022-04-10 16:35:08 -04:00
Bastien Nocera b3cfd0f762 Make APP_ID match real application ID
The application advertises itself as io.github.pwr_solaar.solaar through
its appdata file, so name the application this way too.

This fixes this warning in Flatpak:
Failed to register: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: org.freedesktop.DBus.Error.ServiceUnknown
2022-04-05 06:39:25 -04:00
Peter F. Patel-Schneider 6c02417037 ui: allow tray icon to scroll whenever at least two devices 2022-03-17 14:05:09 -04:00
Peter F. Patel-Schneider 681a06d8d7 ui: print backtrace when errors occur during writing settings 2022-03-16 20:22:25 -04:00
Vinícius c53c77f427 ui: add support to Setting condition 2022-03-16 18:29:52 -04:00