From 9b0a0072423a7fd6cda11f4176a245a968c3a78d Mon Sep 17 00:00:00 2001 From: pjunior Date: Fri, 25 Aug 2017 14:40:07 -0300 Subject: [PATCH] Save current Opacity when hiding the form in order to be able to restore the value when form is restored fixes #12 --- OnTopReplica/MainForm_Gui.cs | 1 - OnTopReplica/Platforms/WindowsSeven.cs | 9 +++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/OnTopReplica/MainForm_Gui.cs b/OnTopReplica/MainForm_Gui.cs index fe909cb..8cf1879 100644 --- a/OnTopReplica/MainForm_Gui.cs +++ b/OnTopReplica/MainForm_Gui.cs @@ -73,7 +73,6 @@ namespace OnTopReplica { //Reset special modes FullscreenManager.SwitchBack(); ClickThroughEnabled = false; - Opacity = 1.0; //Restore main form in a platform-dependent method Program.Platform.RestoreForm(this); diff --git a/OnTopReplica/Platforms/WindowsSeven.cs b/OnTopReplica/Platforms/WindowsSeven.cs index 4114f3b..46cb2c3 100644 --- a/OnTopReplica/Platforms/WindowsSeven.cs +++ b/OnTopReplica/Platforms/WindowsSeven.cs @@ -7,6 +7,8 @@ namespace OnTopReplica.Platforms { class WindowsSeven : WindowsVista { + private double? PreviousOpacity { get; set; } + public override void PreHandleFormInit() { //Set Application ID WindowsSevenMethods.SetCurrentProcessExplicitAppUserModelID("LorenzCunoKlopfenstein.OnTopReplica.MainForm"); @@ -19,6 +21,7 @@ namespace OnTopReplica.Platforms { } public override void HideForm(MainForm form) { + PreviousOpacity = form.Opacity; form.Opacity = 0; } @@ -27,8 +30,10 @@ namespace OnTopReplica.Platforms { } public override void RestoreForm(MainForm form) { - if (form.Opacity == 0.0) - form.Opacity = 1.0; + if (form.Opacity == 0.0) { + form.Opacity = PreviousOpacity.GetValueOrDefault(1.0); + PreviousOpacity = null; + } form.Show(); }