/// <summary> /// Quits the application from the tray /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void ExitTrayToolStripMenuItem_Click(object sender, EventArgs e) { BackupController.Quitting = true; StyleController.StopWatchers(); _trayIcon.Visible = false; isRestarting = true; System.Windows.Application.Current.Shutdown(); }
/// <summary> /// Asks the user if they are sure they want to exit /// if automatic backup is enabled. /// Saves the settings before the main window closes /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Main_Closing(object sender, System.ComponentModel.CancelEventArgs e) { if (!isRestarting) { if (Properties.Settings.Default.BackupChatLogAutomatically && _trayIcon.Visible == false) { MessageBoxResult result = MessageBoxResult.Yes; if (!Properties.Settings.Default.AlwaysCloseToTray) { result = MessageBox.Show(Strings.MinimizeInsteadOfClose, Strings.Warning, MessageBoxButton.YesNoCancel, MessageBoxImage.Warning); } // ReSharper disable once ConvertIfStatementToSwitchStatement if (result == MessageBoxResult.Yes) { e.Cancel = true; Hide(); _trayIcon.Visible = true; return; } if (result == MessageBoxResult.Cancel) { e.Cancel = true; return; } } } StyleController.StopWatchers(); BackupController.Quitting = true; SaveSettings(); System.Windows.Application.Current.Shutdown(); }
/// <summary> /// Stops the running threads when /// quitting the application /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Application_Exit(object sender, ExitEventArgs e) { StyleController.StopWatchers(); BackupController.Quitting = true; }