private void OpenSettings() { IWindowManager winManager = new SettingsWindowManager(); SettingsViewModel vm = new SettingsViewModel(); vm.Settings = SettingsInstance; winManager.Show(vm); RaisePropertyChanged("SettingsInstance"); DataManager.WriteFile(SettingsInstance, DataManager.FileType.Settings); }
private void OpenSettings() { IWindowManager winManager = new SettingsWindowManager(); SettingsViewModel vm = new SettingsViewModel(); vm.Settings = SettingsInstance; //Try update prices as soon as the app opens winManager.Show(vm); RaisePropertyChanged("SettingsInstance"); DataManager.WriteFile(SettingsInstance, DataManager.FileType.Settings); Status = ""; }
public ShellWindowViewModel(IConfigurationService configurationService, CreateItemViewModel creator, HistoryListViewModel historyList, SettingsWindowManager settingsManager) { _settingsManager = settingsManager; _configurationAgent = configurationService.GetConfigurationAgent <ShellConfiguration>(ApplicationConfigurations.ShellConfiguration, this); _subscriptions = _configurationAgent.Updated.ObserveOnDispatcher().Do(x => { RefreshConfig(); }).Subscribe(); Creator = creator; HistoryList = historyList; ShowSettingsCommand = ReactiveCommand.Create(() => { _settingsManager.ShowSettingsWindow(); }); RefreshConfig(); PropertyChanged += (sender, e) => { PersistConfig(); }; }
public WhisperTrayAgent(ShellWindow shellWindow, SettingsWindowManager settingsManager) { _shellWindow = shellWindow; _settingsManager = settingsManager; _noticon = new NotifyIcon { BalloonTipText = "Whisper is still running. Shhh!", BalloonTipTitle = "Whisper", Text = "Whisper", Icon = new Icon("WhisperIcon.ico") }; _noticon.DoubleClick += (sender, e) => { RestoreApplication(); }; _noticon.ContextMenu = new ContextMenu(new[] { new MenuItem("Restore", (sender, e) => { RestoreApplication(); }), new MenuItem("-"), //new MenuItem("Generators", ), new MenuItem("-"), new MenuItem("Settings", (sender, e) => { ShowSettings(); }), new MenuItem("Exit", (sender, e) => { CloseApplication(); }) }); shellWindow.SetNotificationTrayMinimiseAction(() => MinimiseApplication()); shellWindow.IsVisibleChanged += (sender, e) => { var isVisible = (bool)e.NewValue; if (isVisible) { DismissTray(); } }; }
protected override async void OnStartup(StartupEventArgs e) { _applicationInstance = new WhisperApplication(); // Initialise the application instance. using (var splash = new SplashWindow(_applicationInstance.InitialisationProgress)) { splash.Show(); var timer = System.Diagnostics.Stopwatch.StartNew(); await _applicationInstance.InitialiseApplication(); timer.Stop(); var delayDelta = (int)(1000 - timer.ElapsedMilliseconds); if (delayDelta > 0) { await Task.Delay(delayDelta); } Locator.CurrentMutable.Register(() => new CreateItemView(), typeof(IViewFor <CreateItemViewModel>)); Locator.CurrentMutable.Register(() => new HistoryListItemView(), typeof(IViewFor <HistoryListItemViewModel>)); Locator.CurrentMutable.Register(() => new HistoryListView(), typeof(IViewFor <HistoryListViewModel>)); Locator.CurrentMutable.Register(() => new SettingsPageAboutView(), typeof(IViewFor <SettingsPageAboutViewModel>)); Locator.CurrentMutable.Register(() => new SettingsPageApplicationView(), typeof(IViewFor <SettingsPageApplicationViewModel>)); Locator.CurrentMutable.Register(() => new SettingsPageGeneralView(), typeof(IViewFor <SettingsPageGeneralViewModel>)); Locator.CurrentMutable.Register(() => new SettingsPageGenerationView(), typeof(IViewFor <SettingsPageGenerationViewModel>)); Locator.CurrentMutable.Register(() => new SettingsPageGenerationItemView(), typeof(IViewFor <SettingsPageGenerationItemViewModel>)); Func <SettingsWindow> settingsWindowFactory = () => { var settingsWindow = new SettingsWindow(); var settingsVm = new SettingsWindowViewModel(new List <SettingsPageViewModelBase> { new SettingsPageAboutViewModel(_applicationInstance.AppInfoService), new SettingsPageGeneralViewModel(_applicationInstance.ConfigService), //new SettingsPageApplicationViewModel(), new SettingsPageGenerationViewModel(_applicationInstance.ConfigService, _applicationInstance.GeneratorService) }); settingsWindow.ViewModel = settingsVm; return(settingsWindow); }; var settingsManager = new SettingsWindowManager(settingsWindowFactory); var shellWindowViewModel = new ShellWindowViewModel(_applicationInstance.ConfigService, new CreateItemViewModel(_applicationInstance.ConfigService, _applicationInstance.GeneratorService, _applicationInstance.ClipboardService), new HistoryListViewModel(_applicationInstance.GeneratorService, _applicationInstance.ClipboardService), settingsManager); // Fix this bat-shit nonsense. Locator.CurrentMutable.UnregisterAll <IPropertyBindingHook>(); Locator.CurrentMutable.Register <IPropertyBindingHook>(() => new BindingHookFixerer()); var shell = new ShellWindow { ViewModel = shellWindowViewModel }; var trayIcon = new WhisperTrayAgent(shell, settingsManager); _applicationDisposables.Add(trayIcon); splash.Hide(); splash.Close(); shell.Show(); } base.OnStartup(e); }