1
Fork 0
This repository has been archived on 2023-03-26. You can view files and clone it, but cannot push or open issues or pull requests.
saviour-backup-system/Saviour Backup System/notificationIcon.cs

58 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Saviour_Backup_System
{
class notificationIcon : IDisposable
{
public NotifyIcon notifyIcon = new NotifyIcon() ;
public ContextMenu contextMenu = new ContextMenu();
/// <summary>
/// Constructor for notification icon
/// </summary>
public notificationIcon()
{
notifyIcon.Text = "Saviour Backup System";
notifyIcon.Icon = Properties.Resources.redCDIconICO;
populateList();
notifyIcon.ContextMenu = contextMenu;
notifyIcon.Visible = true; //finally displays the tray icon
}
/// <summary>
/// Creates the menu entries for notification icon
/// </summary>
private void populateList() {
contextMenu.MenuItems.Add("Show Interface", displayWindow);
contextMenu.MenuItems.Add("Copy Progress", showProgress);
contextMenu.MenuItems.Add("Exit", closeProgram);
}
/// <summary>
/// Set right click menu events for notification icon
/// </summary>
private void displayWindow(object sender, EventArgs e) { setup.MW.showDisplay(); }
private void showProgress(object sender, EventArgs e) { return; } //nothing yet!
private void closeProgram(object sender, EventArgs e) { setup.closeProgram(); }
/// <summary>
/// Set display message when program main window is closed.
/// </summary>
public void displayStillRunning() {
string title = "I'm Still Here!";
string message = "Saviour Backup System is still running in the background";
notifyIcon.ShowBalloonTip(2000, title, message, ToolTipIcon.Info);
}
public void Dispose()//deconstructor - for memory management
{
notifyIcon.Dispose();
contextMenu.Dispose();
}
}
}