private void Application_Startup(object sender, StartupEventArgs e) { ErrorReportingService.Initialize(); Trace.WriteLine("App Application_Startup"); if (!SingleInstanceAppMutex.TakeExclusivity()) { Trace.WriteLine("App Application_Startup TakeExclusivity failed"); Current.Shutdown(); return; } ((ThemeManager)Resources["ThemeManager"]).SetTheme(ThemeData.GetBrushData()); var deviceManager = DataModelFactory.CreateAudioDeviceManager(); DiagnosticsService.Advise(deviceManager); _viewModel = new MainViewModel(deviceManager); _viewModel.Ready += MainViewModel_Ready; _flyoutWindow = new FlyoutWindow(_viewModel, new FlyoutViewModel(_viewModel)); _trayIcon = new TrayIcon(new TrayViewModel(_viewModel)); HotkeyService.Register(SettingsService.Hotkey); HotkeyService.KeyPressed += (_, __) => _viewModel.OpenFlyout(); StartupUWPDialogDisplayService.ShowIfAppropriate(); Trace.WriteLine($"App Application_Startup Exit"); }
private void DoAppStartup() { ((Manager)Resources["ThemeManager"]).Load(); _mixerWindow = new WindowHolder(CreateMixerExperience); _settingsWindow = new WindowHolder(CreateSettingsExperience); PlaybackDevicesViewModel = new DeviceCollectionViewModel(WindowsAudioFactory.Create(AudioDeviceKind.Playback)); PlaybackDevicesViewModel.Ready += OnMainViewModelReady; FlyoutViewModel = new FlyoutViewModel(PlaybackDevicesViewModel); FlyoutWindow = new FlyoutWindow(FlyoutViewModel); TrayViewModel = new TrayViewModel(PlaybackDevicesViewModel); TrayViewModel.LeftClick = new RelayCommand(() => FlyoutViewModel.OpenFlyout(FlyoutShowOptions.Pointer)); TrayViewModel.OpenMixer = new RelayCommand(_mixerWindow.OpenOrBringToFront); TrayViewModel.OpenSettings = new RelayCommand(_settingsWindow.OpenOrBringToFront); FlyoutWindow.DpiChanged += (_, __) => TrayViewModel.Refresh(); _trayIcon = new TrayIcon(TrayViewModel); SettingsService.RegisterHotkeys(); HotkeyManager.Current.KeyPressed += OnHotKeyPressed; MaybeShowFirstRunExperience(); }
public MainWindow() { InitializeComponent(); _viewModel = new AudioMixerViewModel(); _trayIcon = new TrayIcon(); _trayIcon.Invoked += TrayIcon_Invoked; DataContext = _viewModel; // Move keyboard focus to the first element. Disabled this since it is ugly but not sure invisible // visuals are preferrable. // Activated += (s,e) => MoveFocus(new TraversalRequest(FocusNavigationDirection.First)); SourceInitialized += (s, e) => UpdateTheme(); }
public MainWindow() { InitializeComponent(); _viewModel = new AudioMixerViewModel(); _trayIcon = new TrayIcon(); _trayIcon.Invoked += TrayIcon_Invoked; DataContext = _viewModel; CreateAndHideWindow(); // Move keyboard focus to the first element. Disabled this since it is ugly but not sure invisible // visuals are preferrable. // Activated += (s,e) => MoveFocus(new TraversalRequest(FocusNavigationDirection.First)); SourceInitialized += (s, e) => UpdateTheme(); }
private void Application_Startup(object sender, StartupEventArgs e) { ErrorReportingService.Initialize(); Trace.WriteLine("App Application_Startup"); if (!SingleInstanceAppMutex.TakeExclusivity()) { Trace.WriteLine("App Application_Startup TakeExclusivity failed"); Current.Shutdown(); return; } ((ThemeManager)Resources["ThemeManager"]).SetTheme(ThemeData.GetBrushData()); PlaybackDevicesViewModel = new DeviceCollectionViewModel(DataModelFactory.CreateAudioDeviceManager(AudioDeviceKind.Playback)); PlaybackDevicesViewModel.Ready += MainViewModel_Ready; FlyoutViewModel = new FlyoutViewModel(PlaybackDevicesViewModel); FlyoutWindow = new FlyoutWindow(FlyoutViewModel); TrayViewModel = new TrayViewModel(PlaybackDevicesViewModel); TrayViewModel.LeftClick = new RelayCommand(() => FlyoutViewModel.OpenFlyout(FlyoutShowOptions.Pointer)); TrayViewModel.OpenMixer = new RelayCommand(OpenMixer); TrayViewModel.OpenSettings = new RelayCommand(OpenSettings); _trayIcon = new TrayIcon(TrayViewModel); FlyoutWindow.DpiChanged += (_, __) => TrayViewModel.DpiChanged(); HotkeyManager.Current.Register(SettingsService.Hotkey); HotkeyManager.Current.KeyPressed += (hotkey) => { if (hotkey.Equals(SettingsService.Hotkey)) { FlyoutViewModel.OpenFlyout(FlyoutShowOptions.Keyboard); } }; StartupUWPDialogDisplayService.ShowIfAppropriate(); Trace.WriteLine($"App Application_Startup Exit"); }