mirror of
https://github.com/Hofknecht/SystemTrayMenu.git
synced 2024-06-02 10:34:42 +12:00
[BUG] Do not restart if DisplayChange was due to STM open (#223), version 1.0.25.1
This commit is contained in:
parent
c84b7b3996
commit
467afe57d1
|
@ -40,7 +40,11 @@ namespace SystemTrayMenu
|
||||||
|
|
||||||
private void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
|
private void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (!menus.IsOpenCloseStateOpening())
|
if (menus.IsShortlyAfterOpening())
|
||||||
|
{
|
||||||
|
Log.Info("Ignored DisplaySettingsChanged, because IsShortlyAfterOpening == true");
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
AppRestart.ByDisplaySettings();
|
AppRestart.ByDisplaySettings();
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,8 @@ namespace SystemTrayMenu.Business
|
||||||
private readonly Timer timerStillActiveCheck = new Timer();
|
private readonly Timer timerStillActiveCheck = new Timer();
|
||||||
private readonly WaitLeave waitLeave = new WaitLeave(Properties.Settings.Default.TimeUntilCloses);
|
private readonly WaitLeave waitLeave = new WaitLeave(Properties.Settings.Default.TimeUntilCloses);
|
||||||
private DateTime deactivatedTime = DateTime.MinValue;
|
private DateTime deactivatedTime = DateTime.MinValue;
|
||||||
|
private DateTime dateTimeLastOpening = DateTime.MinValue;
|
||||||
|
private DateTime dateTimeDisplaySettingsChanged = DateTime.MinValue;
|
||||||
private OpenCloseState openCloseState = OpenCloseState.Default;
|
private OpenCloseState openCloseState = OpenCloseState.Default;
|
||||||
private bool showingMessageBox;
|
private bool showingMessageBox;
|
||||||
private TaskbarPosition taskbarPosition = new WindowsTaskbar().Position;
|
private TaskbarPosition taskbarPosition = new WindowsTaskbar().Position;
|
||||||
|
@ -80,7 +82,6 @@ namespace SystemTrayMenu.Business
|
||||||
"MessageRootFolderEmpty"));
|
"MessageRootFolderEmpty"));
|
||||||
OpenFolder();
|
OpenFolder();
|
||||||
Config.SetFolderByUser();
|
Config.SetFolderByUser();
|
||||||
openCloseState = OpenCloseState.Default;
|
|
||||||
showingMessageBox = false;
|
showingMessageBox = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -93,7 +94,6 @@ namespace SystemTrayMenu.Business
|
||||||
"MessageRootFolderNoAccess"));
|
"MessageRootFolderNoAccess"));
|
||||||
OpenFolder();
|
OpenFolder();
|
||||||
Config.SetFolderByUser();
|
Config.SetFolderByUser();
|
||||||
openCloseState = OpenCloseState.Default;
|
|
||||||
showingMessageBox = false;
|
showingMessageBox = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,6 +104,8 @@ namespace SystemTrayMenu.Business
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
openCloseState = OpenCloseState.Default;
|
||||||
}
|
}
|
||||||
|
|
||||||
waitToOpenMenu.StopLoadMenu += WaitToOpenMenu_StopLoadMenu;
|
waitToOpenMenu.StopLoadMenu += WaitToOpenMenu_StopLoadMenu;
|
||||||
|
@ -483,9 +485,13 @@ namespace SystemTrayMenu.Business
|
||||||
|
|
||||||
internal bool IsOpenCloseStateOpening()
|
internal bool IsOpenCloseStateOpening()
|
||||||
{
|
{
|
||||||
Log.Info(openCloseState.ToString());
|
return openCloseState == OpenCloseState.Opening || (DateTime.Now - dateTimeDisplaySettingsChanged).TotalMilliseconds < 500;
|
||||||
return openCloseState == OpenCloseState.Opening ||
|
}
|
||||||
(openCloseState == OpenCloseState.Default && menus[0] != null && menus[0].Visible);
|
|
||||||
|
internal bool IsShortlyAfterOpening()
|
||||||
|
{
|
||||||
|
dateTimeDisplaySettingsChanged = DateTime.Now;
|
||||||
|
return (DateTime.Now - dateTimeLastOpening).TotalMilliseconds < 2000;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void SwitchOpenClose(bool byClick)
|
internal void SwitchOpenClose(bool byClick)
|
||||||
|
@ -519,6 +525,7 @@ namespace SystemTrayMenu.Business
|
||||||
}
|
}
|
||||||
|
|
||||||
deactivatedTime = DateTime.MinValue;
|
deactivatedTime = DateTime.MinValue;
|
||||||
|
dateTimeLastOpening = DateTime.Now;
|
||||||
}
|
}
|
||||||
|
|
||||||
internal void DisposeMenu(Menu menuToDispose)
|
internal void DisposeMenu(Menu menuToDispose)
|
||||||
|
@ -672,9 +679,14 @@ namespace SystemTrayMenu.Business
|
||||||
menu.Deactivate += Deactivate;
|
menu.Deactivate += Deactivate;
|
||||||
void Deactivate(object sender, EventArgs e)
|
void Deactivate(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (!Properties.Settings.Default.StaysOpenWhenFocusLostAfterEnterPressed ||
|
if (IsOpenCloseStateOpening())
|
||||||
|
{
|
||||||
|
Log.Info("Ignored Deactivate, because openCloseState == OpenCloseState.Opening");
|
||||||
|
}
|
||||||
|
else if (!Properties.Settings.Default.StaysOpenWhenFocusLostAfterEnterPressed ||
|
||||||
!waitingForReactivate)
|
!waitingForReactivate)
|
||||||
{
|
{
|
||||||
|
Log.Info($"Deactivate {openCloseState}");
|
||||||
FadeHalfOrOutIfNeeded();
|
FadeHalfOrOutIfNeeded();
|
||||||
if (!IsActive())
|
if (!IsActive())
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
<Identity
|
<Identity
|
||||||
Name="49543SystemTrayMenu.SystemTrayMenu"
|
Name="49543SystemTrayMenu.SystemTrayMenu"
|
||||||
Publisher="CN=5884501C-92ED-45DE-9508-9D987C314243"
|
Publisher="CN=5884501C-92ED-45DE-9508-9D987C314243"
|
||||||
Version="1.0.24.0" />
|
Version="1.0.25.0" />
|
||||||
|
|
||||||
<Properties>
|
<Properties>
|
||||||
<DisplayName>SystemTrayMenu</DisplayName>
|
<DisplayName>SystemTrayMenu</DisplayName>
|
||||||
|
|
|
@ -39,5 +39,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("1.0.25.0")]
|
[assembly: AssemblyVersion("1.0.25.1")]
|
||||||
[assembly: AssemblyFileVersion("1.0.25.0")]
|
[assembly: AssemblyFileVersion("1.0.25.1")]
|
||||||
|
|
Loading…
Reference in a new issue