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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
 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);