mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 11:56:30 +00:00
Prerequisites - Moved to PluginInfo and FeatureInfo
Features don't have instances until they are enabled so this made sense, Plugins followed suit for consistency's sake
This commit is contained in:
1 parent
0cfddcbbaf
commit
5cae14efd3
8 files changed
+66
-31
No files matched your search
@@ -140,13 +140,13 @@ namespace Artemis.UI.Screens.Settings.Tabs.Plugins
|
||||
|
||||
public async Task InstallPrerequisites()
|
||||
{
|
||||
if (Plugin.Prerequisites.Any())
|
||||
if (Plugin.Info.Prerequisites.Any())
|
||||
await ShowPrerequisitesDialog(false);
|
||||
}
|
||||
|
||||
public async Task RemovePrerequisites()
|
||||
{
|
||||
if (Plugin.Prerequisites.Any(p => p.UninstallActions.Any()))
|
||||
if (Plugin.Info.Prerequisites.Any(p => p.UninstallActions.Any()))
|
||||
{
|
||||
await ShowPrerequisitesDialog(true);
|
||||
NotifyOfPropertyChange(nameof(IsEnabled));
|
||||
@@ -179,6 +179,12 @@ namespace Artemis.UI.Screens.Settings.Tabs.Plugins
|
||||
if (!confirmed)
|
||||
return;
|
||||
|
||||
// If the plugin or any of its features has uninstall actions, offer to run these
|
||||
if (Plugin.Info.Prerequisites.Any(p => p.UninstallActions.Any()) || Plugin.Features.Any(f => f.Prerequisites.Any(fp => fp.UninstallActions.Any())))
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
_pluginManagementService.RemovePlugin(Plugin, false);
|
||||
@@ -236,10 +242,10 @@ namespace Artemis.UI.Screens.Settings.Tabs.Plugins
|
||||
}
|
||||
|
||||
// Check if all prerequisites are met async
|
||||
if (!Plugin.ArePrerequisitesMet())
|
||||
if (!Plugin.Info.ArePrerequisitesMet())
|
||||
{
|
||||
await ShowPrerequisitesDialog(false);
|
||||
if (!Plugin.ArePrerequisitesMet())
|
||||
if (!Plugin.Info.ArePrerequisitesMet())
|
||||
{
|
||||
CancelEnable();
|
||||
return;
|
||||
@@ -275,8 +281,8 @@ namespace Artemis.UI.Screens.Settings.Tabs.Plugins
|
||||
|
||||
private void CheckPrerequisites()
|
||||
{
|
||||
CanInstallPrerequisites = Plugin.Prerequisites.Any();
|
||||
CanRemovePrerequisites = Plugin.Prerequisites.Any(p => p.UninstallActions.Any());
|
||||
CanInstallPrerequisites = Plugin.Info.Prerequisites.Any();
|
||||
CanRemovePrerequisites = Plugin.Info.Prerequisites.Any(p => p.UninstallActions.Any());
|
||||
}
|
||||
|
||||
private async Task<object> ShowPrerequisitesDialog(bool uninstall)
|
||||
|
||||
Reference in new issue
Block a user