public MainViewModel( IAudioService audioService, IOptionsService optionsService, IRecordingDestinationService destService) { // subscriptions... Messenger.Default.Register <NavigateMessage>(this, OnNavigate); Messenger.Default.Register <AlwaysOnTopChanged>(this, OnAlwaysOnTopChanged); _pages = new Dictionary <string, FrameworkElement>(); _optionsService = optionsService; _audioService = audioService; // set up pages... SetupPage(RecordingPageViewModel.PageName, new RecordingPage(), new RecordingPageViewModel(audioService, optionsService, destService)); SetupPage(SettingsPageViewModel.PageName, new SettingsPage(), new SettingsPageViewModel(audioService, optionsService)); var state = new RecordingPageNavigationState { ShowSplash = true, StartRecording = optionsService.Options.StartRecordingOnLaunch }; Messenger.Default.Send(new NavigateMessage(RecordingPageViewModel.PageName, state)); }
public MainViewModel( IAudioService audioService, IOptionsService optionsService, ICommandLineService commandLineService, IRecordingDestinationService destService, ICopyRecordingsService copyRecordingsService, ISnackbarService snackbarService, IPurgeRecordingsService purgeRecordingsService, ISilenceService silenceService) { if (commandLineService.NoGpu) { // disable hardware (GPU) rendering so that it's all done by the CPU... RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly; } // subscriptions... Messenger.Default.Register <NavigateMessage>(this, OnNavigate); Messenger.Default.Register <AlwaysOnTopChanged>(this, OnAlwaysOnTopChanged); _pages = new Dictionary <string, FrameworkElement>(); _optionsService = optionsService; _audioService = audioService; _snackbarService = snackbarService; _purgeRecordingsService = purgeRecordingsService; // set up pages... SetupPage( RecordingPageViewModel.PageName, new RecordingPage(), new RecordingPageViewModel( audioService, optionsService, commandLineService, destService, copyRecordingsService, snackbarService, silenceService)); SetupPage( SettingsPageViewModel.PageName, new SettingsPage(), new SettingsPageViewModel(audioService, optionsService, commandLineService)); var state = new RecordingPageNavigationState { ShowSplash = !optionsService.Options.StartMinimized, StartRecording = optionsService.Options.StartRecordingOnLaunch, }; GetVersionData(); Messenger.Default.Send(new NavigateMessage( null, RecordingPageViewModel.PageName, state)); }