From aed4b7de64fe2822c7704b7b79c71d38b2dd0cbb Mon Sep 17 00:00:00 2001 From: Stone-Red-Code <56473591+Stone-Red-Code@users.noreply.github.com> Date: Tue, 14 Sep 2021 21:27:08 +0200 Subject: [PATCH] - Automatically send windows to back - Fix auto updater --- src/DesktopMagic/App.xaml.cs | 2 +- src/DesktopMagic/CalendarWindow.xaml.cs | 4 ++-- src/DesktopMagic/CpuUsageWindow.xaml.cs | 4 ++-- src/DesktopMagic/DateWindow.xaml.cs | 4 ++-- src/DesktopMagic/DesktopMagic.csproj | 6 ++++-- src/DesktopMagic/MainWindow.xaml.cs | 12 ++++++++++++ src/DesktopMagic/MusicVisualizerWindow.xaml.cs | 4 ++-- src/DesktopMagic/Plugin/PluginWindow.xaml.cs | 4 ++-- src/DesktopMagic/TimeWindow.xaml.cs | 4 ++-- src/DesktopMagic/WindowPos.cs | 4 ++-- 10 files changed, 31 insertions(+), 17 deletions(-) diff --git a/src/DesktopMagic/App.xaml.cs b/src/DesktopMagic/App.xaml.cs index 7120f71..a1afefd 100644 --- a/src/DesktopMagic/App.xaml.cs +++ b/src/DesktopMagic/App.xaml.cs @@ -13,7 +13,7 @@ namespace DesktopMagic { private Mutex _mutex; #if DEBUG - private readonly Updater updater = new Updater(TimeSpan.FromHours(1), "https://raw.githubusercontent.com/Stone-Red-Code/DesktopMagic/develop/update/updateInfo.json"); + private readonly Updater updater = new Updater(TimeSpan.FromDays(1), "https://raw.githubusercontent.com/Stone-Red-Code/DesktopMagic/develop/update/updateInfo.json"); #else private readonly Updater updater = new Updater(TimeSpan.FromHours(1), "https://raw.githubusercontent.com/Stone-Red-Code/DesktopMagic/main/update/updateInfo.json"); #endif diff --git a/src/DesktopMagic/CalendarWindow.xaml.cs b/src/DesktopMagic/CalendarWindow.xaml.cs index 4de73dc..c596e4d 100644 --- a/src/DesktopMagic/CalendarWindow.xaml.cs +++ b/src/DesktopMagic/CalendarWindow.xaml.cs @@ -92,12 +92,12 @@ namespace DesktopMagic if (MainWindow.EditMode) { panel.Visibility = Visibility.Visible; - new WindowPos().SetIsLocked(this, false); + WindowPos.SetIsLocked(this, false); } else { panel.Visibility = Visibility.Collapsed; - new WindowPos().SetIsLocked(this, true); + WindowPos.SetIsLocked(this, true); } if (MainWindow.GlobalFont != oldFont || MainWindow.GlobalColor != oldColor) { diff --git a/src/DesktopMagic/CpuUsageWindow.xaml.cs b/src/DesktopMagic/CpuUsageWindow.xaml.cs index f3dbfdd..903aefb 100644 --- a/src/DesktopMagic/CpuUsageWindow.xaml.cs +++ b/src/DesktopMagic/CpuUsageWindow.xaml.cs @@ -73,12 +73,12 @@ namespace DesktopMagic if (MainWindow.EditMode) { panel.Visibility = Visibility.Visible; - new WindowPos().SetIsLocked(this, false); + WindowPos.SetIsLocked(this, false); } else { panel.Visibility = Visibility.Collapsed; - new WindowPos().SetIsLocked(this, true); + WindowPos.SetIsLocked(this, true); } textBlock.FontFamily = new FontFamily(MainWindow.GlobalFont); diff --git a/src/DesktopMagic/DateWindow.xaml.cs b/src/DesktopMagic/DateWindow.xaml.cs index a23b581..1d3e03e 100644 --- a/src/DesktopMagic/DateWindow.xaml.cs +++ b/src/DesktopMagic/DateWindow.xaml.cs @@ -60,12 +60,12 @@ namespace DesktopMagic if (MainWindow.EditMode) { panel.Visibility = Visibility.Visible; - new WindowPos().SetIsLocked(this, false); + WindowPos.SetIsLocked(this, false); } else { panel.Visibility = Visibility.Collapsed; - new WindowPos().SetIsLocked(this, true); + WindowPos.SetIsLocked(this, true); } textBlock.FontFamily = new FontFamily(MainWindow.GlobalFont); textBlock.Foreground = MainWindow.GlobalColor; diff --git a/src/DesktopMagic/DesktopMagic.csproj b/src/DesktopMagic/DesktopMagic.csproj index 9b79f9a..7d2a63c 100644 --- a/src/DesktopMagic/DesktopMagic.csproj +++ b/src/DesktopMagic/DesktopMagic.csproj @@ -8,9 +8,11 @@ icon.ico OnBuildSuccess Stone_Red - 0.0.2.2 + 0.0.2.3 https://github.com/Stone-Red-Code/DesktopMagic https://github.com/Stone-Red-Code/DesktopMagic + 0.0.2.3 + 0.0.2.3 @@ -24,7 +26,7 @@ - + diff --git a/src/DesktopMagic/MainWindow.xaml.cs b/src/DesktopMagic/MainWindow.xaml.cs index e9309b4..780ec6e 100644 --- a/src/DesktopMagic/MainWindow.xaml.cs +++ b/src/DesktopMagic/MainWindow.xaml.cs @@ -197,6 +197,11 @@ namespace DesktopMagic { EditMode = (bool)EditCheckBox.IsChecked; SaveLayout(); + foreach (var item in Windows) + { + WindowPos.SendWpfWindowBack(item); + WindowPos.SendWpfWindowBack(item); + } } private void CheckBox_Click(object sender, RoutedEventArgs e) @@ -263,6 +268,7 @@ namespace DesktopMagic window.ShowInTaskbar = false; window.Show(); + window.ContentRendered += PluginWindow_ContentRendered; window.Closing += DisplayWindow_Closing; Windows.Add(window); WindowNames.Add(window.Title); @@ -283,6 +289,12 @@ namespace DesktopMagic SaveLayout(); } + private void PluginWindow_ContentRendered(object sender, EventArgs e) + { + WindowPos.SendWpfWindowBack(sender as Window); + WindowPos.SendWpfWindowBack(sender as Window); + } + private void DisplayWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) { e.Cancel = blockWindowsClosing; diff --git a/src/DesktopMagic/MusicVisualizerWindow.xaml.cs b/src/DesktopMagic/MusicVisualizerWindow.xaml.cs index 33da58d..b835e6a 100644 --- a/src/DesktopMagic/MusicVisualizerWindow.xaml.cs +++ b/src/DesktopMagic/MusicVisualizerWindow.xaml.cs @@ -88,12 +88,12 @@ namespace DesktopMagic if (MainWindow.EditMode) { panel.Visibility = Visibility.Visible; - new WindowPos().SetIsLocked(this, false); + WindowPos.SetIsLocked(this, false); } else { panel.Visibility = Visibility.Collapsed; - new WindowPos().SetIsLocked(this, true); + WindowPos.SetIsLocked(this, true); } if (!this.IsLoaded) { diff --git a/src/DesktopMagic/Plugin/PluginWindow.xaml.cs b/src/DesktopMagic/Plugin/PluginWindow.xaml.cs index 6a7bc1f..434d7ee 100644 --- a/src/DesktopMagic/Plugin/PluginWindow.xaml.cs +++ b/src/DesktopMagic/Plugin/PluginWindow.xaml.cs @@ -97,14 +97,14 @@ namespace DesktopMagic if (MainWindow.EditMode) { panel.Visibility = Visibility.Visible; - new WindowPos().SetIsLocked(this, false); + WindowPos.SetIsLocked(this, false); tileBar.CaptionHeight = tileBar.CaptionHeight = this.ActualHeight - 10 < 0 ? 0 : this.ActualHeight - 10; this.ResizeMode = ResizeMode.CanResize; } else { panel.Visibility = Visibility.Collapsed; - new WindowPos().SetIsLocked(this, true); + WindowPos.SetIsLocked(this, true); tileBar.CaptionHeight = 0; this.ResizeMode = ResizeMode.NoResize; } diff --git a/src/DesktopMagic/TimeWindow.xaml.cs b/src/DesktopMagic/TimeWindow.xaml.cs index 1cebfd2..04132c8 100644 --- a/src/DesktopMagic/TimeWindow.xaml.cs +++ b/src/DesktopMagic/TimeWindow.xaml.cs @@ -60,12 +60,12 @@ namespace DesktopMagic if (MainWindow.EditMode) { panel.Visibility = Visibility.Visible; - new WindowPos().SetIsLocked(this, false); + WindowPos.SetIsLocked(this, false); } else { panel.Visibility = Visibility.Collapsed; - new WindowPos().SetIsLocked(this, true); + WindowPos.SetIsLocked(this, true); } textBlock.FontFamily = new FontFamily(MainWindow.GlobalFont); diff --git a/src/DesktopMagic/WindowPos.cs b/src/DesktopMagic/WindowPos.cs index 04441a2..3170632 100644 --- a/src/DesktopMagic/WindowPos.cs +++ b/src/DesktopMagic/WindowPos.cs @@ -40,7 +40,7 @@ namespace DesktopMagic [DllImport("user32.dll")] private static extern int GetWindowRect(IntPtr hwnd, out Rectangle rect); - public void SendWpfWindowBack(Window window) + public static void SendWpfWindowBack(Window window) { var hWnd = new WindowInteropHelper(window).Handle; SetWindowPos(hWnd, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE1 | SWP_NOMOVE1); @@ -51,7 +51,7 @@ namespace DesktopMagic return (bool)obj.GetValue(IsLockedProperty); } - public void SetIsLocked(DependencyObject obj, bool value) + public static void SetIsLocked(DependencyObject obj, bool value) { obj.SetValue(IsLockedProperty, value); }