Main window menu is resizable now

This commit is contained in:
Jaex 2015-01-04 22:24:30 +02:00
parent 4ea4503aa7
commit 8a3f8542cf
5 changed files with 132 additions and 59 deletions

View file

@ -23,6 +23,7 @@
#endregion License Information (GPL v3)
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
@ -30,12 +31,32 @@ namespace ShareX.HelpersLib
{
public class SplitContainerCustomSplitter : SplitContainer
{
[DefaultValue(true)]
public bool DrawLineLeftSide { get; set; }
[DefaultValue(true)]
public bool DrawLineRightSide { get; set; }
public SplitContainerCustomSplitter()
{
DrawLineLeftSide = true;
DrawLineRightSide = true;
}
protected override void OnPaint(PaintEventArgs pevent)
{
Graphics g = pevent.Graphics;
Rectangle rect = SplitterRectangle;
g.DrawLine(Pens.Black, rect.Left, rect.Top, rect.Left, rect.Bottom - 1);
g.DrawLine(Pens.Black, rect.Right - 1, rect.Top, rect.Right - 1, rect.Bottom - 1);
if (DrawLineLeftSide)
{
g.DrawLine(Pens.Black, rect.Left, rect.Top, rect.Left, rect.Bottom - 1);
}
if (DrawLineRightSide)
{
g.DrawLine(Pens.Black, rect.Right - 1, rect.Top, rect.Right - 1, rect.Bottom - 1);
}
}
}
}

View file

@ -50,6 +50,7 @@ public ApplicationConfig()
public bool ShowMenu = true;
public ImagePreviewVisibility ImagePreview = ImagePreviewVisibility.Automatic;
public int MenuSplitterDistance = 170;
public int PreviewSplitterDistance = 335;
#endregion Main Form

View file

@ -30,10 +30,9 @@ private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.scMain = new HelpersLib.SplitContainerCustomSplitter();
this.scMain = new ShareX.HelpersLib.SplitContainerCustomSplitter();
this.lblMainFormTip = new System.Windows.Forms.Label();
this.lblSplitter = new System.Windows.Forms.Label();
this.lvUploads = new HelpersLib.MyListView();
this.lvUploads = new ShareX.HelpersLib.MyListView();
this.chFilename = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chStatus = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chProgress = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
@ -41,7 +40,7 @@ private void InitializeComponent()
this.chElapsed = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chRemaining = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chURL = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.pbPreview = new HelpersLib.MyPictureBox();
this.pbPreview = new ShareX.HelpersLib.MyPictureBox();
this.tsMain = new System.Windows.Forms.ToolStrip();
this.tsddbCapture = new System.Windows.Forms.ToolStripDropDownButton();
this.tsmiFullscreen = new System.Windows.Forms.ToolStripMenuItem();
@ -220,6 +219,7 @@ private void InitializeComponent()
this.tssTray3 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiTrayShow = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayExit = new System.Windows.Forms.ToolStripMenuItem();
this.scMenu = new ShareX.HelpersLib.SplitContainerCustomSplitter();
((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit();
this.scMain.Panel1.SuspendLayout();
this.scMain.Panel2.SuspendLayout();
@ -227,6 +227,10 @@ private void InitializeComponent()
this.tsMain.SuspendLayout();
this.cmsTaskInfo.SuspendLayout();
this.cmsTray.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.scMenu)).BeginInit();
this.scMenu.Panel1.SuspendLayout();
this.scMenu.Panel2.SuspendLayout();
this.scMenu.SuspendLayout();
this.SuspendLayout();
//
// scMain
@ -238,7 +242,6 @@ private void InitializeComponent()
// scMain.Panel1
//
this.scMain.Panel1.Controls.Add(this.lblMainFormTip);
this.scMain.Panel1.Controls.Add(this.lblSplitter);
this.scMain.Panel1.Controls.Add(this.lvUploads);
//
// scMain.Panel2
@ -255,12 +258,6 @@ private void InitializeComponent()
this.lblMainFormTip.UseMnemonic = false;
this.lblMainFormTip.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lblDragAndDropTip_MouseUp);
//
// lblSplitter
//
this.lblSplitter.BackColor = System.Drawing.Color.Black;
resources.ApplyResources(this.lblSplitter, "lblSplitter");
this.lblSplitter.Name = "lblSplitter";
//
// lvUploads
//
this.lvUploads.AutoFillColumn = true;
@ -1677,13 +1674,27 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiTrayExit, "tsmiTrayExit");
this.tsmiTrayExit.Click += new System.EventHandler(this.tsmiTrayExit_Click);
//
// scMenu
//
resources.ApplyResources(this.scMenu, "scMenu");
this.scMenu.DrawLineLeftSide = false;
this.scMenu.Name = "scMenu";
//
// scMenu.Panel1
//
this.scMenu.Panel1.Controls.Add(this.tsMain);
//
// scMenu.Panel2
//
this.scMenu.Panel2.Controls.Add(this.scMain);
this.scMenu.SplitterMoved += new System.Windows.Forms.SplitterEventHandler(this.scMenu_SplitterMoved);
//
// MainForm
//
this.AllowDrop = true;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.scMain);
this.Controls.Add(this.tsMain);
this.Controls.Add(this.scMenu);
this.DoubleBuffered = true;
this.Name = "MainForm";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
@ -1702,6 +1713,10 @@ private void InitializeComponent()
this.tsMain.PerformLayout();
this.cmsTaskInfo.ResumeLayout(false);
this.cmsTray.ResumeLayout(false);
this.scMenu.Panel1.ResumeLayout(false);
this.scMenu.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.scMenu)).EndInit();
this.scMenu.ResumeLayout(false);
this.ResumeLayout(false);
}
@ -1803,7 +1818,6 @@ private void InitializeComponent()
private System.Windows.Forms.ToolStripMenuItem tsmiTrayURLSharingServices;
private System.Windows.Forms.ToolStripDropDownButton tsddbAfterUploadTasks;
private System.Windows.Forms.ToolStripButton tsbScreenshotsFolder;
private System.Windows.Forms.Label lblSplitter;
private System.Windows.Forms.ToolStripMenuItem tsmiTrayAfterUploadTasks;
private System.Windows.Forms.ToolStripSeparator tssUploadInfo1;
private System.Windows.Forms.ToolStripMenuItem tsmiImagePreview;
@ -1898,5 +1912,6 @@ private void InitializeComponent()
private System.Windows.Forms.ToolStripMenuItem tsmiUploadFolder;
private System.Windows.Forms.ToolStripMenuItem tsmiTrayUploadFolder;
public System.Windows.Forms.Label lblMainFormTip;
private ShareX.HelpersLib.SplitContainerCustomSplitter scMenu;
}
}

