2020-07-07 07:15:45 +12:00
|
|
|
|
// <copyright file="AppContextMenu.cs" company="PlaceholderCompany">
|
|
|
|
|
// Copyright (c) PlaceholderCompany. All rights reserved.
|
|
|
|
|
// </copyright>
|
2019-07-05 05:04:14 +12:00
|
|
|
|
|
2020-03-28 12:42:32 +13:00
|
|
|
|
namespace SystemTrayMenu.Helper
|
2019-07-05 05:04:14 +12:00
|
|
|
|
{
|
2020-07-07 07:15:45 +12:00
|
|
|
|
using System;
|
|
|
|
|
using System.Diagnostics;
|
|
|
|
|
using System.Drawing;
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
using System.Windows.Forms;
|
|
|
|
|
using SystemTrayMenu.UserInterface;
|
|
|
|
|
using SystemTrayMenu.Utilities;
|
2020-07-07 09:37:55 +12:00
|
|
|
|
|
2020-03-24 00:32:47 +13:00
|
|
|
|
internal class AppContextMenu
|
2019-07-05 05:04:14 +12:00
|
|
|
|
{
|
2020-04-01 07:42:49 +13:00
|
|
|
|
public event EventHandlerEmpty ClickedOpenLog;
|
2020-07-07 09:37:55 +12:00
|
|
|
|
|
2020-04-01 07:42:49 +13:00
|
|
|
|
public event EventHandlerEmpty ClickedRestart;
|
2020-07-07 09:37:55 +12:00
|
|
|
|
|
2020-04-01 07:42:49 +13:00
|
|
|
|
public event EventHandlerEmpty ClickedExit;
|
2019-07-05 05:04:14 +12:00
|
|
|
|
|
2020-05-05 05:43:47 +12:00
|
|
|
|
public ContextMenuStrip Create()
|
|
|
|
|
{
|
|
|
|
|
ContextMenuStrip menu = new ContextMenuStrip
|
2019-07-05 05:04:14 +12:00
|
|
|
|
{
|
2020-07-07 07:15:45 +12:00
|
|
|
|
BackColor = SystemColors.Control,
|
2020-05-05 05:43:47 +12:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
ToolStripMenuItem settings = new ToolStripMenuItem()
|
|
|
|
|
{
|
|
|
|
|
ImageScaling = ToolStripItemImageScaling.SizeToFit,
|
2020-07-07 07:15:45 +12:00
|
|
|
|
Text = Translator.GetText("Settings"),
|
2020-05-05 05:43:47 +12:00
|
|
|
|
};
|
|
|
|
|
settings.Click += Settings_Click;
|
2020-07-07 07:15:45 +12:00
|
|
|
|
static void Settings_Click(object sender, EventArgs e)
|
2019-07-05 05:04:14 +12:00
|
|
|
|
{
|
2020-05-05 05:43:47 +12:00
|
|
|
|
SettingsForm settingsForm = new SettingsForm();
|
|
|
|
|
if (settingsForm.ShowDialog() == DialogResult.OK)
|
2019-07-05 05:04:14 +12:00
|
|
|
|
{
|
2020-05-05 05:43:47 +12:00
|
|
|
|
AppRestart.ByConfigChange();
|
2019-07-05 05:04:14 +12:00
|
|
|
|
}
|
|
|
|
|
}
|
2020-07-07 07:15:45 +12:00
|
|
|
|
|
2020-05-05 05:43:47 +12:00
|
|
|
|
menu.Items.Add(settings);
|
2019-07-05 05:04:14 +12:00
|
|
|
|
|
2020-03-24 00:41:10 +13:00
|
|
|
|
ToolStripSeparator seperator = new ToolStripSeparator
|
|
|
|
|
{
|
2020-07-07 07:15:45 +12:00
|
|
|
|
BackColor = SystemColors.Control,
|
2020-03-24 00:41:10 +13:00
|
|
|
|
};
|
2019-07-05 05:04:14 +12:00
|
|
|
|
menu.Items.Add(seperator);
|
|
|
|
|
|
2020-03-24 00:41:10 +13:00
|
|
|
|
ToolStripMenuItem openLog = new ToolStripMenuItem
|
|
|
|
|
{
|
2020-07-07 07:15:45 +12:00
|
|
|
|
Text = Translator.GetText("Log File"),
|
2020-03-24 00:41:10 +13:00
|
|
|
|
};
|
2019-07-05 05:04:14 +12:00
|
|
|
|
openLog.Click += OpenLog_Click;
|
|
|
|
|
void OpenLog_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2020-06-29 06:56:03 +12:00
|
|
|
|
ClickedOpenLog?.Invoke();
|
2019-07-05 05:04:14 +12:00
|
|
|
|
}
|
2020-07-07 07:15:45 +12:00
|
|
|
|
|
2019-07-05 05:04:14 +12:00
|
|
|
|
menu.Items.Add(openLog);
|
|
|
|
|
|
|
|
|
|
menu.Items.Add(new ToolStripSeparator());
|
|
|
|
|
|
2020-05-31 23:43:12 +12:00
|
|
|
|
ToolStripMenuItem helpFAQ = new ToolStripMenuItem
|
|
|
|
|
{
|
2020-07-07 07:15:45 +12:00
|
|
|
|
Text = Translator.GetText("HelpFAQ"),
|
2020-05-31 23:43:12 +12:00
|
|
|
|
};
|
|
|
|
|
helpFAQ.Click += HelpFAQ_Click;
|
2020-07-07 07:15:45 +12:00
|
|
|
|
static void HelpFAQ_Click(object sender, EventArgs e)
|
2020-05-31 23:43:12 +12:00
|
|
|
|
{
|
|
|
|
|
Config.ShowHelpFAQ();
|
|
|
|
|
}
|
2020-07-07 07:15:45 +12:00
|
|
|
|
|
2020-05-31 23:43:12 +12:00
|
|
|
|
menu.Items.Add(helpFAQ);
|
|
|
|
|
|
2020-03-24 00:41:10 +13:00
|
|
|
|
ToolStripMenuItem about = new ToolStripMenuItem
|
|
|
|
|
{
|
2020-07-07 07:15:45 +12:00
|
|
|
|
Text = Translator.GetText("About"),
|
2020-03-24 00:41:10 +13:00
|
|
|
|
};
|
2019-07-05 05:04:14 +12:00
|
|
|
|
about.Click += About_Click;
|
2020-07-07 07:15:45 +12:00
|
|
|
|
static void About_Click(object sender, EventArgs e)
|
2019-07-05 05:04:14 +12:00
|
|
|
|
{
|
|
|
|
|
FileVersionInfo versionInfo = FileVersionInfo.GetVersionInfo(
|
|
|
|
|
Assembly.GetEntryAssembly().Location);
|
2020-03-24 00:41:10 +13:00
|
|
|
|
AboutBox ab = new AboutBox
|
|
|
|
|
{
|
|
|
|
|
AppTitle = versionInfo.ProductName,
|
|
|
|
|
AppDescription = versionInfo.FileDescription,
|
|
|
|
|
AppVersion = $"Version {versionInfo.FileVersion}",
|
|
|
|
|
AppCopyright = versionInfo.LegalCopyright,
|
2020-07-07 07:15:45 +12:00
|
|
|
|
AppMoreInfo = versionInfo.LegalCopyright,
|
2020-03-24 00:41:10 +13:00
|
|
|
|
};
|
2019-07-05 05:04:14 +12:00
|
|
|
|
ab.AppMoreInfo += Environment.NewLine;
|
2020-09-21 07:47:46 +12:00
|
|
|
|
ab.AppMoreInfo += "Markus Hofknecht (mailto:Markus@Hofknecht.eu)" + Environment.NewLine;
|
2021-04-14 03:50:31 +12:00
|
|
|
|
ab.AppMoreInfo += "Tanja Hofknecht (mailto:Tanja@Hofknecht.eu)" + Environment.NewLine;
|
2020-09-21 07:47:46 +12:00
|
|
|
|
|
|
|
|
|
// Thanks for letting me being part of this project and that I am allowed to be listed here :-)
|
|
|
|
|
ab.AppMoreInfo += "Peter Kirmeier (mai" + "lto:top" + "ete" + "rk@f" + "reen" + "et." + "de)" + Environment.NewLine;
|
|
|
|
|
|
2021-04-28 06:07:46 +12:00
|
|
|
|
ab.AppMoreInfo += "French by Pascal Aloy (mailto:paloy@wanadoo.fr)" + Environment.NewLine; // #145
|
|
|
|
|
ab.AppMoreInfo += "Dutch by HansieNL (https://github.com/HansieNL)" + Environment.NewLine; // #162
|
2021-04-29 09:41:21 +12:00
|
|
|
|
ab.AppMoreInfo += "Portuguese (Brazil) by igorruckert (https://github.com/igorruckert)" + Environment.NewLine; // #163
|
2021-04-14 03:50:31 +12:00
|
|
|
|
|
2020-09-21 07:47:46 +12:00
|
|
|
|
ab.AppMoreInfo += "http://www.hofknecht.eu/systemtraymenu/" + Environment.NewLine;
|
|
|
|
|
ab.AppMoreInfo += "https://github.com/Hofknecht/SystemTrayMenu" + Environment.NewLine;
|
2019-07-05 05:04:14 +12:00
|
|
|
|
ab.AppMoreInfo += Environment.NewLine;
|
2019-07-07 03:11:55 +12:00
|
|
|
|
ab.AppMoreInfo += "GNU GENERAL PUBLIC LICENSE" + Environment.NewLine;
|
|
|
|
|
ab.AppMoreInfo += "(Version 3, 29 June 2007)" + Environment.NewLine;
|
2019-07-05 05:04:14 +12:00
|
|
|
|
ab.AppDetailsButton = true;
|
|
|
|
|
ab.ShowDialog();
|
|
|
|
|
}
|
2020-07-07 07:15:45 +12:00
|
|
|
|
|
2019-07-05 05:04:14 +12:00
|
|
|
|
menu.Items.Add(about);
|
|
|
|
|
|
|
|
|
|
menu.Items.Add(new ToolStripSeparator());
|
|
|
|
|
|
2020-03-24 00:41:10 +13:00
|
|
|
|
ToolStripMenuItem restart = new ToolStripMenuItem
|
|
|
|
|
{
|
2020-07-07 07:15:45 +12:00
|
|
|
|
Text = Translator.GetText("Restart"),
|
2020-03-24 00:41:10 +13:00
|
|
|
|
};
|
2019-07-05 05:04:14 +12:00
|
|
|
|
restart.Click += Restart_Click;
|
|
|
|
|
void Restart_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2020-06-29 06:56:03 +12:00
|
|
|
|
ClickedRestart?.Invoke();
|
2019-07-05 05:04:14 +12:00
|
|
|
|
}
|
2020-07-07 07:15:45 +12:00
|
|
|
|
|
2019-07-05 05:04:14 +12:00
|
|
|
|
menu.Items.Add(restart);
|
|
|
|
|
|
2020-03-24 00:41:10 +13:00
|
|
|
|
ToolStripMenuItem exit = new ToolStripMenuItem
|
|
|
|
|
{
|
2020-07-07 07:15:45 +12:00
|
|
|
|
Text = Translator.GetText("Exit"),
|
2020-03-24 00:41:10 +13:00
|
|
|
|
};
|
2019-07-05 05:04:14 +12:00
|
|
|
|
exit.Click += Exit_Click;
|
|
|
|
|
void Exit_Click(object sender, EventArgs e)
|
|
|
|
|
{
|
2020-06-29 06:56:03 +12:00
|
|
|
|
ClickedExit?.Invoke();
|
2019-07-05 05:04:14 +12:00
|
|
|
|
}
|
2020-07-07 07:15:45 +12:00
|
|
|
|
|
2019-07-05 05:04:14 +12:00
|
|
|
|
menu.Items.Add(exit);
|
|
|
|
|
|
|
|
|
|
return menu;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|