summaryrefslogtreecommitdiff
path: root/backend/browser.py
diff options
context:
space:
mode:
authorJonas Dellinger <jonas@dellinger.dev>2023-06-07 07:35:05 +0200
committerGitHub <noreply@github.com>2023-06-06 22:35:05 -0700
commit47bc910a8482d3d2cc882e28e862ca5ad61063b6 (patch)
treeacc75a2892150df5fd0d151d46d8f75caa062504 /backend/browser.py
parent1c6270ccd67f271968a3ab8a30c29f19548765f0 (diff)
downloaddecky-loader-47bc910a8482d3d2cc882e28e862ca5ad61063b6.tar.gz
decky-loader-47bc910a8482d3d2cc882e28e862ca5ad61063b6.zip
Add functionality to hide plugins from quick access menu (#468)
Diffstat (limited to 'backend/browser.py')
-rw-r--r--backend/browser.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/backend/browser.py b/backend/browser.py
index 388a01e3..ab71a89d 100644
--- a/backend/browser.py
+++ b/backend/browser.py
@@ -122,10 +122,7 @@ class PluginBrowser:
logger.debug("Plugin %s was stopped", name)
del self.plugins[name]
logger.debug("Plugin %s was removed from the dictionary", name)
- current_plugin_order = self.settings.getSetting("pluginOrder")
- current_plugin_order.remove(name)
- self.settings.setSetting("pluginOrder", current_plugin_order)
- logger.debug("Plugin %s was removed from the pluginOrder setting", name)
+ self.cleanup_plugin_settings(name)
logger.debug("removing files %s" % str(name))
rmtree(plugin_dir)
except FileNotFoundError:
@@ -234,3 +231,18 @@ class PluginBrowser:
def cancel_plugin_install(self, request_id):
self.install_requests.pop(request_id)
+
+ def cleanup_plugin_settings(self, name):
+ """Removes any settings related to a plugin. Propably called when a plugin is uninstalled.
+
+ Args:
+ name (string): The name of the plugin
+ """
+ hidden_plugins = self.settings.getSetting("hiddenPlugins", [])
+ hidden_plugins.remove(name)
+ self.settings.setSetting("hiddenPlugins", hidden_plugins)
+
+ plugin_order = self.settings.getSetting("pluginOrder")
+ plugin_order.remove(name)
+ self.settings.setSetting("pluginOrder", plugin_order)
+ logger.debug("Removed any settings for plugin %s", name)