Commit Graph

22 Commits

Author SHA1 Message Date
Adam Honse
87bc125696 Rework Profiles to use JSON format
* Update OpenRGB Plugin Interface to include functions for loading/saving profile JSON data into OpenRGB profiles
    * Update ProfileManager to handle auto-load profiles (Exit, Open, Resume, Suspend) and move their settings to ProfileManager section
    * Update ProfileManager to store profiles in "profiles" folder in .json format
    * Update ProfileManager to store size profile in sizes.json
    * Update ProfileManager to perform device UpdateMode/UpdateColors when loading profile
    * Code cleanup of ProfileManager and profile-related code
2026-01-11 13:10:55 -06:00
Adam Honse
26d1a8bf2a Move plugin SDK integration from callback into plugin API and PluginManager 2026-01-11 12:55:00 -06:00
Adam Honse
c71cc4f18a Change SPDX license identifier from GPL 2.0 only to GPL 2.0 or later, as the original LICENSE file includes an or later clause at the end so the file headers were incorrect 2025-09-28 00:47:08 -05:00
Dmitry K
6793d4a3a0 Move Autogenerated UI code into Private sections of the window classes 2025-06-04 18:21:13 -05:00
Zach Deibert
bd3cc94212 Add support for loading profiles on suspend/resume 2024-11-26 20:07:28 +00:00
Adam Honse
d03701c58d Initial support for system-installed plugins in Linux 2024-08-06 18:22:17 -05:00
Adam Honse
a7c400bc65 Update yet more file header comments to standardized new format 2024-05-03 21:56:32 -05:00
morg
f8c20128ef Plugin manager: simplifies code, fixes a crash on exit 2023-09-27 15:31:54 +02:00
Adam Honse
41b7dc3102 Show incompatible plugins in the Plugins settings page with a note that it is incompatible, allow it to be removed 2023-09-26 23:41:33 -05:00
Dmitry K
b409b5f7cc Added support for unicode paths (filesystem::path approach) 2023-01-18 06:02:55 +00:00
Alexey Sokolov
e0be60de21 Add ability for distro packagers to load plugins from package manager 2022-11-27 21:17:08 +00:00
Chris
2770206a8d Normalising config directory to ensure it has trailing path separator resolving #2552
* Moved Setter next to Getter
* Set `config_dir` to ensure consistent directory for all files resolving #2551
* Changed PluginManager loading log message to include directory
2022-07-01 15:33:38 +00:00
morg
a47ae7ed48 Migrate from QSS to QPalette 2022-02-13 11:42:15 +01:00
morg
0eab54f04f Unload plugin on exit. 2021-10-12 10:37:42 +02:00
Adam Honse
2800e76e9d Add GetTrayMenu to plugin API to provide a dedicated interface for registering a tray menu for a plugin 2021-08-29 22:58:58 -05:00
Adam Honse
759aa341c2 Code cleanup, only allow one registered callback in PluginManager and PluginPage 2021-08-30 02:56:57 +00:00
Adam Honse
208deaea12 Remove plugin from active plugins list when removing plugin from user interface 2021-08-30 02:56:57 +00:00
Adam Honse
6bacee59f5 Add capability to load and unload plugins 2021-08-30 02:56:57 +00:00
Adam Honse
28d590b64d First draft of plugin API changes 2021-08-30 02:56:57 +00:00
Adam Honse
a20405a6ef Add Plugins tab to settings for installing, enabling, disabling, and removing plugins
* Rework Plugin Manager so that plugins can be loaded after initialization
* Use a callback function to add plugin tabs to the dialog
* Install button lets you choose plugin file, copies it to plugins directory, and immediately loads it
* Remove button deletes selected plugin file from plugins directory - need to add a means to unload it first
2021-08-25 02:44:53 +00:00
Adam Honse
a08fb8b532 Move plugin initialization into PluginManager and log plugin loading 2021-03-05 16:58:06 -06:00
silas
93231c3225 Initial commit for Plugins
Commits squashed, code style and naming changes by Adam Honse <calcprogrammer1@gmail.com>
2021-01-05 20:07:13 -06:00