mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 20:06:33 +00:00
Plugin settings - Restart Artemis for plugins that require admin rights
Setup wizard - Restart Artemis device providers that require admin rights Setup wizard - Gracefully handle errors during device provider enable Profile editor - Select a valid default brush on clean installs
This commit is contained in:
1 parent
b917f36978
commit
985a94dbaf
16 files changed
+363
-151
No files matched your search
@@ -16,7 +16,7 @@
|
||||
</Grid.RowDefinitions>
|
||||
|
||||
<TextBlock Grid.Row="0" Style="{StaticResource MaterialDesignBody1TextBlock}" TextWrapping="Wrap">
|
||||
EnabledDevices are supported through the use of device providers. <LineBreak />
|
||||
Devices are supported through the use of device providers. <LineBreak />
|
||||
In the list below you can enable device providers for each brand you own by checking <Run Text="Feature enabled" FontWeight="Bold" />.
|
||||
</TextBlock>
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace Artemis.UI.Screens.StartupWizard.Steps
|
||||
IEnumerable<PluginFeatureInfo> features = _pluginManagementService.GetAllPlugins()
|
||||
.SelectMany(p => p.Features.Where(f => typeof(DeviceProvider).IsAssignableFrom(f.FeatureType)))
|
||||
.OrderBy(d => d.GetType().Name);
|
||||
Items.AddRange(features.Select(d => _settingsVmFactory.CreatePluginFeatureViewModel(d)));
|
||||
Items.AddRange(features.Select(d => _settingsVmFactory.CreatePluginFeatureViewModel(d, true)));
|
||||
|
||||
base.OnActivate();
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ using Artemis.UI.Screens.Settings.Tabs.General;
|
||||
using Artemis.UI.Screens.Settings.Tabs.Plugins;
|
||||
using Artemis.UI.Shared;
|
||||
using Artemis.UI.Shared.Services;
|
||||
using Artemis.UI.Utilities;
|
||||
using Stylet;
|
||||
|
||||
namespace Artemis.UI.Screens.StartupWizard.Steps
|
||||
@@ -34,7 +35,7 @@ namespace Artemis.UI.Screens.StartupWizard.Steps
|
||||
_settingsService.GetSetting("UI.AutoRun", false).Value = value;
|
||||
_settingsService.GetSetting("UI.AutoRun", false).Save();
|
||||
NotifyOfPropertyChange(nameof(StartWithWindows));
|
||||
Task.Run(ApplyAutorun);
|
||||
Task.Run(() => ApplyAutorun(false));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,23 +60,35 @@ namespace Artemis.UI.Screens.StartupWizard.Steps
|
||||
}
|
||||
}
|
||||
|
||||
private void ApplyAutorun()
|
||||
private void ApplyAutorun(bool recreate)
|
||||
{
|
||||
if (!StartWithWindows)
|
||||
StartMinimized = false;
|
||||
|
||||
// Remove the old auto-run method of placing a shortcut in shell:startup
|
||||
string autoRunFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), "Artemis.lnk");
|
||||
if (File.Exists(autoRunFile))
|
||||
File.Delete(autoRunFile);
|
||||
|
||||
// Local builds shouldn't auto-run, this is just annoying
|
||||
// if (Constants.BuildInfo.IsLocalBuild)
|
||||
// return;
|
||||
|
||||
// Create or remove the task if necessary
|
||||
try
|
||||
{
|
||||
string autoRunFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Startup), "Artemis.lnk");
|
||||
string executableFile = Constants.ExecutablePath;
|
||||
bool taskCreated = false;
|
||||
if (!recreate)
|
||||
taskCreated = SettingsUtilities.IsAutoRunTaskCreated();
|
||||
|
||||
if (File.Exists(autoRunFile))
|
||||
File.Delete(autoRunFile);
|
||||
if (StartWithWindows)
|
||||
ShortcutUtilities.Create(autoRunFile, executableFile, "--autorun", new FileInfo(executableFile).DirectoryName, "Artemis", "", "");
|
||||
else
|
||||
StartMinimized = false;
|
||||
if (StartWithWindows && !taskCreated)
|
||||
SettingsUtilities.CreateAutoRunTask(TimeSpan.FromSeconds(15));
|
||||
else if (!StartWithWindows && taskCreated)
|
||||
SettingsUtilities.RemoveAutoRunTask();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
_dialogService.ShowExceptionDialog("An exception occured while trying to apply the auto run setting", e);
|
||||
Execute.PostToUIThread(() => _dialogService.ShowExceptionDialog("An exception occured while trying to apply the auto run setting", e));
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user