window fix

This commit is contained in:
Frank Skare
2021-07-30 08:57:52 +02:00
parent 8d49c96c57
commit e9b6988a69

View File

@@ -22,14 +22,14 @@ namespace mpvnet
public static IntPtr Hwnd { get; set; } public static IntPtr Hwnd { get; set; }
public new ContextMenuStripEx ContextMenu { get; set; } public new ContextMenuStripEx ContextMenu { get; set; }
Point LastCursorPosition; Point LastCursorPosition;
Taskbar Taskbar;
int LastCursorChanged; int LastCursorChanged;
int LastCycleFullscreen; int LastCycleFullscreen;
int TaskbarButtonCreatedMessage; int TaskbarButtonCreatedMessage;
int ShownTickCount;
Taskbar Taskbar;
bool WasMaximized; bool WasMaximized;
bool WasShown;
public MainForm() public MainForm()
{ {
@@ -156,8 +156,6 @@ namespace mpvnet
void Core_Idle() => SetTitle(); void Core_Idle() => SetTitle();
bool WasShown() => ShownTickCount != 0 && Environment.TickCount > ShownTickCount + 500;
void CM_Popup(object sender, EventArgs e) => CursorHelp.Show(); void CM_Popup(object sender, EventArgs e) => CursorHelp.Show();
void Core_VideoSizeChanged() => BeginInvoke(new Action(() => SetFormPosAndSize())); void Core_VideoSizeChanged() => BeginInvoke(new Action(() => SetFormPosAndSize()));
@@ -666,7 +664,7 @@ namespace mpvnet
void SaveWindowProperties() void SaveWindowProperties()
{ {
if (WindowState == FormWindowState.Normal) if (WindowState == FormWindowState.Normal && WasShown)
{ {
SavePosition(); SavePosition();
App.Settings.WindowSize = ClientSize; App.Settings.WindowSize = ClientSize;
@@ -769,7 +767,7 @@ namespace mpvnet
break; break;
case 0x02E0: // WM_DPICHANGED case 0x02E0: // WM_DPICHANGED
{ {
if (!WasShown()) if (!WasShown)
break; break;
RECT rect = Marshal.PtrToStructure<RECT>(m.LParam); RECT rect = Marshal.PtrToStructure<RECT>(m.LParam);
@@ -877,7 +875,7 @@ namespace mpvnet
void PropChangeWindowMaximized() void PropChangeWindowMaximized()
{ {
if (!WasShown()) if (!WasShown)
return; return;
BeginInvoke(new Action(() => BeginInvoke(new Action(() =>
@@ -893,7 +891,7 @@ namespace mpvnet
void PropChangeWindowMinimized() void PropChangeWindowMinimized()
{ {
if (!WasShown()) if (!WasShown)
return; return;
BeginInvoke(new Action(() => BeginInvoke(new Action(() =>
@@ -970,7 +968,7 @@ namespace mpvnet
GlobalHotkey.RegisterGlobalHotkeys(Handle); GlobalHotkey.RegisterGlobalHotkeys(Handle);
App.RunTask(() => App.Extension = new Extension()); App.RunTask(() => App.Extension = new Extension());
CSharpScriptHost.ExecuteScriptsInFolder(Core.ConfigFolder + "scripts-cs"); CSharpScriptHost.ExecuteScriptsInFolder(Core.ConfigFolder + "scripts-cs");
ShownTickCount = Environment.TickCount; WasShown = true;
} }
protected override void OnResize(EventArgs e) protected override void OnResize(EventArgs e)
@@ -989,21 +987,17 @@ namespace mpvnet
WasMaximized = false; WasMaximized = false;
} }
if (WasShown()) if (WasShown)
{ {
if (WindowState == FormWindowState.Minimized) if (WindowState == FormWindowState.Minimized)
{
Core.SetPropertyBool("window-minimized", true); Core.SetPropertyBool("window-minimized", true);
}
else if (WindowState == FormWindowState.Normal) else if (WindowState == FormWindowState.Normal)
{ {
Core.SetPropertyBool("window-maximized", false); Core.SetPropertyBool("window-maximized", false);
Core.SetPropertyBool("window-minimized", false); Core.SetPropertyBool("window-minimized", false);
} }
else if (WindowState == FormWindowState.Maximized) else if (WindowState == FormWindowState.Maximized)
{
Core.SetPropertyBool("window-maximized", true); Core.SetPropertyBool("window-maximized", true);
}
} }
} }