From 1efe2a56af635fc9ba0027c4391d41f96ab2a96e Mon Sep 17 00:00:00 2001 From: chylex <contact@chylex.com> Date: Mon, 26 Jun 2017 20:23:32 +0200 Subject: [PATCH] Fix Win+Arrow and Win+Shift+Arrow not saving new window location Closes #135 --- Core/FormBrowser.Designer.cs | 8 ++++++++ Core/FormBrowser.cs | 17 +++++++++++++++++ Core/FormBrowser.resx | 12 +++++++----- 3 files changed, 32 insertions(+), 5 deletions(-) diff --git a/Core/FormBrowser.Designer.cs b/Core/FormBrowser.Designer.cs index 78aff6d2..8359d635 100644 --- a/Core/FormBrowser.Designer.cs +++ b/Core/FormBrowser.Designer.cs @@ -26,8 +26,14 @@ private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.trayIcon = new TweetDuck.Core.TrayIcon(this.components); this.toolTip = new System.Windows.Forms.ToolTip(this.components); + this.timerResize = new System.Windows.Forms.Timer(this.components); this.SuspendLayout(); // + // timerResize + // + this.timerResize.Interval = 500; + this.timerResize.Tick += new System.EventHandler(this.timerResize_Tick); + // // FormBrowser // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -42,6 +48,7 @@ private void InitializeComponent() { this.Activated += new System.EventHandler(this.FormBrowser_Activated); this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FormBrowser_FormClosing); this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FormBrowser_FormClosed); + this.LocationChanged += new System.EventHandler(this.FormBrowser_LocationChanged); this.ResizeEnd += new System.EventHandler(this.FormBrowser_ResizeEnd); this.Resize += new System.EventHandler(this.FormBrowser_Resize); this.ResumeLayout(false); @@ -52,6 +59,7 @@ private void InitializeComponent() { private TrayIcon trayIcon; private System.Windows.Forms.ToolTip toolTip; + private System.Windows.Forms.Timer timerResize; } } diff --git a/Core/FormBrowser.cs b/Core/FormBrowser.cs index ddca9eac..5de7f92e 100644 --- a/Core/FormBrowser.cs +++ b/Core/FormBrowser.cs @@ -208,12 +208,23 @@ private void browser_LoadError(object sender, LoadErrorEventArgs e){ } } + private void timerResize_Tick(object sender, EventArgs e){ + FormBrowser_ResizeEnd(this, e); // also stops timer + } + private void FormBrowser_Activated(object sender, EventArgs e){ if (!isLoaded)return; trayIcon.HasNotifications = false; } + private void FormBrowser_LocationChanged(object sender, EventArgs e){ + if (!isLoaded)return; + + timerResize.Stop(); + timerResize.Start(); + } + private void FormBrowser_Resize(object sender, EventArgs e){ if (!isLoaded)return; @@ -229,11 +240,17 @@ private void FormBrowser_Resize(object sender, EventArgs e){ FormBrowser_ResizeEnd(sender, e); } } + else{ + timerResize.Stop(); + timerResize.Start(); + } } private void FormBrowser_ResizeEnd(object sender, EventArgs e){ // also triggers when the window moves if (!isLoaded)return; + timerResize.Stop(); + if (Location != ControlExtensions.InvisibleLocation){ Config.BrowserWindow.Save(this); Config.Save(); diff --git a/Core/FormBrowser.resx b/Core/FormBrowser.resx index d2827888..9ee7beb2 100644 --- a/Core/FormBrowser.resx +++ b/Core/FormBrowser.resx @@ -117,11 +117,13 @@ <resheader name="writer"> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> </resheader> - <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> - <data name="trayIcon.TrayLocation" type="System.Drawing.Point, System.Drawing"> + <metadata name="trayIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>17, 17</value> - </data> - <data name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing"> + </metadata> + <metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <value>112, 17</value> - </data> + </metadata> + <metadata name="timerResize.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> + <value>202, 17</value> + </metadata> </root> \ No newline at end of file