public MainWindow() { InitializeComponent(); var fullPath = Assembly.GetExecutingAssembly().Location; _autoStartManager = new AutoStartManager("SpotifySleepModeStopper", fullPath); #region Events Subscription Closing += OnClosing; #endregion #region Init Tray Icon WindowState = WindowState.Minimized; Visibility = Visibility.Hidden; ShowInTaskbar = false; _notifyIcon = new NotifyIcon(); using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("SpotifySleepModeStopperGui.music.ico")) { _notPlayingIcon = new Icon(stream); } using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("SpotifySleepModeStopperGui.music_playing.ico")) { _playingIcon = new Icon(stream); } SetNotPlaying(); _notifyIcon.Visible = true; var contextMenu = new ContextMenu(); var exitMenuItem = new MenuItem(); exitMenuItem.Index = 1; exitMenuItem.Text = "Exit"; exitMenuItem.Click += exit_Click; _autoStartMenuItem = new MenuItem(); _autoStartMenuItem.Index = 0; if (_autoStartManager.IsAutoStartSet()) { _autoStartMenuItem.Text = AppStartingOnStartupMess; //"Auto Startup"; } else { _autoStartMenuItem.Text = AppNotStartingOnStartupMess; } _autoStartMenuItem.Click += changeAutoStart_Click; contextMenu.MenuItems.AddRange(new[] { _autoStartMenuItem, exitMenuItem }); _notifyIcon.ContextMenu = contextMenu; #endregion #region Poor Man DI var iconChanger = new AppStateReporting(SetPlaying, SetNotPlaying); var messageDisplayer = new DummyMessageDisplayer(); var powerHandler = new PowerRequestContextHandler(); var soundAnalyser = new CsCoreSoundAnalyser(messageDisplayer); #endregion _analyser = new SpotifySaveModeStopper(messageDisplayer, powerHandler, soundAnalyser, iconChanger); _analyser.StartListening(); }
public MainWindow() { InitializeComponent(); #region Poor Man DI var iconChanger = new AppStateReporting(SetPlayingGui, SetNotPlayingGui); var messageDisplayer = new DummyMessageDisplayer(); var powerHandler = new PowerRequestContextHandler(); var soundAnalyser = new CsCoreSoundAnalyser(messageDisplayer); var processAnalyser = new ProcessAnalyser(); var fullPath = Assembly.GetExecutingAssembly().Location; var autoStartManager = new AutoStartManager(AppName, fullPath); var settingsManager = new SettingsManager <AppSettings>(AppName, new AppSettings { IsScreenSleepEnabled = false }); #endregion _facade = new SpotifySaveModeStopperFacade(messageDisplayer, powerHandler, soundAnalyser, processAnalyser, iconChanger, autoStartManager, settingsManager); #region Events Subscription Closing += OnClosing; #endregion #region Init Tray Icon WindowState = WindowState.Minimized; Visibility = Visibility.Hidden; ShowInTaskbar = false; _notifyIcon = new NotifyIcon(); using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("SpotifySleepModeStopperGui.music.ico")) { _notPlayingIcon = new Icon(stream); } using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("SpotifySleepModeStopperGui.music_playing.ico")) { _playingIcon = new Icon(stream); } SetNotPlayingGui(); _notifyIcon.Visible = true; var contextMenu = new ContextMenu(); var exitMenuItem = new MenuItem(); exitMenuItem.Index = 2; exitMenuItem.Text = ExitMess; exitMenuItem.Click += exit_Click; _screenBehaviorMenuItem = new MenuItem(); _screenBehaviorMenuItem.Index = 1; if (_facade.IsScreenSleepEnabled()) { _screenBehaviorMenuItem.Text = ScreenSleepEnabledMess; } else { _screenBehaviorMenuItem.Text = ScreenSleepDisabledMess; } _screenBehaviorMenuItem.Click += ScreenBehaviorMenuItemOnClick; _autoStartMenuItem = new MenuItem(); _autoStartMenuItem.Index = 0; if (_facade.IsAutoStartEnabled()) { _autoStartMenuItem.Text = AppStartingOnStartupMess; //"Auto Startup"; } else { _autoStartMenuItem.Text = AppNotStartingOnStartupMess; } _autoStartMenuItem.Click += AutoStartMenuItemOnClick; contextMenu.MenuItems.AddRange(new[] { _autoStartMenuItem, _screenBehaviorMenuItem, exitMenuItem }); _notifyIcon.ContextMenu = contextMenu; #endregion _facade.StartListening(); }