mirror of
https://github.com/SteamDeckHomebrew/decky-loader.git
synced 2026-06-15 18:13:40 +03:00
Add functionality to hide plugins from quick access menu (#468)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -17,6 +17,13 @@
|
||||
"select": "Use this folder"
|
||||
}
|
||||
},
|
||||
"PluginView": {
|
||||
"hidden_one": "1 plugin is hidden from this list",
|
||||
"hidden_other": "{{count}} plugins are hidden from this list"
|
||||
},
|
||||
"PluginListLabel": {
|
||||
"hidden": "Hidden from the quick access menu"
|
||||
},
|
||||
"PluginCard": {
|
||||
"plugin_full_access": "This plugin has full access to your Steam Deck.",
|
||||
"plugin_install": "Install",
|
||||
@@ -73,6 +80,8 @@
|
||||
"reload": "Reload",
|
||||
"uninstall": "Uninstall",
|
||||
"update_to": "Update to {{name}}",
|
||||
"show": "Quick access: Show",
|
||||
"hide": "Quick access: Hide",
|
||||
"update_all_one": "Update 1 plugin",
|
||||
"update_all_other": "Update {{count}} plugins"
|
||||
},
|
||||
|
||||
@@ -22,7 +22,7 @@ class SettingsManager:
|
||||
for file in listdir(wrong_dir):
|
||||
if file.endswith(".json"):
|
||||
rename(path.join(wrong_dir,file),
|
||||
path.join(settings_directory, file))
|
||||
path.join(settings_directory, file))
|
||||
self.path = path.join(settings_directory, name + ".json")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user