mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-12 11:56:30 +00:00
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
69 lines
2.1 KiB
C#
69 lines
2.1 KiB
C#
using System.Linq;
|
|
using Artemis.Core;
|
|
using Artemis.Core.Services;
|
|
using Artemis.UI.Screens.StartupWizard.Steps;
|
|
using Artemis.UI.Shared.Services;
|
|
using MaterialDesignExtensions.Controllers;
|
|
using MaterialDesignExtensions.Controls;
|
|
using MaterialDesignThemes.Wpf;
|
|
using Stylet;
|
|
|
|
namespace Artemis.UI.Screens.StartupWizard
|
|
{
|
|
public class StartupWizardViewModel : Conductor<Screen>.Collection.OneActive
|
|
{
|
|
private readonly IMessageService _messageService;
|
|
private readonly ISettingsService _settingsService;
|
|
private StepperController _stepperController;
|
|
|
|
public StartupWizardViewModel(ISettingsService settingsService,
|
|
IMessageService messageService,
|
|
WelcomeStepViewModel welcome,
|
|
DevicesStepViewModel devices,
|
|
LayoutStepViewModel layout,
|
|
SettingsStepViewModel settings,
|
|
FinishStepViewModel finish)
|
|
{
|
|
_settingsService = settingsService;
|
|
_messageService = messageService;
|
|
Items.Add(welcome);
|
|
Items.Add(devices);
|
|
Items.Add(layout);
|
|
Items.Add(settings);
|
|
Items.Add(finish);
|
|
|
|
ActiveItem = Items.First();
|
|
}
|
|
|
|
public ISnackbarMessageQueue MainMessageQueue { get; set; }
|
|
|
|
public void ActiveStepChanged(object sender, ActiveStepChangedEventArgs e)
|
|
{
|
|
Stepper stepper = (Stepper) sender;
|
|
_stepperController = stepper.Controller;
|
|
|
|
int activeStepIndex = stepper.Steps.IndexOf(e.Step);
|
|
ActiveItem = Items[activeStepIndex];
|
|
}
|
|
|
|
public void SkipOrFinishWizard()
|
|
{
|
|
PluginSetting<bool> setting = _settingsService.GetSetting("UI.SetupWizardCompleted", false);
|
|
setting.Value = true;
|
|
setting.Save();
|
|
|
|
RequestClose();
|
|
}
|
|
|
|
public void Continue()
|
|
{
|
|
_stepperController.Continue();
|
|
}
|
|
|
|
protected override void OnInitialActivate()
|
|
{
|
|
MainMessageQueue = _messageService.MainMessageQueue;
|
|
base.OnInitialActivate();
|
|
}
|
|
}
|
|
} |