From 8b8fe3a3ec626fca6f178f7b994d95cc24c3da51 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Tue, 18 Aug 2020 23:47:45 +0200 Subject: [PATCH] UI - Fixed potential issue with fullscreen apps Removed the MainWindowHandle constant as it was causing issues in combination with the tray icon --- src/Artemis.Core/Constants.cs | 2 -- src/Artemis.Core/Services/CoreService.cs | 5 ----- .../Services/Interfaces/ICoreService.cs | 6 ------ src/Artemis.UI/Screens/TrayViewModel.cs | 21 ++----------------- 4 files changed, 2 insertions(+), 32 deletions(-) diff --git a/src/Artemis.Core/Constants.cs b/src/Artemis.Core/Constants.cs index 3bdc41647..2a8ab7398 100644 --- a/src/Artemis.Core/Constants.cs +++ b/src/Artemis.Core/Constants.cs @@ -70,7 +70,5 @@ namespace Artemis.Core typeof(double), typeof(decimal) }; - - public static IntPtr MainWindowHandle { get; internal set; } } } \ No newline at end of file diff --git a/src/Artemis.Core/Services/CoreService.cs b/src/Artemis.Core/Services/CoreService.cs index 8b3677838..b645d7227 100644 --- a/src/Artemis.Core/Services/CoreService.cs +++ b/src/Artemis.Core/Services/CoreService.cs @@ -125,11 +125,6 @@ namespace Artemis.Core.Services }); } - public void SetMainWindowHandle(IntPtr handle) - { - Constants.MainWindowHandle = handle; - } - protected virtual void OnFrameRendering(FrameRenderingEventArgs e) { FrameRendering?.Invoke(this, e); diff --git a/src/Artemis.Core/Services/Interfaces/ICoreService.cs b/src/Artemis.Core/Services/Interfaces/ICoreService.cs index f4e6b7750..209a8b7b0 100644 --- a/src/Artemis.Core/Services/Interfaces/ICoreService.cs +++ b/src/Artemis.Core/Services/Interfaces/ICoreService.cs @@ -46,11 +46,5 @@ namespace Artemis.Core.Services.Interfaces /// Occurs whenever a frame is finished rendering and processed by RGB.NET /// event EventHandler FrameRendered; - - /// - /// To be called by the UI to setup the main window handle - /// - /// - void SetMainWindowHandle(IntPtr handle); } } \ No newline at end of file diff --git a/src/Artemis.UI/Screens/TrayViewModel.cs b/src/Artemis.UI/Screens/TrayViewModel.cs index f89c52f10..0831806b0 100644 --- a/src/Artemis.UI/Screens/TrayViewModel.cs +++ b/src/Artemis.UI/Screens/TrayViewModel.cs @@ -1,36 +1,29 @@ -using System.Windows; -using System.Windows.Interop; -using Artemis.Core; -using Artemis.Core.Services; +using Artemis.Core.Services; using Artemis.Core.Services.Interfaces; using Artemis.Core.Utilities; using Artemis.UI.Events; using Artemis.UI.Screens.Splash; using Artemis.UI.Shared.Controls; using Artemis.UI.Shared.Services.Interfaces; -using MaterialDesignExtensions.Controls; using Ninject; using Stylet; namespace Artemis.UI.Screens { - public class TrayViewModel : PropertyChangedBase, IViewAware + public class TrayViewModel : Screen { private readonly IEventAggregator _eventAggregator; - private readonly ICoreService _coreService; private readonly IKernel _kernel; private readonly IWindowManager _windowManager; private bool _setGradientPickerService; private SplashViewModel _splashViewModel; private bool _canShowRootViewModel; - private UIElement _view; public TrayViewModel(IKernel kernel, IWindowManager windowManager, IEventAggregator eventAggregator, ICoreService coreService, ISettingsService settingsService) { _kernel = kernel; _windowManager = windowManager; _eventAggregator = eventAggregator; - _coreService = coreService; CanShowRootViewModel = true; var autoRunning = Bootstrapper.StartupArguments.Contains("--autorun"); @@ -96,15 +89,5 @@ namespace Artemis.UI.Screens { CanShowRootViewModel = true; } - - public void AttachView(UIElement view) - { - View = view; - - var handle = new WindowInteropHelper((Window) view).EnsureHandle(); - _coreService.SetMainWindowHandle(handle); - } - - public UIElement View { get; set; } } } \ No newline at end of file