Added initial ability to minimise to notification area

Used some awesome help from Hans Passant to build
logic to allow minimise to notification area as well as
be able to change profiles etc from the notification area.

https://stackoverflow.com/questions/1730731/how-to-start-winform-app-minimized-to-tray
This commit is contained in:
Terry MacDonald 2020-10-26 14:30:00 +13:00
parent ed0ccede4c
commit 23930a2a15
8 changed files with 319 additions and 125 deletions

View File

@ -20,7 +20,7 @@ using NvAPIWrapper.Display;
namespace HeliosPlus.Shared
{
public class ProfileItem
public class ProfileItem : IComparable
{
private static List<ProfileItem> _allSavedProfiles = new List<ProfileItem>();
private ProfileIcon _profileIcon;
@ -388,10 +388,21 @@ namespace HeliosPlus.Shared
}
return uncheckedFilename;
}
public int CompareTo(object obj)
{
if (obj == null) return 1;
ProfileItem otherProfile = obj as ProfileItem;
if (otherProfile != null)
return this.Name.CompareTo(otherProfile.Name);
else
throw new ArgumentException("Object to CompareTo is not a Shortcut");
}
}
// Custom comparer for the Profile class
// Custom Equality comparer for the Profile class
// Allows us to use 'Contains'
class ProfileComparer : IEqualityComparer<ProfileItem>
{

View File

@ -468,6 +468,10 @@ namespace HeliosPlus.Shared
_currentProfile = loadedProfile;
}
// Sort the profiles alphabetically
_allProfiles.Sort();
}
} else
{

View File

@ -60,6 +60,9 @@
</PropertyGroup>
<PropertyGroup />
<PropertyGroup />
<PropertyGroup>
<SignManifests>false</SignManifests>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="PresentationCore" />

View File

@ -72,7 +72,7 @@ namespace HeliosPlus
}
public class ShortcutItem
public class ShortcutItem : IComparable
{
//private static List<ShortcutItem> _allSavedShortcuts = new List<ShortcutItem>();
@ -1495,6 +1495,17 @@ namespace HeliosPlus
}
}
public int CompareTo(object obj)
{
if (obj == null) return 1;
ShortcutItem otherShortcut = obj as ShortcutItem;
if (otherShortcut != null)
return this.Name.CompareTo(otherShortcut.Name);
else
throw new ArgumentException("Object to CompareTo is not a Shortcut");
}
}
/*internal class IconActions

View File

@ -399,6 +399,9 @@ namespace HeliosPlus
}
}
}
// Sort the shortcuts alphabetically
_allShortcuts.Sort();
}
}
_shortcutsLoaded = true;

View File

@ -37,16 +37,19 @@
this.btn_setup_game_shortcuts = new System.Windows.Forms.Button();
this.btn_exit = new System.Windows.Forms.Button();
this.pb_game_shortcut = new System.Windows.Forms.PictureBox();
this.mainNotifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
this.notifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
this.mainContextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.changeDisplayProfileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.profilesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.runShortcutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItemHeading = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator = new System.Windows.Forms.ToolStripSeparator();
this.openApplicationWindowToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.profileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.profilesToolStripMenuItemHeading = new System.Windows.Forms.ToolStripMenuItem();
this.profileToolStripSeparator = new System.Windows.Forms.ToolStripSeparator();
this.shortcutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.shortcutsToolStripMenuItemHeading = new System.Windows.Forms.ToolStripMenuItem();
this.shortcutToolStripSeparator = new System.Windows.Forms.ToolStripSeparator();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@ -127,65 +130,86 @@
this.pb_game_shortcut.TabStop = false;
this.pb_game_shortcut.Click += new System.EventHandler(this.pb_game_shortcut_Click);
//
// mainNotifyIcon
// notifyIcon
//
resources.ApplyResources(this.mainNotifyIcon, "mainNotifyIcon");
this.mainNotifyIcon.ContextMenuStrip = this.mainContextMenuStrip;
resources.ApplyResources(this.notifyIcon, "notifyIcon");
this.notifyIcon.ContextMenuStrip = this.mainContextMenuStrip;
//
// mainContextMenuStrip
//
this.mainContextMenuStrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem1,
this.toolStripSeparator1,
this.toolStripMenuItemHeading,
this.toolStripSeparator,
this.openApplicationWindowToolStripMenuItem,
this.changeDisplayProfileToolStripMenuItem,
this.runShortcutToolStripMenuItem});
this.profileToolStripMenuItem,
this.shortcutToolStripMenuItem,
this.toolStripSeparator1,
this.exitToolStripMenuItem});
this.mainContextMenuStrip.Name = "mainContextMenuStrip";
resources.ApplyResources(this.mainContextMenuStrip, "mainContextMenuStrip");
//
// toolStripMenuItem1
// toolStripMenuItemHeading
//
resources.ApplyResources(this.toolStripMenuItem1, "toolStripMenuItem1");
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
resources.ApplyResources(this.toolStripMenuItemHeading, "toolStripMenuItemHeading");
this.toolStripMenuItemHeading.Name = "toolStripMenuItemHeading";
//
// toolStripSeparator
//
this.toolStripSeparator.Name = "toolStripSeparator";
resources.ApplyResources(this.toolStripSeparator, "toolStripSeparator");
//
// openApplicationWindowToolStripMenuItem
//
resources.ApplyResources(this.openApplicationWindowToolStripMenuItem, "openApplicationWindowToolStripMenuItem");
this.openApplicationWindowToolStripMenuItem.Name = "openApplicationWindowToolStripMenuItem";
this.openApplicationWindowToolStripMenuItem.Click += new System.EventHandler(this.openApplicationWindowToolStripMenuItem_Click);
//
// profileToolStripMenuItem
//
this.profileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.profilesToolStripMenuItemHeading,
this.profileToolStripSeparator});
this.profileToolStripMenuItem.Name = "profileToolStripMenuItem";
resources.ApplyResources(this.profileToolStripMenuItem, "profileToolStripMenuItem");
//
// profilesToolStripMenuItemHeading
//
resources.ApplyResources(this.profilesToolStripMenuItemHeading, "profilesToolStripMenuItemHeading");
this.profilesToolStripMenuItemHeading.Name = "profilesToolStripMenuItemHeading";
//
// profileToolStripSeparator
//
this.profileToolStripSeparator.Name = "profileToolStripSeparator";
resources.ApplyResources(this.profileToolStripSeparator, "profileToolStripSeparator");
//
// shortcutToolStripMenuItem
//
this.shortcutToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.shortcutsToolStripMenuItemHeading,
this.shortcutToolStripSeparator});
this.shortcutToolStripMenuItem.Name = "shortcutToolStripMenuItem";
resources.ApplyResources(this.shortcutToolStripMenuItem, "shortcutToolStripMenuItem");
//
// shortcutsToolStripMenuItemHeading
//
resources.ApplyResources(this.shortcutsToolStripMenuItemHeading, "shortcutsToolStripMenuItemHeading");
this.shortcutsToolStripMenuItemHeading.Name = "shortcutsToolStripMenuItemHeading";
//
// shortcutToolStripSeparator
//
this.shortcutToolStripSeparator.Name = "shortcutToolStripSeparator";
resources.ApplyResources(this.shortcutToolStripSeparator, "shortcutToolStripSeparator");
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
resources.ApplyResources(this.toolStripSeparator1, "toolStripSeparator1");
//
// changeDisplayProfileToolStripMenuItem
// exitToolStripMenuItem
//
this.changeDisplayProfileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.profilesToolStripMenuItem,
this.toolStripSeparator2,
this.toolStripMenuItem2});
this.changeDisplayProfileToolStripMenuItem.Name = "changeDisplayProfileToolStripMenuItem";
resources.ApplyResources(this.changeDisplayProfileToolStripMenuItem, "changeDisplayProfileToolStripMenuItem");
//
// profilesToolStripMenuItem
//
this.profilesToolStripMenuItem.Name = "profilesToolStripMenuItem";
resources.ApplyResources(this.profilesToolStripMenuItem, "profilesToolStripMenuItem");
//
// runShortcutToolStripMenuItem
//
this.runShortcutToolStripMenuItem.Name = "runShortcutToolStripMenuItem";
resources.ApplyResources(this.runShortcutToolStripMenuItem, "runShortcutToolStripMenuItem");
//
// openApplicationWindowToolStripMenuItem
//
resources.ApplyResources(this.openApplicationWindowToolStripMenuItem, "openApplicationWindowToolStripMenuItem");
this.openApplicationWindowToolStripMenuItem.Name = "openApplicationWindowToolStripMenuItem";
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
resources.ApplyResources(this.toolStripSeparator2, "toolStripSeparator2");
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
resources.ApplyResources(this.toolStripMenuItem2, "toolStripMenuItem2");
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
resources.ApplyResources(this.exitToolStripMenuItem, "exitToolStripMenuItem");
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
// MainForm
//
@ -218,15 +242,18 @@
private System.Windows.Forms.Button btn_setup_display_profiles;
private System.Windows.Forms.Button btn_setup_game_shortcuts;
private System.Windows.Forms.Label lbl_version;
private System.Windows.Forms.NotifyIcon mainNotifyIcon;
private System.Windows.Forms.NotifyIcon notifyIcon;
private System.Windows.Forms.ContextMenuStrip mainContextMenuStrip;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripMenuItem changeDisplayProfileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem profilesToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem runShortcutToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItemHeading;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator;
private System.Windows.Forms.ToolStripMenuItem profileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem profilesToolStripMenuItemHeading;
private System.Windows.Forms.ToolStripMenuItem shortcutToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem openApplicationWindowToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2;
private System.Windows.Forms.ToolStripSeparator profileToolStripSeparator;
private System.Windows.Forms.ToolStripMenuItem shortcutsToolStripMenuItemHeading;
private System.Windows.Forms.ToolStripSeparator shortcutToolStripSeparator;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
}
}

View File

@ -10,18 +10,48 @@ using System.Windows.Forms;
using HeliosPlus.GameLibraries;
using System.Threading;
using System.Reflection;
using HeliosPlus.Shared;
namespace HeliosPlus.UIForms
{
public partial class MainForm : Form
{
private bool allowVisible; // ContextMenu's Show command used
private bool allowClose; // ContextMenu's Exit command used
public MainForm()
{
InitializeComponent();
btn_setup_display_profiles.Parent = splitContainer1.Panel1;
btn_setup_game_shortcuts.Parent = splitContainer1.Panel2;
lbl_version.Text = string.Format(lbl_version.Text, Assembly.GetExecutingAssembly().GetName().Version);
notifyIcon.Visible = true;
// Make the form show
allowVisible = true;
// Close the application when the form is closed
allowClose = true;
RefreshNotifyIconMenus();
}
protected override void SetVisibleCore(bool value)
{
if (!allowVisible)
{
value = false;
if (!this.IsHandleCreated) CreateHandle();
}
base.SetVisibleCore(value);
}
protected override void OnFormClosing(FormClosingEventArgs e)
{
if (!allowClose)
{
this.Hide();
e.Cancel = true;
}
base.OnFormClosing(e);
}
private void btn_exit_Click(object sender, EventArgs e)
@ -59,5 +89,65 @@ namespace HeliosPlus.UIForms
//SteamGame.GetAllInstalledGames();
}
private void RefreshNotifyIconMenus()
{
// Clear all the profiles
profileToolStripMenuItem.DropDownItems.Clear();
// Prepare the heading shortcuts
ToolStripMenuItem heading = new ToolStripMenuItem();
heading.Text = "Display Profiles";
Font headingFont = new Font(heading.Font, FontStyle.Italic);
heading.Font = headingFont;
heading.Enabled = false;
profileToolStripMenuItem.DropDownItems.Add(heading);
ToolStripSeparator separator = new ToolStripSeparator();
profileToolStripMenuItem.DropDownItems.Add(separator);
// Add the current slist of profiles into the NotifyIcon context menu
foreach (ProfileItem profile in ProfileRepository.AllProfiles)
{
profileToolStripMenuItem.DropDownItems.Add(profile.Name,profile.ProfileBitmap, runProfileToolStripMenuItem_Click);
}
// Clear all the shortcuts
shortcutToolStripMenuItem.DropDownItems.Clear();
// Prepare the heading shortcuts
heading = new ToolStripMenuItem();
heading.Text = "Game Shortcuts";
heading.Font = headingFont;
heading.Enabled = false;
shortcutToolStripMenuItem.DropDownItems.Add(heading);
separator = new ToolStripSeparator();
shortcutToolStripMenuItem.DropDownItems.Add(separator);
// Add the current list of profiles into the NotifyIcon context menu
foreach (ShortcutItem shortcut in ShortcutRepository.AllShortcuts)
{
shortcutToolStripMenuItem.DropDownItems.Add(shortcut.Name,shortcut.ShortcutBitmap, runShortcutToolStripMenuItem_Click);
}
}
private void runProfileToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Show();
}
private void runShortcutToolStripMenuItem_Click(object sender, EventArgs e)
{
this.Show();
}
private void openApplicationWindowToolStripMenuItem_Click(object sender, EventArgs e)
{
allowVisible = true;
Show();
BringToFront();
}
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
allowClose = true;
Application.Exit();
}
}
}

View File

@ -10768,7 +10768,7 @@
<value>Microsoft Sans Serif, 21.75pt</value>
</data>
<data name="btn_setup_game_shortcuts.Location" type="System.Drawing.Point, System.Drawing">
<value>212, 194</value>
<value>212, 180</value>
</data>
<data name="btn_setup_game_shortcuts.Size" type="System.Drawing.Size, System.Drawing">
<value>360, 50</value>
@ -10798,7 +10798,7 @@
<value>Flat</value>
</data>
<data name="btn_exit.Location" type="System.Drawing.Point, System.Drawing">
<value>698, 354</value>
<value>698, 347</value>
</data>
<data name="btn_exit.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 23</value>
@ -63142,28 +63142,31 @@
<data name="&gt;&gt;splitContainer1.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<metadata name="mainNotifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<metadata name="notifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="mainNotifyIcon.BalloonTipText" xml:space="preserve">
<data name="notifyIcon.BalloonTipText" xml:space="preserve">
<value>Use this application to automatically change your display settings when you run a game.</value>
</data>
<data name="mainNotifyIcon.BalloonTipTitle" xml:space="preserve">
<data name="notifyIcon.BalloonTipTitle" xml:space="preserve">
<value>HeliosPlus</value>
</data>
<metadata name="mainContextMenuStrip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>152, 17</value>
</metadata>
<data name="toolStripMenuItem1.Enabled" type="System.Boolean, mscorlib">
<data name="toolStripMenuItemHeading.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="toolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
<data name="toolStripMenuItemHeading.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Italic</value>
</data>
<data name="toolStripMenuItemHeading.Size" type="System.Drawing.Size, System.Drawing">
<value>218, 22</value>
</data>
<data name="toolStripMenuItem1.Text" xml:space="preserve">
<data name="toolStripMenuItemHeading.Text" xml:space="preserve">
<value>HeliosPlus</value>
</data>
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<data name="toolStripSeparator.Size" type="System.Drawing.Size, System.Drawing">
<value>215, 6</value>
</data>
<data name="openApplicationWindowToolStripMenuItem.Font" type="System.Drawing.Font, System.Drawing">
@ -63175,35 +63178,59 @@
<data name="openApplicationWindowToolStripMenuItem.Text" xml:space="preserve">
<value>Open Application Window</value>
</data>
<data name="profilesToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
<data name="profilesToolStripMenuItemHeading.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="profilesToolStripMenuItem.Text" xml:space="preserve">
<data name="profilesToolStripMenuItemHeading.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Italic</value>
</data>
<data name="profilesToolStripMenuItemHeading.Size" type="System.Drawing.Size, System.Drawing">
<value>155, 22</value>
</data>
<data name="profilesToolStripMenuItemHeading.Text" xml:space="preserve">
<value>Display Profiles</value>
</data>
<data name="toolStripSeparator2.Size" type="System.Drawing.Size, System.Drawing">
<value>177, 6</value>
<data name="profileToolStripSeparator.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 6</value>
</data>
<data name="toolStripMenuItem2.Size" type="System.Drawing.Size, System.Drawing">
<value>180, 22</value>
</data>
<data name="toolStripMenuItem2.Text" xml:space="preserve">
<value>DIsplay Profile 1</value>
</data>
<data name="changeDisplayProfileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<data name="profileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>218, 22</value>
</data>
<data name="changeDisplayProfileToolStripMenuItem.Text" xml:space="preserve">
<value>Change Display Profile To</value>
<data name="profileToolStripMenuItem.Text" xml:space="preserve">
<value>Change Display Profile</value>
</data>
<data name="runShortcutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<data name="shortcutsToolStripMenuItemHeading.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="shortcutsToolStripMenuItemHeading.Font" type="System.Drawing.Font, System.Drawing">
<value>Segoe UI, 9pt, style=Italic</value>
</data>
<data name="shortcutsToolStripMenuItemHeading.Size" type="System.Drawing.Size, System.Drawing">
<value>156, 22</value>
</data>
<data name="shortcutsToolStripMenuItemHeading.Text" xml:space="preserve">
<value>Game Shortcuts</value>
</data>
<data name="shortcutToolStripSeparator.Size" type="System.Drawing.Size, System.Drawing">
<value>153, 6</value>
</data>
<data name="shortcutToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>218, 22</value>
</data>
<data name="runShortcutToolStripMenuItem.Text" xml:space="preserve">
<value>Run Shortcut</value>
<data name="shortcutToolStripMenuItem.Text" xml:space="preserve">
<value>Run Game Shortcut</value>
</data>
<data name="toolStripSeparator1.Size" type="System.Drawing.Size, System.Drawing">
<value>215, 6</value>
</data>
<data name="exitToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
<value>218, 22</value>
</data>
<data name="exitToolStripMenuItem.Text" xml:space="preserve">
<value>Close HeliosPlus</value>
</data>
<data name="mainContextMenuStrip.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 120</value>
<value>219, 126</value>
</data>
<data name="mainContextMenuStrip.Text" xml:space="preserve">
<value>Text</value>
@ -63214,7 +63241,7 @@
<data name="&gt;&gt;mainContextMenuStrip.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="mainNotifyIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<data name="notifyIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAkAEBAAAAEAIABoBAAAlgAAABgYAAABACAAiAkAAP4EAAAgIAAAAQAgAKgQAACGDgAAMDAAAAEA
IACoJQAALh8AAEBAAAABACAAKEIAANZEAABgYAAAAQAgAKiUAAD+hgAAgIAAAAEAIAAoCAEAphsBAMDA
@ -71025,10 +71052,10 @@
rjGJe6619efaHz2S/5D4v/OFla+gZqVXAAAAAElFTkSuQmCC
</value>
</data>
<data name="mainNotifyIcon.Text" xml:space="preserve">
<data name="notifyIcon.Text" xml:space="preserve">
<value>HeliosPlus</value>
</data>
<data name="mainNotifyIcon.Visible" type="System.Boolean, mscorlib">
<data name="notifyIcon.Visible" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
@ -78866,58 +78893,76 @@
<data name="$this.Text" xml:space="preserve">
<value>HeliosPlus</value>
</data>
<data name="&gt;&gt;mainNotifyIcon.Name" xml:space="preserve">
<value>mainNotifyIcon</value>
<data name="&gt;&gt;notifyIcon.Name" xml:space="preserve">
<value>notifyIcon</value>
</data>
<data name="&gt;&gt;mainNotifyIcon.Type" xml:space="preserve">
<data name="&gt;&gt;notifyIcon.Type" xml:space="preserve">
<value>System.Windows.Forms.NotifyIcon, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem1.Name" xml:space="preserve">
<value>toolStripMenuItem1</value>
<data name="&gt;&gt;toolStripMenuItemHeading.Name" xml:space="preserve">
<value>toolStripMenuItemHeading</value>
</data>
<data name="&gt;&gt;toolStripMenuItem1.Type" xml:space="preserve">
<data name="&gt;&gt;toolStripMenuItemHeading.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Name" xml:space="preserve">
<value>toolStripSeparator1</value>
<data name="&gt;&gt;toolStripSeparator.Name" xml:space="preserve">
<value>toolStripSeparator</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Type" xml:space="preserve">
<data name="&gt;&gt;toolStripSeparator.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;changeDisplayProfileToolStripMenuItem.Name" xml:space="preserve">
<value>changeDisplayProfileToolStripMenuItem</value>
</data>
<data name="&gt;&gt;changeDisplayProfileToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;profilesToolStripMenuItem.Name" xml:space="preserve">
<value>profilesToolStripMenuItem</value>
</data>
<data name="&gt;&gt;profilesToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;runShortcutToolStripMenuItem.Name" xml:space="preserve">
<value>runShortcutToolStripMenuItem</value>
</data>
<data name="&gt;&gt;runShortcutToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;openApplicationWindowToolStripMenuItem.Name" xml:space="preserve">
<value>openApplicationWindowToolStripMenuItem</value>
</data>
<data name="&gt;&gt;openApplicationWindowToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator2.Name" xml:space="preserve">
<value>toolStripSeparator2</value>
<data name="&gt;&gt;profileToolStripMenuItem.Name" xml:space="preserve">
<value>profileToolStripMenuItem</value>
</data>
<data name="&gt;&gt;toolStripSeparator2.Type" xml:space="preserve">
<data name="&gt;&gt;profileToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;profilesToolStripMenuItemHeading.Name" xml:space="preserve">
<value>profilesToolStripMenuItemHeading</value>
</data>
<data name="&gt;&gt;profilesToolStripMenuItemHeading.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;profileToolStripSeparator.Name" xml:space="preserve">
<value>profileToolStripSeparator</value>
</data>
<data name="&gt;&gt;profileToolStripSeparator.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripMenuItem2.Name" xml:space="preserve">
<value>toolStripMenuItem2</value>
<data name="&gt;&gt;shortcutToolStripMenuItem.Name" xml:space="preserve">
<value>shortcutToolStripMenuItem</value>
</data>
<data name="&gt;&gt;toolStripMenuItem2.Type" xml:space="preserve">
<data name="&gt;&gt;shortcutToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;shortcutsToolStripMenuItemHeading.Name" xml:space="preserve">
<value>shortcutsToolStripMenuItemHeading</value>
</data>
<data name="&gt;&gt;shortcutsToolStripMenuItemHeading.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;shortcutToolStripSeparator.Name" xml:space="preserve">
<value>shortcutToolStripSeparator</value>
</data>
<data name="&gt;&gt;shortcutToolStripSeparator.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Name" xml:space="preserve">
<value>toolStripSeparator1</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripSeparator, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;exitToolStripMenuItem.Name" xml:space="preserve">
<value>exitToolStripMenuItem</value>
</data>
<data name="&gt;&gt;exitToolStripMenuItem.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">