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
@@ -27,12 +27,12 @@ namespace Artemis.UI.Screens.Plugins
|
||||
if (pluginOrFeature is Plugin plugin)
|
||||
{
|
||||
Plugin = plugin;
|
||||
Prerequisites = new BindableCollection<PluginPrerequisiteViewModel>(plugin.Prerequisites.Select(p => prerequisitesVmFactory.PluginPrerequisiteViewModel(p, false)));
|
||||
Prerequisites = new BindableCollection<PluginPrerequisiteViewModel>(plugin.Info.Prerequisites.Select(p => prerequisitesVmFactory.PluginPrerequisiteViewModel(p, false)));
|
||||
}
|
||||
else if (pluginOrFeature is PluginFeature feature)
|
||||
{
|
||||
Feature = feature;
|
||||
Prerequisites = new BindableCollection<PluginPrerequisiteViewModel>(feature.Prerequisites.Select(p => prerequisitesVmFactory.PluginPrerequisiteViewModel(p, false)));
|
||||
Prerequisites = new BindableCollection<PluginPrerequisiteViewModel>(feature.Info.Prerequisites.Select(p => prerequisitesVmFactory.PluginPrerequisiteViewModel(p, false)));
|
||||
}
|
||||
else
|
||||
throw new ArtemisUIException($"Expected plugin or feature to be passed to {nameof(PluginPrerequisitesInstallDialogViewModel)}");
|
||||
@@ -136,7 +136,10 @@ namespace Artemis.UI.Screens.Plugins
|
||||
protected override void OnInitialActivate()
|
||||
{
|
||||
CanInstall = false;
|
||||
Task.Run(() => CanInstall = !Plugin.ArePrerequisitesMet());
|
||||
if (Plugin != null)
|
||||
Task.Run(() => CanInstall = !Plugin.Info.ArePrerequisitesMet());
|
||||
else
|
||||
Task.Run(() => CanInstall = !Feature.Info.ArePrerequisitesMet());
|
||||
|
||||
base.OnInitialActivate();
|
||||
}
|
||||
|
||||
@@ -32,12 +32,12 @@ namespace Artemis.UI.Screens.Plugins
|
||||
if (pluginOrFeature is Plugin plugin)
|
||||
{
|
||||
Plugin = plugin;
|
||||
Prerequisites = new BindableCollection<PluginPrerequisiteViewModel>(plugin.Prerequisites.Select(p => prerequisitesVmFactory.PluginPrerequisiteViewModel(p, true)));
|
||||
Prerequisites = new BindableCollection<PluginPrerequisiteViewModel>(plugin.Info.Prerequisites.Select(p => prerequisitesVmFactory.PluginPrerequisiteViewModel(p, true)));
|
||||
}
|
||||
else if (pluginOrFeature is PluginFeature feature)
|
||||
{
|
||||
Feature = feature;
|
||||
Prerequisites = new BindableCollection<PluginPrerequisiteViewModel>(feature.Prerequisites.Select(p => prerequisitesVmFactory.PluginPrerequisiteViewModel(p, true)));
|
||||
Prerequisites = new BindableCollection<PluginPrerequisiteViewModel>(feature.Info.Prerequisites.Select(p => prerequisitesVmFactory.PluginPrerequisiteViewModel(p, true)));
|
||||
}
|
||||
else
|
||||
throw new ArtemisUIException($"Expected plugin or feature to be passed to {nameof(PluginPrerequisitesInstallDialogViewModel)}");
|
||||
@@ -144,7 +144,10 @@ namespace Artemis.UI.Screens.Plugins
|
||||
{
|
||||
CanUninstall = false;
|
||||
// Could be slow so take it off of the UI thread
|
||||
Task.Run(() => CanUninstall = Plugin.Prerequisites.Any(p => p.IsMet()));
|
||||
if (Plugin != null)
|
||||
Task.Run(() => CanUninstall = Plugin.Info.Prerequisites.Any(p => p.IsMet()));
|
||||
else
|
||||
Task.Run(() => CanUninstall = Feature.Info.Prerequisites.Any(p => p.IsMet()));
|
||||
|
||||
base.OnInitialActivate();
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user