diff --git a/EverythingToolbar/Deskband.cs b/EverythingToolbar/Deskband.cs index b2fe55cfa..3e4c8dd68 100644 --- a/EverythingToolbar/Deskband.cs +++ b/EverythingToolbar/Deskband.cs @@ -1,12 +1,9 @@ using EverythingToolbar; -using NHotkey; using NLog; using System; using System.Reflection; using System.Runtime.InteropServices; using System.Windows; -using System.Windows.Input; -using System.Windows.Interop; namespace CSDeskBand { @@ -15,10 +12,13 @@ namespace CSDeskBand [CSDeskBandRegistration(Name = "Everything Toolbar")] public class Deskband : CSDeskBandWpf { - protected override UIElement UIElement => new ToolbarControl(); + private static ToolbarControl toolbarControl; + protected override UIElement UIElement => toolbarControl; public Deskband() { + toolbarControl = new ToolbarControl(); + Options.MinHorizontalSize = new Size(18, 30); Options.MinVerticalSize = new Size(30, 40); TaskbarInfo.TaskbarEdgeChanged += OnTaskbarEdgeChanged; @@ -36,5 +36,12 @@ private void OnTaskbarEdgeChanged(object sender, TaskbarEdgeChangedEventArgs e) { SearchResultsPopup.taskbarEdge = e.Edge; } + + protected override void DeskbandOnClosed() + { + base.DeskbandOnClosed(); + toolbarControl.Destroy(); + toolbarControl = null; + } } } diff --git a/EverythingToolbar/Helpers/ShellUtils.cs b/EverythingToolbar/Helpers/ShellUtils.cs index 91c2a1d02..17895b8c3 100644 --- a/EverythingToolbar/Helpers/ShellUtils.cs +++ b/EverythingToolbar/Helpers/ShellUtils.cs @@ -1,12 +1,7 @@ using System; -using System.Collections.Generic; using System.Diagnostics; using System.IO; -using System.Linq; using System.Runtime.InteropServices; -using System.Text; -using System.Threading.Tasks; -using System.Windows; namespace EverythingToolbar.Helpers { diff --git a/EverythingToolbar/Helpers/ShortcutManager.cs b/EverythingToolbar/Helpers/ShortcutManager.cs index 9ccc989d4..ad1f3c664 100644 --- a/EverythingToolbar/Helpers/ShortcutManager.cs +++ b/EverythingToolbar/Helpers/ShortcutManager.cs @@ -2,9 +2,6 @@ using NHotkey.Wpf; using System; using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; using System.Windows.Input; namespace EverythingToolbar.Helpers diff --git a/EverythingToolbar/SearchBox.xaml.cs b/EverythingToolbar/SearchBox.xaml.cs index d7cc2355e..ea8871a38 100644 --- a/EverythingToolbar/SearchBox.xaml.cs +++ b/EverythingToolbar/SearchBox.xaml.cs @@ -1,5 +1,4 @@ -using System; -using System.Windows; +using System.Windows; using System.Windows.Controls; using System.Windows.Input; diff --git a/EverythingToolbar/ToolbarControl.xaml.cs b/EverythingToolbar/ToolbarControl.xaml.cs index 876f6dfe2..e07983cff 100644 --- a/EverythingToolbar/ToolbarControl.xaml.cs +++ b/EverythingToolbar/ToolbarControl.xaml.cs @@ -38,6 +38,13 @@ public ToolbarControl() (Key)Properties.Settings.Default.shortcutKey, (ModifierKeys)Properties.Settings.Default.shortcutModifiers, FocusSearchBox); + + } + + public void Destroy() + { + ToolbarLogger.GetLogger("EverythingToolbar").Error("ToolbarControl killing popup: " + SearchResultsPopup.GetHashCode().ToString()); + Content = null; } private void OnKeyPressed(object sender, KeyEventArgs e)