View file

@ -547,6 +547,11 @@ private void LoadSettings()
AfterSettingsJobs();
if (Program.Settings.MenuSplitterDistance > 0)
{
scMenu.SplitterDistance = Program.Settings.MenuSplitterDistance;
}
if (Program.Settings.PreviewSplitterDistance > 0)
{
scMain.SplitterDistance = Program.Settings.PreviewSplitterDistance;
@ -765,7 +770,7 @@ private void UpdateMenu()
tsmiHideMenu.Text = Resources.MainForm_UpdateMenu_Show_menu;
}
tsMain.Visible = lblSplitter.Visible = Program.Settings.ShowMenu;
scMenu.Panel1Collapsed = !Program.Settings.ShowMenu;
Refresh();
}
@ -1100,6 +1105,11 @@ private void lvUploads_MouseDoubleClick(object sender, MouseEventArgs e)
}
}
private void scMenu_SplitterMoved(object sender, SplitterEventArgs e)
{
Program.Settings.MenuSplitterDistance = scMenu.SplitterDistance;
}
private void scMain_SplitterMoved(object sender, SplitterEventArgs e)
{
Program.Settings.PreviewSplitterDistance = scMain.SplitterDistance;

View file

@ -1,4 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
@ -123,7 +122,7 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="scMain.Location" type="System.Drawing.Point, System.Drawing">
<value>170, 0</value>
<value>0, 0</value>
</data>
<data name="lblMainFormTip.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
@ -138,7 +137,7 @@
<value>10, 0, 10, 0</value>
</data>
<data name="lblMainFormTip.Size" type="System.Drawing.Size, System.Drawing">
<value>320, 344</value>
<value>320, 343</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="lblMainFormTip.TabIndex" type="System.Int32, mscorlib">
@ -156,30 +155,6 @@
<data name="&gt;&gt;lblMainFormTip.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="lblSplitter.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Left</value>
</data>
<data name="lblSplitter.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="lblSplitter.Size" type="System.Drawing.Size, System.Drawing">
<value>1, 407</value>
</data>
<data name="lblSplitter.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;lblSplitter.Name" xml:space="preserve">
<value>lblSplitter</value>
</data>
<data name="&gt;&gt;lblSplitter.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblSplitter.Parent" xml:space="preserve">
<value>scMain.Panel1</value>
</data>
<data name="&gt;&gt;lblSplitter.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="chFilename.Text" xml:space="preserve">
<value>Filename</value>
</data>
@ -226,7 +201,7 @@
<value>0, 0</value>
</data>
<data name="lvUploads.Size" type="System.Drawing.Size, System.Drawing">
<value>335, 407</value>
<value>335, 406</value>
</data>
<data name="lvUploads.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@ -235,13 +210,13 @@
<value>lvUploads</value>
</data>
<data name="&gt;&gt;lvUploads.Type" xml:space="preserve">
<value>HelpersLib.MyListView, HelpersLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lvUploads.Parent" xml:space="preserve">
<value>scMain.Panel1</value>
</data>
<data name="&gt;&gt;lvUploads.ZOrder" xml:space="preserve">
<value>2</value>
<value>1</value>
</data>
<data name="&gt;&gt;scMain.Panel1.Name" xml:space="preserve">
<value>scMain.Panel1</value>
@ -262,7 +237,7 @@
<value>0, 0</value>
</data>
<data name="pbPreview.Size" type="System.Drawing.Size, System.Drawing">
<value>323, 407</value>
<value>319, 406</value>
</data>
<data name="pbPreview.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -271,7 +246,7 @@
<value>pbPreview</value>
</data>
<data name="&gt;&gt;pbPreview.Type" xml:space="preserve">
<value>HelpersLib.MyPictureBox, HelpersLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MyPictureBox, ShareX.HelpersLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;pbPreview.Parent" xml:space="preserve">
<value>scMain.Panel2</value>
@ -292,7 +267,7 @@
<value>1</value>
</data>
<data name="scMain.Size" type="System.Drawing.Size, System.Drawing">
<value>664, 407</value>
<value>660, 406</value>
</data>
<data name="scMain.SplitterDistance" type="System.Int32, mscorlib">
<value>335</value>
@ -307,13 +282,13 @@
<value>scMain</value>
</data>
<data name="&gt;&gt;scMain.Type" xml:space="preserve">
<value>HelpersLib.SplitContainerCustomSplitter, HelpersLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.SplitContainerCustomSplitter, ShareX.HelpersLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;scMain.Parent" xml:space="preserve">
<value>$this</value>
<value>scMenu.Panel2</value>
</data>
<data name="&gt;&gt;scMain.ZOrder" xml:space="preserve">
<value>2</value>
<value>0</value>
</data>
<metadata name="tsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
@ -322,7 +297,7 @@
<value>False</value>
</data>
<data name="tsMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Left</value>
<value>Fill</value>
</data>
<data name="tsmiFullscreen.Size" type="System.Drawing.Size, System.Drawing">
<value>217, 22</value>
@ -802,7 +777,7 @@
<value>6, 6, 6, 6</value>
</data>
<data name="tsMain.Size" type="System.Drawing.Size, System.Drawing">
<value>170, 407</value>
<value>170, 406</value>
</data>
<data name="tsMain.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -814,10 +789,10 @@
<value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsMain.Parent" xml:space="preserve">
<value>$this</value>
<value>scMenu.Panel1</value>
</data>
<data name="&gt;&gt;tsMain.ZOrder" xml:space="preserve">
<value>3</value>
<value>0</value>
</data>
<metadata name="cmsTaskInfo.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>286, 17</value>
@ -1479,6 +1454,57 @@
<data name="niTray.Text" xml:space="preserve">
<value>ShareX</value>
<comment>@Invariant</comment></data>
<data name="scMenu.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="scMenu.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="&gt;&gt;scMenu.Panel1.Name" xml:space="preserve">
<value>scMenu.Panel1</value>
</data>
<data name="&gt;&gt;scMenu.Panel1.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;scMenu.Panel1.Parent" xml:space="preserve">
<value>scMenu</value>
</data>
<data name="&gt;&gt;scMenu.Panel1.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;scMenu.Panel2.Name" xml:space="preserve">
<value>scMenu.Panel2</value>
</data>
<data name="&gt;&gt;scMenu.Panel2.Type" xml:space="preserve">
<value>System.Windows.Forms.SplitterPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;scMenu.Panel2.Parent" xml:space="preserve">
<value>scMenu</value>
</data>
<data name="&gt;&gt;scMenu.Panel2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="scMenu.Size" type="System.Drawing.Size, System.Drawing">
<value>834, 406</value>
</data>
<data name="scMenu.SplitterDistance" type="System.Int32, mscorlib">
<value>170</value>
</data>
<data name="scMenu.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;scMenu.Name" xml:space="preserve">
<value>scMenu</value>
</data>
<data name="&gt;&gt;scMenu.Type" xml:space="preserve">
<value>ShareX.HelpersLib.SplitContainerCustomSplitter, ShareX.HelpersLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;scMenu.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;scMenu.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
@ -1489,7 +1515,7 @@
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>834, 407</value>
<value>834, 406</value>
</data>
<data name="$this.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>400, 250</value>
@ -2596,6 +2622,6 @@
<value>MainForm</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>ShareX.HotkeyForm, ShareX, Version=9.4.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HotkeyForm, ShareX, Version=9.5.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
</root>