public GlobalSettingsVm( ISaveSignal saveSignal, IWorkConsumerSettings workConsumerSettings, ISettingsSingleton settingsSingleton) { Shortcircuit = settingsSingleton.Pipeline.Shortcircuit; DotNetPathOverride = settingsSingleton.Gui.DotNetPathOverride; BuildCorePercentage = settingsSingleton.Gui.BuildCorePercentage; NumProcessors = (byte)Math.Min(byte.MaxValue, Environment.ProcessorCount); _buildCores = this.WhenAnyValue(x => x.BuildCorePercentage) .Select(x => (byte)Math.Min(byte.MaxValue, Environment.ProcessorCount * Percent.FactoryPutInRange(x))) .ToGuiProperty(this, nameof(BuildCores), deferSubscription: true); ObservableExtensions.Subscribe(this.WhenAnyValue(x => x.BuildCores), x => workConsumerSettings.SetNumThreads(x)) .DisposeWith(this); saveSignal.Saving .Subscribe(x => { Save(x.Gui); Save(x.Pipe); }) .DisposeWith(this); }
public ShowHelpSetting( ISaveSignal saveSignal, ISettingsSingleton settings) { SaveSignal = saveSignal; ShowHelpToggleCommand = ReactiveCommand.Create(() => ShowHelp = !ShowHelp); ShowHelp = settings.Gui.ShowHelp; saveSignal.Saving .Subscribe(x => x.Gui.ShowHelp = ShowHelp) .DisposeWith(this); }
public void SavesSettings(ISettingsSingleton settings) { var retrieve = new RetrieveSaveSettings(settings); var help = new ShowHelpSetting( retrieve, settings); help.ShowHelp = true; retrieve.Retrieve(out var gui, out var pipe); gui.ShowHelp.Should().BeTrue(); help.ShowHelp = false; retrieve.Retrieve(out gui, out pipe); gui.ShowHelp.Should().BeFalse(); }
public MainVm( ActiveRunVm activeRunVm, ProfileManagerVm profileManager, OpenProfileSettings openProfileSettings, OpenGlobalSettings openGlobalSettings, IConfirmationPanelControllerVm confirmationControllerVm, IProvideCurrentVersions currentVersions, ISelectedProfileControllerVm selectedProfile, ISaveSignal saveSignal, ISettingsSingleton settingsSingleton, INewestLibraryVersionsVm libVersionsVm, IActivePanelControllerVm activePanelControllerVm, IProfileFactory profileFactory, ILogger logger) { logger.Information("Creating MainVM"); _selectedProfileController = selectedProfile; _settingsSingleton = settingsSingleton; _activePanelControllerVm = activePanelControllerVm; _profileFactory = profileFactory; _logger = logger; _activePanel = activePanelControllerVm.WhenAnyValue(x => x.ActivePanel) .ToGuiProperty(this, nameof(ActivePanel), default, deferSubscription: true);
public WorkingDirectoryProviderOverride( Func <WorkingDirectoryProvider> workingDir, ISettingsSingleton settings) { WorkingDirectory = settings.Gui.WorkingDirectory.IsNullOrWhitespace() ? workingDir().WorkingDirectory : settings.Gui.WorkingDirectory; }