public SoftwareUpdateSquirrelOverlayViewModel(SettingsViewModel settingsViewModel, IRestarter restarter) : base(settingsViewModel) { _restarter = restarter; ChangelogUrl = new Uri(CommonUrls.MainUrl, "/changelog/nolayout"); var observable = this.WhenAnyValue(x => x.IsCheckingForUpdates, x => x.IsApplyingUpdate, (x, y) => !x && !y); ReactiveCommand.CreateAsyncTask(observable, x => ApplyUpdate()) .SetNewCommand(this, x => x.ApplyUpdateCommand); ReactiveCommand.CreateAsyncTask(observable, x => SeeIfThereAreUpdates()) .SetNewCommand(this, x => x.CheckForUpdatesCommand) .ObserveOn(RxApp.MainThreadScheduler) .Subscribe(RefreshInfo); ApplyUpdateCommand.IsExecuting.BindTo(this, x => x.IsApplyingUpdate); CheckForUpdatesCommand.IsExecuting.BindTo(this, x => x.IsCheckingForUpdates); ReactiveCommand.CreateAsyncTask(x => Restart()) .SetNewCommand(this, x => x.RestartCommand); this.WhenAnyValue(x => x.IsActive) .Where(x => x) .Subscribe(x => CheckForUpdatesAtStart()); }
public SoftwareUpdateOverlayViewModel(SettingsViewModel settingsViewModel, ISoftwareUpdate softwareUpdate) : base(settingsViewModel) { SoftwareUpdate = softwareUpdate; this.WhenAnyValue(x => x.IsActive) .Where(x => x) .Subscribe(x => CheckForUpdates()); }
public OptionsMenuViewModel(IPlayShellViewModel playShellViewModel) { _shellViewModel = playShellViewModel; _softwareUpdate = _shellViewModel.SoftwareUpdate; _factory = _shellViewModel.Factory; _settings = _shellViewModel.Settings; OptionsMenu = new OptionsMenu(this); this.SetCommand(x => x.OptionsMenuCommand).Subscribe(x => OptionsMenu.IsOpen = !OptionsMenu.IsOpen); }
protected SoftwareUpdateOverlayViewModelBase(SettingsViewModel settingsViewModel) { DisplayName = "Check for Updates"; SettingsVM = settingsViewModel; }