Cleanup of WinformThemer

This commit is contained in:
Usman Shafiq
2022-03-23 22:25:08 -04:00
parent 8b66fd5825
commit 2e88c97178
+32 -9
View File
@@ -29,11 +29,7 @@ namespace VRCX
{ {
forms.Add(form); forms.Add(form);
} }
SetThemeToGlobal(forms);
foreach (Form form in forms)
{
SetThemeToGlobal(form);
}
} }
/// <summary> /// <summary>
@@ -43,12 +39,19 @@ namespace VRCX
/// </summary> /// </summary>
public static int GetGlobalTheme() => currentTheme; public static int GetGlobalTheme() => currentTheme;
public static void SetThemeToGlobal(Form form) public static void SetThemeToGlobal(Form form)
{ {
SetThemeToGlobal(form.Handle); SetThemeToGlobal(new List<Form>() { form });
}
InvisPopup thisJankThing = new InvisPopup(); public static void SetThemeToGlobal(List<Form> forms)
thisJankThing.Show(); {
InvisPopupHandler.Show();
foreach(Form form in forms)
{
SetThemeToGlobal(form.Handle);
if (form.WindowState != FormWindowState.Minimized) if (form.WindowState != FormWindowState.Minimized)
{ {
@@ -62,8 +65,9 @@ namespace VRCX
PInvokeFun.ShowWindow(form.Handle, (int)PInvokeFun.SW_TYPES.SW_HIDE); PInvokeFun.ShowWindow(form.Handle, (int)PInvokeFun.SW_TYPES.SW_HIDE);
PInvokeFun.ShowWindow(form.Handle, (int)PInvokeFun.SW_TYPES.SW_SHOW); PInvokeFun.ShowWindow(form.Handle, (int)PInvokeFun.SW_TYPES.SW_SHOW);
} }
}
thisJankThing.Close(); InvisPopupHandler.Close();
} }
private static void SetThemeToGlobal(IntPtr handle) private static void SetThemeToGlobal(IntPtr handle)
@@ -93,6 +97,25 @@ namespace VRCX
return theme; return theme;
} }
internal static class InvisPopupHandler
{
private static InvisPopup instance;
internal static void Show()
{
if(instance == null)
instance = new InvisPopup();
instance.Show();
}
internal static void Close()
{
instance.Close();
instance.Dispose();
instance = null;
}
}
internal static class PInvokeFun internal static class PInvokeFun
{ {
[DllImport("DwmApi")] [DllImport("DwmApi")]