public MainViewModel(IEventAggregator eventAggregator) { _eventAggregator = eventAggregator; _eventAggregator.GetEvent <ScriptInfoAddedEvent>().Subscribe(OnScriptInfoAdded); _eventAggregator.GetEvent <ScriptInfoChangedEvent>().Subscribe((scriptInfo) => ScriptInfo = scriptInfo); _eventAggregator.GetEvent <SettingsChangedEvent>().Subscribe((settings) => LoadSettings(settings)); // Disable global hotkeys while user is changing hotkey _eventAggregator.GetEvent <SettingsWindowOpenEvent>().Subscribe( () => _winService.GlobalKeyDown -= OnGlobalHotkeyDown); _eventAggregator.GetEvent <SettingsWindowClosedEvent>().Subscribe( () => _winService.GlobalKeyDown += OnGlobalHotkeyDown); _settingsAccess = new SettingsAccess(); _scriptAccess = new ScriptAccess(); _dialogService = new DialogService(); _scriptService = new ScriptService(); _winService = new WinService(); _winService.GlobalKeyDown += OnGlobalHotkeyDown; _winService.GlobalKeyUp += OnGlobalHotkeyUp; _automationService = new AutomationService(); _automationService.RemoveFileModificationDetectedDialogOnCreated(); _settings = _settingsAccess.LoadSettings(); FormViewModel = new ScriptInfoViewModel(eventAggregator, SaveScriptInfoAction); LoadCommands(); LoadSettings(_settings, firstTime: true); ScriptNames = _scriptAccess.GetScriptNames(); }
public CreateNewScriptViewModel(IEventAggregator eventAggregator, Action closeAction) { _eventAggregator = eventAggregator; _scriptService = new ScriptService(); _scriptAccess = new ScriptAccess(); _settingsAccess = new SettingsAccess(); _settings = _settingsAccess.LoadSettings(); FormViewModel = new ScriptInfoViewModel(eventAggregator, AddScriptInfoAction); FormViewModel.Mode = ChangeMode.Add; Close = closeAction; CloseCommand = new DelegateCommand(() => Close()); }