From 7fc399540f6817bc145e03bad82a85d1c9431936 Mon Sep 17 00:00:00 2001 From: Ray Date: Tue, 19 May 2020 00:17:22 +0100 Subject: [PATCH] Added: always-on-top options in config --- LinearAppLauncher.csproj | 8 +- MainForm.Designer.cs | 71 +++++++----- MainForm.cs | 61 ++++++++++- Models/LauncherSession.cs | 5 + Properties/AssemblyInfo.cs | 8 +- Windows/Forms/AForm.cs | 36 ++++--- Windows/Forms/OptionsForm.cs | 191 +++++++++++++++++++++++++++++++++ Windows/Forms/OptionsForm.resx | 131 ++++++++++++++++++++++ 8 files changed, 459 insertions(+), 52 deletions(-) create mode 100644 Windows/Forms/OptionsForm.cs create mode 100644 Windows/Forms/OptionsForm.resx diff --git a/LinearAppLauncher.csproj b/LinearAppLauncher.csproj index 479e7b1..4a17da8 100644 --- a/LinearAppLauncher.csproj +++ b/LinearAppLauncher.csproj @@ -7,7 +7,7 @@ {66C1C75C-3612-4D23-B937-C3DE0D653292} WinExe AppLauncher - LinearAppLauncher + fizzylauncher v4.7.2 512 true @@ -150,6 +150,9 @@ Form + + Form + Form @@ -215,6 +218,9 @@ EditListTileForm.cs + + OptionsForm.cs + EditTileForm.cs diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 27971b9..e19695a 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -39,10 +39,12 @@ this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripMenuItem6 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem10 = new System.Windows.Forms.ToolStripSeparator(); + this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); - this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); - this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem9 = new System.Windows.Forms.ToolStripMenuItem(); + this.optionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); @@ -75,10 +77,9 @@ this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripMenuItem4, this.toolStripMenuItem3, - this.toolStripSeparator1, - this.exitToolStripMenuItem}); + this.toolStripMenuItem9}); this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(100, 76); + this.contextMenuStrip1.Size = new System.Drawing.Size(181, 92); this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening); // // toolStripMenuItem4 @@ -90,62 +91,76 @@ this.toolStripMenuItem8, this.toolStripSeparator3, this.toolStripMenuItem6, - this.toolStripMenuItem2}); + this.toolStripMenuItem2, + this.toolStripMenuItem10, + this.exitToolStripMenuItem}); this.toolStripMenuItem4.Name = "toolStripMenuItem4"; - this.toolStripMenuItem4.Size = new System.Drawing.Size(99, 22); + this.toolStripMenuItem4.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem4.Text = "&File"; // // toolStripMenuItem5 // this.toolStripMenuItem5.Name = "toolStripMenuItem5"; - this.toolStripMenuItem5.Size = new System.Drawing.Size(123, 22); + this.toolStripMenuItem5.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem5.Text = "&New"; this.toolStripMenuItem5.Click += new System.EventHandler(this.toolStripMenuItem5_Click); // // toolStripMenuItem7 // this.toolStripMenuItem7.Name = "toolStripMenuItem7"; - this.toolStripMenuItem7.Size = new System.Drawing.Size(123, 22); + this.toolStripMenuItem7.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem7.Text = "&Open"; this.toolStripMenuItem7.Click += new System.EventHandler(this.toolStripMenuItem7_Click); // // toolStripSeparator2 // this.toolStripSeparator2.Name = "toolStripSeparator2"; - this.toolStripSeparator2.Size = new System.Drawing.Size(120, 6); + this.toolStripSeparator2.Size = new System.Drawing.Size(177, 6); // // toolStripMenuItem8 // this.toolStripMenuItem8.Name = "toolStripMenuItem8"; - this.toolStripMenuItem8.Size = new System.Drawing.Size(123, 22); + this.toolStripMenuItem8.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem8.Text = "&Close"; this.toolStripMenuItem8.Click += new System.EventHandler(this.toolStripMenuItem8_Click); // // toolStripSeparator3 // this.toolStripSeparator3.Name = "toolStripSeparator3"; - this.toolStripSeparator3.Size = new System.Drawing.Size(120, 6); + this.toolStripSeparator3.Size = new System.Drawing.Size(177, 6); // // toolStripMenuItem6 // this.toolStripMenuItem6.Name = "toolStripMenuItem6"; - this.toolStripMenuItem6.Size = new System.Drawing.Size(123, 22); + this.toolStripMenuItem6.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem6.Text = "&Save"; this.toolStripMenuItem6.Click += new System.EventHandler(this.toolStripMenuItem6_Click); // // toolStripMenuItem2 // this.toolStripMenuItem2.Name = "toolStripMenuItem2"; - this.toolStripMenuItem2.Size = new System.Drawing.Size(123, 22); + this.toolStripMenuItem2.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem2.Text = "Save &As..."; this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); // + // toolStripMenuItem10 + // + this.toolStripMenuItem10.Name = "toolStripMenuItem10"; + this.toolStripMenuItem10.Size = new System.Drawing.Size(177, 6); + // + // exitToolStripMenuItem + // + this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; + this.exitToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.exitToolStripMenuItem.Text = "E&xit"; + this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + // // toolStripMenuItem3 // this.toolStripMenuItem3.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolStripMenuItem1}); this.toolStripMenuItem3.Name = "toolStripMenuItem3"; - this.toolStripMenuItem3.Size = new System.Drawing.Size(99, 22); + this.toolStripMenuItem3.Size = new System.Drawing.Size(180, 22); this.toolStripMenuItem3.Text = "&View"; // // toolStripMenuItem1 @@ -155,17 +170,20 @@ this.toolStripMenuItem1.Text = "Always On &Top"; this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); // - // toolStripSeparator1 + // toolStripMenuItem9 // - this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(96, 6); + this.toolStripMenuItem9.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.optionToolStripMenuItem}); + this.toolStripMenuItem9.Name = "toolStripMenuItem9"; + this.toolStripMenuItem9.Size = new System.Drawing.Size(180, 22); + this.toolStripMenuItem9.Text = "&Tools"; // - // exitToolStripMenuItem + // optionToolStripMenuItem // - this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(99, 22); - this.exitToolStripMenuItem.Text = "E&xit"; - this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); + this.optionToolStripMenuItem.Name = "optionToolStripMenuItem"; + this.optionToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.optionToolStripMenuItem.Text = "&Options"; + this.optionToolStripMenuItem.Click += new System.EventHandler(this.optionToolStripMenuItem_Click); // // flowLayoutPanel1 // @@ -189,7 +207,6 @@ // // openFileDialog1 // - this.openFileDialog1.FileName = "openFileDialog1"; this.openFileDialog1.Filter = "Session files|*.jsonfig"; this.openFileDialog1.Title = "Choose session file"; // @@ -221,8 +238,6 @@ #endregion private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; - private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; - private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; @@ -235,6 +250,10 @@ private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem8; private System.Windows.Forms.ToolStripSeparator toolStripSeparator3; + private System.Windows.Forms.ToolStripSeparator toolStripMenuItem10; + private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem9; + private System.Windows.Forms.ToolStripMenuItem optionToolStripMenuItem; } } diff --git a/MainForm.cs b/MainForm.cs index 8f65215..7c61d2a 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -30,7 +30,9 @@ namespace AppLauncher protected int collapsedWidth = 40; protected int expandedWidth = 800; + protected OptionsForm optionsForm = null; protected string sessionFilename = null; + protected Point hotKey = new Point(-1, -1); public MainForm() : base() { @@ -43,7 +45,7 @@ namespace AppLauncher { base.OnLoad(e); - RegisterHotKey((IntPtr)Handle, 1, (MOD_CONTROL | MOD_ALT), (int)Keys.F10); + //RegisterHotKey((IntPtr)Handle, 1, (MOD_CONTROL | MOD_ALT), (int)Keys.F10); } protected override void OnShown(EventArgs e) @@ -66,7 +68,10 @@ namespace AppLauncher { base.OnClosing(e); - UnregisterHotKey((IntPtr)Handle, 1); + if (hotKey.X > 0) + { + UnregisterHotKey((IntPtr)Handle, 1); + } if (string.IsNullOrWhiteSpace(sessionFilename)) { @@ -77,7 +82,7 @@ namespace AppLauncher DialogResult dr = MessageBox.Show("Save existing session?", "Exit", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { - bool rv = saveFile(sessionFilename); + bool rv = saveFile(sessionFilename, false); if (!rv) { e.Cancel = true; @@ -109,6 +114,29 @@ namespace AppLauncher } } + public Point GlobalHotKey => hotKey; + + public void SetHotKey(Point value) + { + if (this.GlobalHotKey.X > 0) + { + UnregisterHotKey((IntPtr)Handle, 1); + } + + if (value.X < 0) + { + hotKey = new Point(-1, -1); + return; + } + + hotKey = value; + + if (hotKey.X > 0) + { + RegisterHotKey((IntPtr)Handle, 1, hotKey.X, hotKey.Y); + } + } + public async Task ToggleSize() { if (this.Width > collapsedWidth) @@ -279,6 +307,12 @@ namespace AppLauncher /// private void exitToolStripMenuItem_Click(object sender, EventArgs e) => this.Close(); + private void optionToolStripMenuItem_Click(object sender, EventArgs e) + { + if (optionsForm == null) optionsForm = new OptionsForm(this); + optionsForm.ShowDialog(); + } + protected async Task collapseWindow(int width, int increment = 6) { await Task.Run(() => @@ -365,8 +399,24 @@ namespace AppLauncher } } + // ui this.Width = maxWidth + SystemInformation.VerticalScrollBarWidth + 20 + flowLayoutPanel1.Left; this.Height = launcherSession.DefaultHeight; + + // hotkey + hotKey = new Point(launcherSession.HotKeyX, launcherSession.HotKeyY); + if (hotKey.X > 0) + { + RegisterHotKey((IntPtr)Handle, 1, hotKey.X, hotKey.Y); + } + else + { + hotKey = new Point(-1, -1); + } + + // + this.TopMost = launcherSession.AlwaysOnTop; + } protected void newSession() @@ -410,7 +460,10 @@ namespace AppLauncher LauncherSession launcherSession = new LauncherSession() { DefaultHeight = this.Height, - Groups = new List() + HotKeyX = this.GlobalHotKey.X, + HotKeyY = this.GlobalHotKey.Y, + Groups = new List(), + AlwaysOnTop = this.TopMost }; launcherSession.Groups = new List(); diff --git a/Models/LauncherSession.cs b/Models/LauncherSession.cs index bd333bc..5ebb43b 100644 --- a/Models/LauncherSession.cs +++ b/Models/LauncherSession.cs @@ -1,10 +1,15 @@ using System.Collections.Generic; +using System.Drawing; namespace AppLauncher.Models { public class LauncherSession { public int DefaultHeight { get; set; } = 280; + public int HotKeyX { get; set; } = -1; + public int HotKeyY { get; set; } = -1; + public bool AlwaysOnTop { get; set; } = false; + public List Groups { get; set; } = new List(); } } \ No newline at end of file diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs index 136eabd..625c430 100644 --- a/Properties/AssemblyInfo.cs +++ b/Properties/AssemblyInfo.cs @@ -5,11 +5,11 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Linear App Launcher")] -[assembly: AssemblyDescription("Application launcher (linear)")] +[assembly: AssemblyTitle("Fizzy App Launcher")] +[assembly: AssemblyDescription("Application and shortcut launcher")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("Hi, I'm Ray")] -[assembly: AssemblyProduct("LinearAppLauncher")] +[assembly: AssemblyProduct("Fizzy App Launcher")] [assembly: AssemblyCopyright("Copyright © Ray Lam 2020")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("0.1.0.0")] +[assembly: AssemblyVersion("0.1.1.035")] [assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Windows/Forms/AForm.cs b/Windows/Forms/AForm.cs index d8de44a..4c4a3cd 100644 --- a/Windows/Forms/AForm.cs +++ b/Windows/Forms/AForm.cs @@ -35,6 +35,8 @@ namespace AppLauncher.Windows.Forms this.FormBorderStyle = FormBorderStyle.None; this.StartPosition = FormStartPosition.Manual; } + + notifyIcon1.Text = "Fizzy App Launcher"; } protected override void OnLoad(EventArgs e) @@ -147,7 +149,7 @@ namespace AppLauncher.Windows.Forms g.DrawImageUnscaled(Properties.Resources.app_icon_24, 17, 17); - TextRenderer.DrawText(g, "Launcher", new Font(this.Font.FontFamily, 14F), new Point(58, 17), Color.FromArgb(156, 158, 171)); + TextRenderer.DrawText(g, "Fizzy App Launcher", new Font(this.Font.FontFamily, 14F), new Point(58, 17), Color.FromArgb(156, 158, 171)); } @@ -201,9 +203,9 @@ namespace AppLauncher.Windows.Forms ((System.ComponentModel.ISupportInitialize)(this.imageBox1)).BeginInit(); this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); - // + // // imageBox3 - // + // this.imageBox3.BackColor = System.Drawing.Color.Transparent; this.imageBox3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.imageBox3.ErrorImage = null; @@ -220,9 +222,9 @@ namespace AppLauncher.Windows.Forms this.imageBox3.TabIndex = 146; this.imageBox3.TabStop = false; this.imageBox3.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox3_MouseClick); - // + // // imageBox2 - // + // this.imageBox2.BackColor = System.Drawing.Color.Transparent; this.imageBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.imageBox2.ErrorImage = null; @@ -239,9 +241,9 @@ namespace AppLauncher.Windows.Forms this.imageBox2.TabIndex = 147; this.imageBox2.TabStop = false; this.imageBox2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox2_MouseClick); - // + // // imageBox1 - // + // this.imageBox1.BackColor = System.Drawing.Color.Transparent; this.imageBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center; this.imageBox1.ErrorImage = null; @@ -258,17 +260,17 @@ namespace AppLauncher.Windows.Forms this.imageBox1.TabIndex = 148; this.imageBox1.TabStop = false; this.imageBox1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox1_MouseClick); - // + // // notifyIcon1 - // + // this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip1; this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon"))); this.notifyIcon1.Visible = true; this.notifyIcon1.Click += new System.EventHandler(this.notifyIcon1_Click); this.notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_Click); - // + // // panel1 - // + // this.panel1.BackColor = System.Drawing.Color.Transparent; this.panel1.Cursor = System.Windows.Forms.Cursors.SizeNS; this.panel1.Location = new System.Drawing.Point(109, 114); @@ -279,23 +281,23 @@ namespace AppLauncher.Windows.Forms this.panel1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseDown); this.panel1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseMove); this.panel1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseUp); - // + // // contextMenuStrip1 - // + // this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.exitToolStripMenuItem}); this.contextMenuStrip1.Name = "contextMenuStrip1"; this.contextMenuStrip1.Size = new System.Drawing.Size(94, 26); - // + // // exitToolStripMenuItem - // + // this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; this.exitToolStripMenuItem.Size = new System.Drawing.Size(93, 22); this.exitToolStripMenuItem.Text = "E&xit"; this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); - // + // // AForm - // + // this.ClientSize = new System.Drawing.Size(421, 321); this.Controls.Add(this.panel1); this.Controls.Add(this.imageBox1); diff --git a/Windows/Forms/OptionsForm.cs b/Windows/Forms/OptionsForm.cs new file mode 100644 index 0000000..d093a46 --- /dev/null +++ b/Windows/Forms/OptionsForm.cs @@ -0,0 +1,191 @@ +using AppLauncher.Models; +using RyzStudio.Windows.ThemedForms; +using System; +using System.Drawing; +using System.Text; + +namespace AppLauncher.Windows.Forms +{ + public class OptionsForm : TDialogForm + { + private System.Windows.Forms.Label label1; + private TButton button1; + private TTextBox textBox1; + + public MainForm parentForm { get; set; } = null; + + protected Point hotKey = new Point(-1, -1); + + public OptionsForm(MainForm parent) : base() + { + InitializeComponent(); + + parentForm = parent; + + textBox1.InnerTextBox.ReadOnly = true; + textBox1.InnerTextBox.BackColor = Color.White; + textBox1.InnerTextBox.KeyUp += textBox1_KeyUp; + + } + + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(OptionsForm)); + this.textBox1 = new RyzStudio.Windows.ThemedForms.TTextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.button1 = new RyzStudio.Windows.ThemedForms.TButton(); + ((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).BeginInit(); + this.SuspendLayout(); + // + // imgbxClose + // + this.imgbxClose.Image = ((System.Drawing.Image)(resources.GetObject("imgbxClose.Image"))); + this.imgbxClose.Location = new System.Drawing.Point(367, 5); + // + // panel1 + // + this.panel1.Location = new System.Drawing.Point(394, 474); + // + // area1 + // + this.area1.Location = new System.Drawing.Point(1, 474); + this.area1.Size = new System.Drawing.Size(392, 5); + // + // textBox1 + // + this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textBox1.BackColor = System.Drawing.Color.Transparent; + this.textBox1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F); + this.textBox1.Location = new System.Drawing.Point(159, 50); + this.textBox1.Margin = new System.Windows.Forms.Padding(10, 6, 10, 6); + this.textBox1.Name = "textBox1"; + this.textBox1.Padding = new System.Windows.Forms.Padding(10, 10, 9, 9); + this.textBox1.Size = new System.Drawing.Size(220, 32); + this.textBox1.SubmitButton = null; + this.textBox1.TabIndex = 152; + this.textBox1.UseSystemPasswordChar = false; + // + // label1 + // + this.label1.BackColor = System.Drawing.Color.Transparent; + this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(95)))), ((int)(((byte)(99)))), ((int)(((byte)(104))))); + this.label1.Location = new System.Drawing.Point(18, 50); + this.label1.Margin = new System.Windows.Forms.Padding(0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(131, 32); + this.label1.TabIndex = 153; + this.label1.Text = "Hotkey"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // button1 + // + this.button1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.button1.BackColor = System.Drawing.Color.Transparent; + this.button1.DefaultImage = null; + this.button1.DownImage = null; + this.button1.IsSelected = false; + this.button1.LabelText = "&Save"; + this.button1.Location = new System.Drawing.Point(251, 427); + this.button1.Name = "button1"; + this.button1.OverImage = null; + this.button1.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3); + this.button1.Size = new System.Drawing.Size(128, 32); + this.button1.TabIndex = 173; + this.button1.Click += new System.EventHandler(this.button1_Click); + // + // OptionsForm + // + this.ClientSize = new System.Drawing.Size(400, 480); + this.Controls.Add(this.button1); + this.Controls.Add(this.label1); + this.Controls.Add(this.textBox1); + this.Name = "OptionsForm"; + this.Title = "Options"; + this.Controls.SetChildIndex(this.imgbxClose, 0); + this.Controls.SetChildIndex(this.panel1, 0); + this.Controls.SetChildIndex(this.area1, 0); + this.Controls.SetChildIndex(this.textBox1, 0); + this.Controls.SetChildIndex(this.label1, 0); + this.Controls.SetChildIndex(this.button1, 0); + ((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).EndInit(); + this.ResumeLayout(false); + + } + + protected override void OnShown(EventArgs e) + { + base.OnShown(e); + + if (parentForm != null) + { + bool control = false; + bool alt = false; + bool shift = false; + + int hotKeyCode = parentForm.GlobalHotKey.X; + if (hotKeyCode >= 4) + { + shift = true; + hotKeyCode -= 4; + } + + if (hotKeyCode >= 2) + { + control = true; + hotKeyCode -= 2; + } + + if (hotKeyCode >= 1) + { + alt = true; + hotKeyCode -= 1; + } + + StringBuilder sb = new StringBuilder(); + if (control) sb = sb.Append("Ctrl + "); + if (alt) sb = sb.Append("Alt + "); + if (shift) sb = sb.Append("Shift + "); + sb = sb.Append(((System.Windows.Forms.Keys)parentForm.GlobalHotKey.Y).ToString()); + + textBox1.Text = sb.ToString(); + } + + } + + private void button1_Click(object sender, EventArgs e) + { + if (parentForm != null) + { + parentForm.SetHotKey(hotKey); + } + + this.Close(); + } + + private void textBox1_KeyUp(object sender, System.Windows.Forms.KeyEventArgs e) + { + if (e.KeyCode == System.Windows.Forms.Keys.ControlKey) return; + if (e.KeyCode == System.Windows.Forms.Keys.ShiftKey) return; + if (e.KeyCode == System.Windows.Forms.Keys.Menu) return; + + StringBuilder sb = new StringBuilder(); + + if (e.Control) sb = sb.Append("Ctrl + "); + if (e.Alt) sb = sb.Append("Alt + "); + if (e.Shift) sb = sb.Append("Shift + "); + + int keyModifier = 0; + if (e.Alt) keyModifier += 1; + if (e.Control) keyModifier += 2; + if (e.Shift) keyModifier += 4; + + sb = sb.Append(e.KeyCode.ToString()); + + textBox1.Text = sb.ToString(); + + hotKey = new Point(keyModifier, (int)e.KeyCode); + } + + } +} \ No newline at end of file diff --git a/Windows/Forms/OptionsForm.resx b/Windows/Forms/OptionsForm.resx new file mode 100644 index 0000000..3747e00 --- /dev/null +++ b/Windows/Forms/OptionsForm.resx @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAABh0RVh0U29mdHdhcmUAcGFpbnQubmV0IDQuMS4xYyqcSwAAANlJREFUOE+lU1sO + gjAQrHgRY6KemQ+VT9NrgAfgfRA+SawzdTAk2lhkkgm7s7vTAq0py/LUNM0dHEEXSfYWfd8fDQIOD23b + nvFMY6jeAcxpMFIwC1HX9YWzNOCWUunR4AxnvxpUVbV3zm2UGsbUlHoEDfBhdsgf4BWDCcmYGmtqCxtw + NeQcoJ6JjGn43hXy8CvIxDeIGbREZY+pHjLgtqeVHf7SzVq7VdmDM6x9GGj1/19h9UckVv3GWMwNRh5L + 6dGYH+UCHCTQ9SfV+7pMvJIIaLL0Oudd1x2eUQ8MyeAeq0cAAAAASUVORK5CYII= + + + \ No newline at end of file