mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-24 21:42:51 -05:00
plugins: fix reactivity, tooltips, new IPCs to reload
This commit is contained in:
@@ -601,4 +601,61 @@ Item {
|
||||
|
||||
target: "widget"
|
||||
}
|
||||
|
||||
IpcHandler {
|
||||
function reload(pluginId: string): string {
|
||||
if (!pluginId)
|
||||
return "ERROR: No plugin ID specified";
|
||||
|
||||
if (!PluginService.availablePlugins[pluginId])
|
||||
return `PLUGIN_NOT_FOUND: ${pluginId}`;
|
||||
|
||||
if (!PluginService.isPluginLoaded(pluginId))
|
||||
return `PLUGIN_NOT_LOADED: ${pluginId}`;
|
||||
|
||||
const success = PluginService.reloadPlugin(pluginId);
|
||||
return success ? `PLUGIN_RELOAD_SUCCESS: ${pluginId}` : `PLUGIN_RELOAD_FAILED: ${pluginId}`;
|
||||
}
|
||||
|
||||
function enable(pluginId: string): string {
|
||||
if (!pluginId)
|
||||
return "ERROR: No plugin ID specified";
|
||||
|
||||
if (!PluginService.availablePlugins[pluginId])
|
||||
return `PLUGIN_NOT_FOUND: ${pluginId}`;
|
||||
|
||||
const success = PluginService.enablePlugin(pluginId);
|
||||
return success ? `PLUGIN_ENABLE_SUCCESS: ${pluginId}` : `PLUGIN_ENABLE_FAILED: ${pluginId}`;
|
||||
}
|
||||
|
||||
function disable(pluginId: string): string {
|
||||
if (!pluginId)
|
||||
return "ERROR: No plugin ID specified";
|
||||
|
||||
if (!PluginService.availablePlugins[pluginId])
|
||||
return `PLUGIN_NOT_FOUND: ${pluginId}`;
|
||||
|
||||
const success = PluginService.disablePlugin(pluginId);
|
||||
return success ? `PLUGIN_DISABLE_SUCCESS: ${pluginId}` : `PLUGIN_DISABLE_FAILED: ${pluginId}`;
|
||||
}
|
||||
|
||||
function list(): string {
|
||||
const plugins = PluginService.getAvailablePlugins();
|
||||
if (plugins.length === 0)
|
||||
return "No plugins available";
|
||||
return plugins.map(p => `${p.id} [${p.loaded ? "loaded" : "disabled"}]`).join("\n");
|
||||
}
|
||||
|
||||
function status(pluginId: string): string {
|
||||
if (!pluginId)
|
||||
return "ERROR: No plugin ID specified";
|
||||
|
||||
if (!PluginService.availablePlugins[pluginId])
|
||||
return `PLUGIN_NOT_FOUND: ${pluginId}`;
|
||||
|
||||
return PluginService.isPluginLoaded(pluginId) ? "loaded" : "disabled";
|
||||
}
|
||||
|
||||
target: "plugins"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user