mirror of
https://github.com/Hofknecht/SystemTrayMenu.git
synced 2024-09-29 16:51:18 +13:00
parent
7bbe8d6c2a
commit
0b3e096ec6
7 changed files with 51 additions and 38 deletions
|
@ -16,15 +16,11 @@ namespace SystemTrayMenu
|
||||||
|
|
||||||
public App()
|
public App()
|
||||||
{
|
{
|
||||||
Scaling.Initialize();
|
|
||||||
FolderOptions.Initialize();
|
|
||||||
|
|
||||||
Screen screen = Screen.PrimaryScreen;
|
Screen screen = Screen.PrimaryScreen;
|
||||||
Statics.ScreenHeight = screen.Bounds.Height;
|
Statics.ScreenHeight = screen.Bounds.Height;
|
||||||
Statics.ScreenWidth = screen.Bounds.Width;
|
Statics.ScreenWidth = screen.Bounds.Width;
|
||||||
Statics.ScreenRight = screen.Bounds.Right;
|
Statics.ScreenRight = screen.Bounds.Right;
|
||||||
Statics.TaskbarHeight = new WindowsTaskbar().Size.Height;
|
Statics.TaskbarHeight = new WindowsTaskbar().Size.Height;
|
||||||
|
|
||||||
AppRestart.BeforeRestarting += Dispose;
|
AppRestart.BeforeRestarting += Dispose;
|
||||||
SystemEvents.DisplaySettingsChanged += AppRestart.ByDisplaySettings;
|
SystemEvents.DisplaySettingsChanged += AppRestart.ByDisplaySettings;
|
||||||
menus.LoadStarted += menuNotifyIcon.LoadingStart;
|
menus.LoadStarted += menuNotifyIcon.LoadingStart;
|
||||||
|
|
|
@ -28,6 +28,9 @@ namespace SystemTrayMenu
|
||||||
AskUserSendError(t.Exception);
|
AskUserSendError(t.Exception);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Scaling.Initialize();
|
||||||
|
FolderOptions.Initialize();
|
||||||
|
|
||||||
using (new App())
|
using (new App())
|
||||||
{
|
{
|
||||||
Log.WriteApplicationRuns();
|
Log.WriteApplicationRuns();
|
||||||
|
|
|
@ -35,5 +35,5 @@ using System.Runtime.InteropServices;
|
||||||
// You can specify all the values or you can default the Build and Revision Numbers
|
// You can specify all the values or you can default the Build and Revision Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
// [assembly: AssemblyVersion("1.0.*")]
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
[assembly: AssemblyVersion("0.9.2.26")]
|
[assembly: AssemblyVersion("0.9.2.27")]
|
||||||
[assembly: AssemblyFileVersion("0.9.2.26")]
|
[assembly: AssemblyFileVersion("0.9.2.27")]
|
||||||
|
|
|
@ -35,7 +35,6 @@ namespace SystemTrayMenu.UserInterface
|
||||||
internal int Level = 0;
|
internal int Level = 0;
|
||||||
|
|
||||||
private readonly Fading fading = new Fading();
|
private readonly Fading fading = new Fading();
|
||||||
private bool autoResizeRowsDone = false;
|
|
||||||
private bool isShowing = false;
|
private bool isShowing = false;
|
||||||
|
|
||||||
internal Menu()
|
internal Menu()
|
||||||
|
@ -219,23 +218,11 @@ namespace SystemTrayMenu.UserInterface
|
||||||
|
|
||||||
internal void AdjustSizeAndLocation(Menu menuPredecessor = null)
|
internal void AdjustSizeAndLocation(Menu menuPredecessor = null)
|
||||||
{
|
{
|
||||||
if (!autoResizeRowsDone)
|
|
||||||
{
|
|
||||||
autoResizeRowsDone = true;
|
|
||||||
dgv.AutoResizeRows();
|
dgv.AutoResizeRows();
|
||||||
}
|
|
||||||
|
|
||||||
int dgvHeightNeeded = dgv.Rows.GetRowsHeight(
|
int dgvHeightNeeded = dgv.Rows.GetRowsHeight(
|
||||||
DataGridViewElementStates.None);
|
DataGridViewElementStates.None);
|
||||||
int labelTitleHeight = labelTitle.Height;
|
|
||||||
if (labelTitle.IsDisposed)
|
|
||||||
{
|
|
||||||
labelTitleHeight = 0;
|
|
||||||
}
|
|
||||||
int menuRestNeeded = Height - dgv.Height;
|
int menuRestNeeded = Height - dgv.Height;
|
||||||
//labelTitleHeight + tableLayoutPanelSearch.Height +
|
|
||||||
//(int)Math.Round(5 * Scaling.Factor);
|
|
||||||
//(tableLayoutPanelSearch.Margin.Vertical + 5) * Scaling.Factor);
|
|
||||||
|
|
||||||
int dgvHeightMax = Statics.ScreenHeight - Statics.TaskbarHeight -
|
int dgvHeightMax = Statics.ScreenHeight - Statics.TaskbarHeight -
|
||||||
menuRestNeeded;
|
menuRestNeeded;
|
||||||
|
|
37
UserInterface/SettingsForm.Designer.cs
generated
37
UserInterface/SettingsForm.Designer.cs
generated
|
@ -37,7 +37,6 @@ namespace SystemTrayMenu.UserInterface
|
||||||
this.tableLayoutPanelGeneral = new System.Windows.Forms.TableLayoutPanel();
|
this.tableLayoutPanelGeneral = new System.Windows.Forms.TableLayoutPanel();
|
||||||
this.comboBoxLanguage = new System.Windows.Forms.ComboBox();
|
this.comboBoxLanguage = new System.Windows.Forms.ComboBox();
|
||||||
this.labelLanguage = new System.Windows.Forms.Label();
|
this.labelLanguage = new System.Windows.Forms.Label();
|
||||||
this.textBoxHotkey = new SystemTrayMenu.UserInterface.Controls.HotkeyControl();
|
|
||||||
this.checkBoxAutostart = new System.Windows.Forms.CheckBox();
|
this.checkBoxAutostart = new System.Windows.Forms.CheckBox();
|
||||||
this.labelHotkey = new System.Windows.Forms.Label();
|
this.labelHotkey = new System.Windows.Forms.Label();
|
||||||
this.labelAutostart = new System.Windows.Forms.Label();
|
this.labelAutostart = new System.Windows.Forms.Label();
|
||||||
|
@ -52,6 +51,7 @@ namespace SystemTrayMenu.UserInterface
|
||||||
this.tableLayoutPanelBottom = new System.Windows.Forms.TableLayoutPanel();
|
this.tableLayoutPanelBottom = new System.Windows.Forms.TableLayoutPanel();
|
||||||
this.buttonOk = new System.Windows.Forms.Button();
|
this.buttonOk = new System.Windows.Forms.Button();
|
||||||
this.buttonCancel = new System.Windows.Forms.Button();
|
this.buttonCancel = new System.Windows.Forms.Button();
|
||||||
|
this.textBoxHotkey = new SystemTrayMenu.UserInterface.Controls.HotkeyControl();
|
||||||
this.tableLayoutPanelMain.SuspendLayout();
|
this.tableLayoutPanelMain.SuspendLayout();
|
||||||
this.tabControl1.SuspendLayout();
|
this.tabControl1.SuspendLayout();
|
||||||
this.tabPageGeneral.SuspendLayout();
|
this.tabPageGeneral.SuspendLayout();
|
||||||
|
@ -146,20 +146,6 @@ namespace SystemTrayMenu.UserInterface
|
||||||
this.labelLanguage.TabIndex = 2;
|
this.labelLanguage.TabIndex = 2;
|
||||||
this.labelLanguage.Text = "labelLanguage";
|
this.labelLanguage.Text = "labelLanguage";
|
||||||
//
|
//
|
||||||
// textBoxHotkey
|
|
||||||
//
|
|
||||||
this.textBoxHotkey.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
|
||||||
this.textBoxHotkey.Hotkey = System.Windows.Forms.Keys.None;
|
|
||||||
this.textBoxHotkey.HotkeyModifiers = System.Windows.Forms.Keys.None;
|
|
||||||
this.textBoxHotkey.Location = new System.Drawing.Point(92, 57);
|
|
||||||
this.textBoxHotkey.Margin = new System.Windows.Forms.Padding(9, 7, 9, 0);
|
|
||||||
this.textBoxHotkey.Name = "textBoxHotkey";
|
|
||||||
this.textBoxHotkey.Size = new System.Drawing.Size(200, 20);
|
|
||||||
this.textBoxHotkey.TabIndex = 0;
|
|
||||||
this.textBoxHotkey.Text = "None";
|
|
||||||
this.textBoxHotkey.Enter += new System.EventHandler(this.textBoxHotkey_Enter);
|
|
||||||
this.textBoxHotkey.Leave += new System.EventHandler(this.textBoxHotkey_Leave);
|
|
||||||
//
|
|
||||||
// checkBoxAutostart
|
// checkBoxAutostart
|
||||||
//
|
//
|
||||||
this.checkBoxAutostart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
this.checkBoxAutostart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
@ -335,9 +321,12 @@ namespace SystemTrayMenu.UserInterface
|
||||||
//
|
//
|
||||||
// buttonOk
|
// buttonOk
|
||||||
//
|
//
|
||||||
|
this.buttonOk.AutoSize = true;
|
||||||
|
this.buttonOk.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||||
this.buttonOk.DialogResult = System.Windows.Forms.DialogResult.OK;
|
this.buttonOk.DialogResult = System.Windows.Forms.DialogResult.OK;
|
||||||
this.buttonOk.Location = new System.Drawing.Point(236, 0);
|
this.buttonOk.Location = new System.Drawing.Point(236, 0);
|
||||||
this.buttonOk.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0);
|
this.buttonOk.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0);
|
||||||
|
this.buttonOk.MinimumSize = new System.Drawing.Size(75, 23);
|
||||||
this.buttonOk.Name = "buttonOk";
|
this.buttonOk.Name = "buttonOk";
|
||||||
this.buttonOk.Size = new System.Drawing.Size(75, 23);
|
this.buttonOk.Size = new System.Drawing.Size(75, 23);
|
||||||
this.buttonOk.TabIndex = 2;
|
this.buttonOk.TabIndex = 2;
|
||||||
|
@ -347,9 +336,12 @@ namespace SystemTrayMenu.UserInterface
|
||||||
//
|
//
|
||||||
// buttonCancel
|
// buttonCancel
|
||||||
//
|
//
|
||||||
|
this.buttonCancel.AutoSize = true;
|
||||||
|
this.buttonCancel.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||||
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||||
this.buttonCancel.Location = new System.Drawing.Point(317, 0);
|
this.buttonCancel.Location = new System.Drawing.Point(317, 0);
|
||||||
this.buttonCancel.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0);
|
this.buttonCancel.Margin = new System.Windows.Forms.Padding(3, 0, 3, 0);
|
||||||
|
this.buttonCancel.MinimumSize = new System.Drawing.Size(75, 23);
|
||||||
this.buttonCancel.Name = "buttonCancel";
|
this.buttonCancel.Name = "buttonCancel";
|
||||||
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
|
this.buttonCancel.Size = new System.Drawing.Size(75, 23);
|
||||||
this.buttonCancel.TabIndex = 3;
|
this.buttonCancel.TabIndex = 3;
|
||||||
|
@ -357,6 +349,20 @@ namespace SystemTrayMenu.UserInterface
|
||||||
this.buttonCancel.UseVisualStyleBackColor = true;
|
this.buttonCancel.UseVisualStyleBackColor = true;
|
||||||
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
|
this.buttonCancel.Click += new System.EventHandler(this.buttonCancel_Click);
|
||||||
//
|
//
|
||||||
|
// textBoxHotkey
|
||||||
|
//
|
||||||
|
this.textBoxHotkey.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
|
this.textBoxHotkey.Hotkey = System.Windows.Forms.Keys.None;
|
||||||
|
this.textBoxHotkey.HotkeyModifiers = System.Windows.Forms.Keys.None;
|
||||||
|
this.textBoxHotkey.Location = new System.Drawing.Point(92, 57);
|
||||||
|
this.textBoxHotkey.Margin = new System.Windows.Forms.Padding(9, 7, 9, 0);
|
||||||
|
this.textBoxHotkey.Name = "textBoxHotkey";
|
||||||
|
this.textBoxHotkey.Size = new System.Drawing.Size(200, 20);
|
||||||
|
this.textBoxHotkey.TabIndex = 0;
|
||||||
|
this.textBoxHotkey.Text = "None";
|
||||||
|
this.textBoxHotkey.Enter += new System.EventHandler(this.textBoxHotkey_Enter);
|
||||||
|
this.textBoxHotkey.Leave += new System.EventHandler(this.textBoxHotkey_Leave);
|
||||||
|
//
|
||||||
// SettingsForm
|
// SettingsForm
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||||
|
@ -385,6 +391,7 @@ namespace SystemTrayMenu.UserInterface
|
||||||
this.tableLayoutPanel5.ResumeLayout(false);
|
this.tableLayoutPanel5.ResumeLayout(false);
|
||||||
this.tableLayoutPanel5.PerformLayout();
|
this.tableLayoutPanel5.PerformLayout();
|
||||||
this.tableLayoutPanelBottom.ResumeLayout(false);
|
this.tableLayoutPanelBottom.ResumeLayout(false);
|
||||||
|
this.tableLayoutPanelBottom.PerformLayout();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
|
|
|
@ -32,6 +32,14 @@ namespace SystemTrayMenu.Utilities
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dgv.Columns[i].Width = (int)(widthMax + 0.5);
|
dgv.Columns[i].Width = (int)(widthMax + 0.5);
|
||||||
|
|
||||||
|
string stringWithWidthLikeIcon = "___";
|
||||||
|
#pragma warning disable CA1303 // Do not pass literals as localized parameters
|
||||||
|
float Width0 = gfx.MeasureString(stringWithWidthLikeIcon,
|
||||||
|
#pragma warning restore CA1303 // Do not pass literals as localized parameters
|
||||||
|
dgv.RowTemplate.DefaultCellStyle.Font
|
||||||
|
).Width * Scaling.Factor;
|
||||||
|
dgv.Columns[0].Width = (int)Width0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -118,7 +118,17 @@ namespace SystemTrayMenu.Utilities
|
||||||
hIcon = DllImports.NativeMethods.ImageList_GetIcon(hImageList, shfi.iIcon, DllImports.NativeMethods.IldTransparent);
|
hIcon = DllImports.NativeMethods.ImageList_GetIcon(hImageList, shfi.iIcon, DllImports.NativeMethods.IldTransparent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
// Copy (clone) the returned icon to a new object, thus allowing us to clean-up properly
|
||||||
icon = (Icon)Icon.FromHandle(hIcon).Clone();
|
icon = (Icon)Icon.FromHandle(hIcon).Clone();
|
||||||
|
}
|
||||||
|
#pragma warning disable CA1031 // Do not catch general exception types
|
||||||
|
catch (Exception ex)
|
||||||
|
#pragma warning restore CA1031 // Do not catch general exception types
|
||||||
|
{
|
||||||
|
Log.Error($"filePath:'{filePath}'", ex);
|
||||||
|
}
|
||||||
|
|
||||||
// Cleanup
|
// Cleanup
|
||||||
if (!linkOverlay)
|
if (!linkOverlay)
|
||||||
|
@ -178,9 +188,11 @@ namespace SystemTrayMenu.Utilities
|
||||||
icon = (Icon)Icon.FromHandle(shfi.hIcon).Clone();
|
icon = (Icon)Icon.FromHandle(shfi.hIcon).Clone();
|
||||||
DllImports.NativeMethods.User32DestroyIcon(shfi.hIcon);
|
DllImports.NativeMethods.User32DestroyIcon(shfi.hIcon);
|
||||||
}
|
}
|
||||||
catch
|
#pragma warning disable CA1031 // Do not catch general exception types
|
||||||
|
catch (Exception ex)
|
||||||
|
#pragma warning restore CA1031 // Do not catch general exception types
|
||||||
{
|
{
|
||||||
#warning todo
|
Log.Error($"directoryPath:'{directoryPath}'", ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue