39 Commits

Author SHA1 Message Date
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
Adam Honse
84af91da9e Fix plugin removal issues 2025-03-06 11:36:10 -06:00
morg
b3dfd3b4b0 Move ResourceManagerInterface to its own file. Refactor Plugin interface 2025-02-06 20:00:27 -06:00
Adam Honse
17ad77f07a Don't unload/remove plugins immediately, instead require a restart to prevent unclean unload/crash 2025-01-14 00:41:32 -06:00
Adam Honse
567ad09506 Check executable directory for system plugins (in plugins folder) on Windows 2025-01-13 23:53:26 -06:00
morg
59e303c882 Add missing tags in logs 2025-01-10 08:53:31 +01:00
Zach Deibert
bd3cc94212 Add support for loading profiles on suspend/resume 2024-11-26 20:07:28 +00:00
Adam Honse
cbfb8afa0c Fix warning in PluginManager.cpp 2024-11-26 02:06:40 -06:00
Adam Honse
d03701c58d Initial support for system-installed plugins in Linux 2024-08-06 18:22:17 -05:00
Adam Honse
9b1ea375b8 Fix name redefinition/conflict in plugin manager 2024-05-16 21:39:04 -05:00
Adam Honse
a7c400bc65 Update yet more file header comments to standardized new format 2024-05-03 21:56:32 -05:00
Adam Honse
28947ac0dd Revert "Enable removing the plugin dll from the menu" 2024-01-02 19:45:18 +00:00
Adam Honse
67fbdceb92 Enable removing the plugin dll from the menu
Implements change from MR !2148 without refactoring
2023-12-26 16:46:45 -06: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
Alexey Sokolov
125b1ab134 Warn if dlopen() failed 2023-07-16 15:44:36 +01:00
Dmitry K
51712f08b5 Removed include directives from ResourceManager.h to speed up build process 2023-07-12 14:51:47 +00:00
Adam Honse
79e80021b1 Remove convertQPath functions as it's only used once, fixes a warning for the unused version 2023-05-01 19:59:12 -05:00
Alexey Sokolov
ba396da13e Fix build after !1239 2023-01-21 02:12:49 +00:00
Adam Honse
ead55f4ea6 Fix is_directory on older versions of filesystem 2023-01-20 12:31:12 -06:00
flora
ac987d5200 Ignore directories while checking for plugins 2023-01-19 19:48:05 +01:00
Dmitry K
b409b5f7cc Added support for unicode paths (filesystem::path approach) 2023-01-18 06:02:55 +00:00
TheRogueZeta
b32bc8ac01 Reduce logging level of the plugin directory 2022-11-27 23:44:19 +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
Adam Honse
b2c6028cb8 Always overwrite file when updating plugins, add additional logging to plugin management 2022-04-01 17:55:26 -05: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
2f25c4af7f More plugin updates, enum for location 2021-08-30 02:56:57 +00: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
Alex
4af8614fce Add formated loging for device detection
Commits merged and amended for code style by Adam Honse <calcprogrammer1@gmail.com>
2021-07-05 03:23:34 -05:00
k1-801
f1d6c2953d Logger tweaks
Commit amended for code style and minor cleanup by Adam Honse <calcprogrammer1@gmail.com>
2021-03-23 20:20:52 -05: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