diff --git a/LinearAppLauncher.csproj b/LinearAppLauncher.csproj index 8a584d0..a701533 100644 --- a/LinearAppLauncher.csproj +++ b/LinearAppLauncher.csproj @@ -128,10 +128,10 @@ UserControl.cs - + Form - + Form @@ -195,10 +195,10 @@ TextButtonBox.cs - + AddTileForm.cs - + EditTileForm.cs diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index 762a934..436d180 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -31,10 +31,14 @@ this.components = new System.ComponentModel.Container(); this.titlePanel1 = new AppLauncher.Windows.Forms.TitlePanel(); this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components); - this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); + this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem(); + this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem(); + this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); this.contextMenuStrip1.SuspendLayout(); this.SuspendLayout(); // @@ -55,28 +59,22 @@ // contextMenuStrip1 // this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.toolStripMenuItem1, + this.toolStripMenuItem4, + this.toolStripMenuItem3, this.toolStripSeparator1, this.exitToolStripMenuItem}); this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(153, 54); - // - // toolStripMenuItem1 - // - this.toolStripMenuItem1.Name = "toolStripMenuItem1"; - this.toolStripMenuItem1.Size = new System.Drawing.Size(152, 22); - this.toolStripMenuItem1.Text = "Always On &Top"; - this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); + this.contextMenuStrip1.Size = new System.Drawing.Size(100, 76); // // toolStripSeparator1 // this.toolStripSeparator1.Name = "toolStripSeparator1"; - this.toolStripSeparator1.Size = new System.Drawing.Size(149, 6); + this.toolStripSeparator1.Size = new System.Drawing.Size(177, 6); // // exitToolStripMenuItem // this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; - this.exitToolStripMenuItem.Size = new System.Drawing.Size(152, 22); + this.exitToolStripMenuItem.Size = new System.Drawing.Size(180, 22); this.exitToolStripMenuItem.Text = "E&xit"; this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click); // @@ -89,6 +87,41 @@ this.flowLayoutPanel1.TabIndex = 27; this.flowLayoutPanel1.WrapContents = false; // + // toolStripMenuItem3 + // + this.toolStripMenuItem3.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem1}); + this.toolStripMenuItem3.Name = "toolStripMenuItem3"; + this.toolStripMenuItem3.Size = new System.Drawing.Size(180, 22); + this.toolStripMenuItem3.Text = "&View"; + // + // toolStripMenuItem1 + // + this.toolStripMenuItem1.Name = "toolStripMenuItem1"; + this.toolStripMenuItem1.Size = new System.Drawing.Size(180, 22); + this.toolStripMenuItem1.Text = "Always On &Top"; + this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click); + // + // toolStripMenuItem4 + // + this.toolStripMenuItem4.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.toolStripMenuItem2}); + this.toolStripMenuItem4.Name = "toolStripMenuItem4"; + this.toolStripMenuItem4.Size = new System.Drawing.Size(180, 22); + this.toolStripMenuItem4.Text = "&File"; + // + // toolStripMenuItem2 + // + this.toolStripMenuItem2.Name = "toolStripMenuItem2"; + this.toolStripMenuItem2.Size = new System.Drawing.Size(180, 22); + this.toolStripMenuItem2.Text = "&Save As..."; + this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click); + // + // saveFileDialog1 + // + this.saveFileDialog1.Filter = "Session files|*.jsonfig"; + this.saveFileDialog1.Title = "Choose file to save the session"; + // // MainForm // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -110,8 +143,12 @@ private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem; - private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; private System.Windows.Forms.ToolStripSeparator toolStripSeparator1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4; + private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2; + private System.Windows.Forms.SaveFileDialog saveFileDialog1; } } diff --git a/MainForm.cs b/MainForm.cs index 8e06719..675b10c 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -13,6 +13,7 @@ namespace AppLauncher { protected int collapsedWidth = 40; protected int expandedWidth = 800; + protected bool isBusy = false; public MainForm() : base() { @@ -50,6 +51,67 @@ namespace AppLauncher } } + /// + /// Save As + /// + /// + /// + private void toolStripMenuItem2_Click(object sender, EventArgs e) + { + if (isBusy) + { + return; + } + + if (flowLayoutPanel1.Controls.Count <= 0) + { + return; + } + + if (saveFileDialog1.ShowDialog() != DialogResult.OK) + { + return; + } + + isBusy = true; + + List rs = new List(); + for (int i = 0; i < flowLayoutPanel1.Controls.Count; i++) + { + if (flowLayoutPanel1.Controls[i].GetType() != typeof(TileContainer)) + { + continue; + } + + TileContainer container = flowLayoutPanel1.Controls[i] as TileContainer; + rs.Add(container.Model); + } + + try + { + File.WriteAllText(saveFileDialog1.FileName, JsonConvert.SerializeObject(rs)); + MessageBox.Show("Session saved!", "Save session", MessageBoxButtons.OK, MessageBoxIcon.Information); + } + catch (Exception exc) + { + MessageBox.Show(exc.Message, "Save session"); + } + + isBusy = false; + } + + private void toolStripMenuItem1_Click(object sender, EventArgs e) + { + this.TopMost = !this.TopMost; + + toolStripMenuItem1.Checked = this.TopMost; + } + + private void exitToolStripMenuItem_Click(object sender, EventArgs e) + { + this.Close(); + } + protected async Task collapseWindow(int width, int increment = 6) { await Task.Run(() => @@ -96,18 +158,6 @@ namespace AppLauncher }); } - private void toolStripMenuItem1_Click(object sender, EventArgs e) - { - this.TopMost = !this.TopMost; - - toolStripMenuItem1.Checked = this.TopMost; - } - - private void exitToolStripMenuItem_Click(object sender, EventArgs e) - { - this.Close(); - } - protected void loadSession(string filename) { string sourceCode = File.ReadAllText(filename); diff --git a/MainForm.resx b/MainForm.resx index ad53752..ef88d48 100644 --- a/MainForm.resx +++ b/MainForm.resx @@ -120,4 +120,7 @@ 17, 17 + + 172, 17 + \ No newline at end of file diff --git a/Windows/Forms/AddTileForm.cs b/Windows/Forms/Tile/AddTileForm.cs similarity index 90% rename from Windows/Forms/AddTileForm.cs rename to Windows/Forms/Tile/AddTileForm.cs index b065f18..147c10f 100644 --- a/Windows/Forms/AddTileForm.cs +++ b/Windows/Forms/Tile/AddTileForm.cs @@ -2,6 +2,7 @@ using RyzStudio.Windows.ThemedForms; using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -25,7 +26,8 @@ namespace AppLauncher.Windows.Forms private RyzStudio.Windows.Forms.HorizontalSeparator horizontalSeparator1; private RyzStudio.Windows.Forms.HorizontalSeparator horizontalSeparator2; private TextBox textBox1; - + private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; + private System.Windows.Forms.OpenFileDialog openFileDialog1; protected TileLayoutPanel parentPanel = null; public AddTileForm() : base() @@ -44,7 +46,7 @@ namespace AppLauncher.Windows.Forms private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(EditTileForm)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(AddTileForm)); this.textBox1 = new RyzStudio.Windows.ThemedForms.TextBox(); this.label6 = new System.Windows.Forms.Label(); this.label7 = new System.Windows.Forms.Label(); @@ -60,6 +62,8 @@ namespace AppLauncher.Windows.Forms this.pickerBox2 = new RyzStudio.Windows.ThemedForms.PickerBox(); this.horizontalSeparator1 = new RyzStudio.Windows.Forms.HorizontalSeparator(); this.horizontalSeparator2 = new RyzStudio.Windows.Forms.HorizontalSeparator(); + this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); ((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).BeginInit(); this.SuspendLayout(); // @@ -180,6 +184,7 @@ namespace AppLauncher.Windows.Forms this.textBox2.SubmitButton = null; this.textBox2.TabIndex = 170; this.textBox2.UseSystemPasswordChar = false; + this.textBox2.OnButtonClick += new System.EventHandler(this.textBox2_OnButtonClick); // // textBox3 // @@ -212,6 +217,7 @@ namespace AppLauncher.Windows.Forms this.textBox4.SubmitButton = null; this.textBox4.TabIndex = 172; this.textBox4.UseSystemPasswordChar = false; + this.textBox4.OnButtonClick += new System.EventHandler(this.textBox4_OnButtonClick); // // button1 // @@ -276,7 +282,16 @@ namespace AppLauncher.Windows.Forms this.horizontalSeparator2.Size = new System.Drawing.Size(380, 2); this.horizontalSeparator2.TabIndex = 177; // - // EditTileForm + // folderBrowserDialog1 + // + this.folderBrowserDialog1.Description = "Choose a directory"; + // + // openFileDialog1 + // + this.openFileDialog1.Filter = "All files|*"; + this.openFileDialog1.Title = "Choose a file"; + // + // AddTileForm // this.ClientSize = new System.Drawing.Size(400, 480); this.Controls.Add(this.horizontalSeparator2); @@ -295,7 +310,7 @@ namespace AppLauncher.Windows.Forms this.Controls.Add(this.label1); this.Controls.Add(this.textBox1); this.Description = "Edit Tile"; - this.Name = "EditTileForm"; + this.Name = "AddTileForm"; this.Controls.SetChildIndex(this.imgbxClose, 0); this.Controls.SetChildIndex(this.lblDescription, 0); this.Controls.SetChildIndex(this.panel1, 0); @@ -363,5 +378,37 @@ namespace AppLauncher.Windows.Forms this.Close(); } + private void textBox2_OnButtonClick(object sender, EventArgs e) + { + if (!string.IsNullOrWhiteSpace(textBox2.Text)) + { + if (File.Exists(textBox2.Text)) + { + openFileDialog1.InitialDirectory = Path.GetDirectoryName(textBox2.Text); + } + } + + if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) + { + textBox2.Text = openFileDialog1.FileName; + } + } + + private void textBox4_OnButtonClick(object sender, EventArgs e) + { + if (!string.IsNullOrWhiteSpace(textBox4.Text)) + { + if (Directory.Exists(textBox4.Text)) + { + folderBrowserDialog1.SelectedPath = textBox4.Text; + } + } + + if (folderBrowserDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) + { + textBox4.Text = folderBrowserDialog1.SelectedPath; + } + } + } } diff --git a/Windows/Forms/AddTileForm.resx b/Windows/Forms/Tile/AddTileForm.resx similarity index 94% rename from Windows/Forms/AddTileForm.resx rename to Windows/Forms/Tile/AddTileForm.resx index 3747e00..0a8d684 100644 --- a/Windows/Forms/AddTileForm.resx +++ b/Windows/Forms/Tile/AddTileForm.resx @@ -128,4 +128,10 @@ 6dGYH+UCHCTQ9SfV+7pMvJIIaLL0Oudd1x2eUQ8MyeAeq0cAAAAASUVORK5CYII= + + 17, 17 + + + 326, 17 + \ No newline at end of file diff --git a/Windows/Forms/EditTileForm.cs b/Windows/Forms/Tile/EditTileForm.cs similarity index 91% rename from Windows/Forms/EditTileForm.cs rename to Windows/Forms/Tile/EditTileForm.cs index 851cbf3..ca83bd8 100644 --- a/Windows/Forms/EditTileForm.cs +++ b/Windows/Forms/Tile/EditTileForm.cs @@ -2,6 +2,7 @@ using RyzStudio.Windows.ThemedForms; using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -25,7 +26,8 @@ namespace AppLauncher.Windows.Forms private RyzStudio.Windows.Forms.HorizontalSeparator horizontalSeparator1; private RyzStudio.Windows.Forms.HorizontalSeparator horizontalSeparator2; private TextBox textBox1; - + private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; + private System.Windows.Forms.OpenFileDialog openFileDialog1; protected TilePanel parentPanel = null; public EditTileForm() : base() @@ -60,6 +62,8 @@ namespace AppLauncher.Windows.Forms this.pickerBox2 = new RyzStudio.Windows.ThemedForms.PickerBox(); this.horizontalSeparator1 = new RyzStudio.Windows.Forms.HorizontalSeparator(); this.horizontalSeparator2 = new RyzStudio.Windows.Forms.HorizontalSeparator(); + this.folderBrowserDialog1 = new System.Windows.Forms.FolderBrowserDialog(); + this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); ((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).BeginInit(); this.SuspendLayout(); // @@ -180,6 +184,7 @@ namespace AppLauncher.Windows.Forms this.textBox2.SubmitButton = null; this.textBox2.TabIndex = 170; this.textBox2.UseSystemPasswordChar = false; + this.textBox2.OnButtonClick += new System.EventHandler(this.textBox2_OnButtonClick); // // textBox3 // @@ -212,6 +217,7 @@ namespace AppLauncher.Windows.Forms this.textBox4.SubmitButton = null; this.textBox4.TabIndex = 172; this.textBox4.UseSystemPasswordChar = false; + this.textBox4.OnButtonClick += new System.EventHandler(this.textBox4_OnButtonClick); // // button1 // @@ -276,6 +282,15 @@ namespace AppLauncher.Windows.Forms this.horizontalSeparator2.Size = new System.Drawing.Size(380, 2); this.horizontalSeparator2.TabIndex = 177; // + // folderBrowserDialog1 + // + this.folderBrowserDialog1.Description = "Choose a directory"; + // + // openFileDialog1 + // + this.openFileDialog1.Filter = "All files|*"; + this.openFileDialog1.Title = "Choose a file"; + // // EditTileForm // this.ClientSize = new System.Drawing.Size(400, 480); @@ -371,5 +386,37 @@ namespace AppLauncher.Windows.Forms this.Close(); } + private void textBox2_OnButtonClick(object sender, EventArgs e) + { + if (!string.IsNullOrWhiteSpace(textBox2.Text)) + { + if (File.Exists(textBox2.Text)) + { + openFileDialog1.InitialDirectory = Path.GetDirectoryName(textBox2.Text); + } + } + + if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) + { + textBox2.Text = openFileDialog1.FileName; + } + } + + private void textBox4_OnButtonClick(object sender, EventArgs e) + { + if (!string.IsNullOrWhiteSpace(textBox4.Text)) + { + if (Directory.Exists(textBox4.Text)) + { + folderBrowserDialog1.SelectedPath = textBox4.Text; + } + } + + if (folderBrowserDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) + { + textBox4.Text = folderBrowserDialog1.SelectedPath; + } + } + } } diff --git a/Windows/Forms/EditTileForm.resx b/Windows/Forms/Tile/EditTileForm.resx similarity index 94% rename from Windows/Forms/EditTileForm.resx rename to Windows/Forms/Tile/EditTileForm.resx index 3747e00..3d0e307 100644 --- a/Windows/Forms/EditTileForm.resx +++ b/Windows/Forms/Tile/EditTileForm.resx @@ -128,4 +128,10 @@ 6dGYH+UCHCTQ9SfV+7pMvJIIaLL0Oudd1x2eUQ8MyeAeq0cAAAAASUVORK5CYII= + + 17, 17 + + + 186, 17 + \ No newline at end of file diff --git a/Windows/Forms/Tile/TileContainer.cs b/Windows/Forms/Tile/TileContainer.cs index c5adac6..99b8aee 100644 --- a/Windows/Forms/Tile/TileContainer.cs +++ b/Windows/Forms/Tile/TileContainer.cs @@ -1,5 +1,6 @@ using AppLauncher.Models; using System; +using System.Collections.Generic; using System.Drawing; using System.Threading; using System.Threading.Tasks; @@ -58,6 +59,23 @@ namespace AppLauncher.Windows.Forms public bool IsAnimating => isAnimating; + public TileGroupModel Model + { + get + { + TileGroupModel rs = new TileGroupModel() + { + Title = label1.TitleText, + GridSize = new Size(panel1.GridSize.X, panel1.GridSize.Y), + IsExpanded = label1.Checked, + IsExclusive = groupInfo.IsExclusive, + Items = panel1.Tiles + }; + + return rs; + } + } + public async Task Collapse() { await Task.Run(() => diff --git a/Windows/Forms/Tile/TileLayoutPanel.cs b/Windows/Forms/Tile/TileLayoutPanel.cs index 6a405d7..3783e62 100644 --- a/Windows/Forms/Tile/TileLayoutPanel.cs +++ b/Windows/Forms/Tile/TileLayoutPanel.cs @@ -1,8 +1,11 @@ using AppLauncher.Models; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Drawing; +using System.IO; using System.Linq; +using System.Windows.Forms; namespace AppLauncher.Windows.Forms { @@ -24,9 +27,24 @@ namespace AppLauncher.Windows.Forms public TileLayoutPanel() : base() { + InitializeComponent(); + + this.AllowDrop = true; this.BackColor = System.Drawing.Color.Transparent; } + private void InitializeComponent() + { + this.SuspendLayout(); + // + // TileLayoutPanel + // + this.Name = "TileLayoutPanel"; + this.DragDrop += new System.Windows.Forms.DragEventHandler(this.panel_DragDrop); + this.DragOver += new System.Windows.Forms.DragEventHandler(this.panel_DragOver); + this.ResumeLayout(false); + } + protected override void OnLoad(EventArgs e) { base.OnLoad(e); @@ -69,6 +87,20 @@ namespace AppLauncher.Windows.Forms public int ExpandedHeight => expandedHeight; + public List Tiles + { + get + { + List rs = new List(); + foreach (Item item in items) + { + rs.Add(item.Tile.ModelInfo); + } + + return rs; + } + } + public void AddTile(TileModel tile) { Point gridSize = this.GridSize; @@ -351,5 +383,64 @@ namespace AppLauncher.Windows.Forms return true; } + private void panel_DragOver(object sender, DragEventArgs e) + { + if (e.Data.GetDataPresent(DataFormats.FileDrop)) + { + e.Effect = DragDropEffects.Link; + } + else + { + e.Effect = DragDropEffects.None; + } + } + + private void panel_DragDrop(object sender, DragEventArgs e) + { + string[] fileList = e.Data.GetData(DataFormats.FileDrop) as string[]; + if (fileList == null) + { + return; + } + + if (fileList.Length <= 0) + { + return; + } + + if (string.IsNullOrWhiteSpace(fileList[0])) + { + return; + } + + TileModel model = new TileModel() + { + ProcessFilename = fileList[0], + Title = Path.GetFileName(fileList[0]) + }; + + // exe + if (Path.GetExtension(fileList[0]).Equals(".exe", StringComparison.CurrentCultureIgnoreCase)) + { + if (File.Exists(fileList[0])) + { + try + { + FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(fileList[0]); + if (fvi != null) + { + model.Title = fvi.ProductName; + } + } + catch + { + // do nothing + } + } + } + + this.AddTile(model); + } + } } \ No newline at end of file diff --git a/Windows/Forms/Tile/TilePanel.Designer.cs b/Windows/Forms/Tile/TilePanel.Designer.cs index ff0d3a6..f0dcc0f 100644 --- a/Windows/Forms/Tile/TilePanel.Designer.cs +++ b/Windows/Forms/Tile/TilePanel.Designer.cs @@ -34,6 +34,7 @@ this.editToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.removeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.contextMenuStrip1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.SuspendLayout(); @@ -50,8 +51,7 @@ this.label1.Size = new System.Drawing.Size(70, 13); this.label1.TabIndex = 24; this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - this.label1.Click += new System.EventHandler(this.TilePanel_Click); - this.label1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.TilePanel_MouseDoubleClick); + this.label1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.panel_MouseDoubleClick); // // contextMenuStrip1 // @@ -59,19 +59,19 @@ this.editToolStripMenuItem, this.removeToolStripMenuItem}); this.contextMenuStrip1.Name = "contextMenuStrip1"; - this.contextMenuStrip1.Size = new System.Drawing.Size(181, 70); + this.contextMenuStrip1.Size = new System.Drawing.Size(118, 48); // // editToolStripMenuItem // this.editToolStripMenuItem.Name = "editToolStripMenuItem"; - this.editToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.editToolStripMenuItem.Size = new System.Drawing.Size(117, 22); this.editToolStripMenuItem.Text = "&Edit"; this.editToolStripMenuItem.Click += new System.EventHandler(this.editToolStripMenuItem_Click); // // removeToolStripMenuItem // this.removeToolStripMenuItem.Name = "removeToolStripMenuItem"; - this.removeToolStripMenuItem.Size = new System.Drawing.Size(180, 22); + this.removeToolStripMenuItem.Size = new System.Drawing.Size(117, 22); this.removeToolStripMenuItem.Text = "&Remove"; this.removeToolStripMenuItem.Click += new System.EventHandler(this.removeToolStripMenuItem_Click); // @@ -88,8 +88,7 @@ this.pictureBox1.Size = new System.Drawing.Size(70, 38); this.pictureBox1.TabIndex = 25; this.pictureBox1.TabStop = false; - this.pictureBox1.Click += new System.EventHandler(this.TilePanel_Click); - this.pictureBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.TilePanel_MouseDoubleClick); + this.pictureBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.panel_MouseDoubleClick); // // TilePanel // @@ -104,8 +103,7 @@ this.MinimumSize = new System.Drawing.Size(70, 70); this.Name = "TilePanel"; this.Size = new System.Drawing.Size(70, 70); - this.Click += new System.EventHandler(this.TilePanel_Click); - this.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.TilePanel_MouseDoubleClick); + this.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.panel_MouseDoubleClick); this.contextMenuStrip1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); @@ -119,5 +117,6 @@ private System.Windows.Forms.ContextMenuStrip contextMenuStrip1; private System.Windows.Forms.ToolStripMenuItem editToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem removeToolStripMenuItem; + private System.Windows.Forms.ToolTip toolTip1; } } diff --git a/Windows/Forms/Tile/TilePanel.cs b/Windows/Forms/Tile/TilePanel.cs index 97940e1..4d01a5b 100644 --- a/Windows/Forms/Tile/TilePanel.cs +++ b/Windows/Forms/Tile/TilePanel.cs @@ -82,6 +82,9 @@ namespace AppLauncher.Windows.Forms } } + toolTip1.SetToolTip(this, this.Title); + toolTip1.SetToolTip(pictureBox1, this.Title); + toolTip1.SetToolTip(label1, this.Title); } private void panel_MouseDown(object sender, MouseEventArgs e) @@ -92,7 +95,7 @@ namespace AppLauncher.Windows.Forms return; } - if (e.Button != MouseButtons.Left) + if (e.Button != MouseButtons.Right) { return; } @@ -125,7 +128,7 @@ namespace AppLauncher.Windows.Forms } } - private void TilePanel_MouseDoubleClick(object sender, MouseEventArgs e) + private void panel_MouseDoubleClick(object sender, MouseEventArgs e) { if (this.ModelInfo == null) { @@ -153,17 +156,12 @@ namespace AppLauncher.Windows.Forms { Process.Start(p); } - catch + catch (Exception exc) { - // do nothing + MessageBox.Show(exc.Message); } } - private void TilePanel_Click(object sender, EventArgs e) - { - // do nothing yet - } - private void editToolStripMenuItem_Click(object sender, EventArgs e) { if (editForm == null) editForm = new EditTileForm(this); diff --git a/Windows/Forms/Tile/TilePanel.resx b/Windows/Forms/Tile/TilePanel.resx index ad53752..955aa4f 100644 --- a/Windows/Forms/Tile/TilePanel.resx +++ b/Windows/Forms/Tile/TilePanel.resx @@ -120,4 +120,7 @@ 17, 17 + + 172, 17 + \ No newline at end of file