From c172ec4c6aad1f3c3fc84208bf46d072a399a1d2 Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Sat, 12 Nov 2016 00:00:38 +0100 Subject: [PATCH] Finished CM support Reimplemented task bar icon --- Artemis/Artemis/Artemis.csproj | 4 +- .../CoolerMaster/MasterkeysProL.cs | 67 +++--- .../CoolerMaster/Utilities/CMSDK.cs | 43 +++- .../Logitech/LogitechKeyboard.cs | 1 + .../Logitech/Utilities/OrionUtilities.cs | 10 +- .../Razer/Utilities/RazerUtilities.cs | 18 +- .../Artemis/InjectionModules/BaseModules.cs | 1 - Artemis/Artemis/Managers/DeviceManager.cs | 2 +- Artemis/Artemis/Managers/LoopManager.cs | 11 +- .../Artemis/Properties/Resources.Designer.cs | 10 + Artemis/Artemis/Properties/Resources.resx | 3 + .../Resources/Keyboards/masterkeys-pro-l.png | Bin 0 -> 144985 bytes .../Artemis/Services/MetroDialogService.cs | 4 +- Artemis/Artemis/Utilities/ImageUtilities.cs | 3 + Artemis/Artemis/Utilities/Updater.cs | 2 +- Artemis/Artemis/ViewModels/ShellViewModel.cs | 194 ++++++++++++++--- .../Artemis/ViewModels/SystemTrayViewModel.cs | 200 ------------------ 17 files changed, 281 insertions(+), 292 deletions(-) create mode 100644 Artemis/Artemis/Resources/Keyboards/masterkeys-pro-l.png delete mode 100644 Artemis/Artemis/ViewModels/SystemTrayViewModel.cs diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj index ae8690d13..198390572 100644 --- a/Artemis/Artemis/Artemis.csproj +++ b/Artemis/Artemis/Artemis.csproj @@ -318,7 +318,7 @@ - + @@ -611,7 +611,6 @@ - DebugView.xaml @@ -687,6 +686,7 @@ Code + diff --git a/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs index a5cd4bb66..dc9873fdf 100644 --- a/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs +++ b/Artemis/Artemis/DeviceProviders/CoolerMaster/MasterkeysProL.cs @@ -1,9 +1,10 @@ using System.Drawing; -using System.Drawing.Imaging; -using System.Runtime.InteropServices; +using System.Linq; +using System.Threading; using System.Windows; using System.Windows.Forms; using Artemis.DeviceProviders.CoolerMaster.Utilities; +using Artemis.DeviceProviders.Logitech.Utilities; using Artemis.Properties; using Artemis.Utilities; @@ -11,6 +12,8 @@ namespace Artemis.DeviceProviders.CoolerMaster { public class MasterkeysProL : KeyboardProvider { + private bool _hasControl; + public MasterkeysProL() { Name = "CM Masterkeys Pro L"; @@ -22,76 +25,62 @@ namespace Artemis.DeviceProviders.CoolerMaster Height = 6; Width = 22; - // TODO - PreviewSettings = new PreviewSettings(665, 175, new Thickness(0, -15, 0, 0), Resources.blackwidow); + + PreviewSettings = new PreviewSettings(670, 189, new Thickness(-2, -5, 0, 0), Resources.masterkeys_pro_l); } public override void Disable() { - CmSdk.EnableLedControl(false); + if (_hasControl) + { + CmSdk.EnableLedControl(false); + Thread.Sleep(500); + } + _hasControl = false; } public override bool CanEnable() { - return true; + CmSdk.SetControlDevice(DEVICE_INDEX.DEV_MKeys_L); + + // Doesn't seem reliable but better than nothing I suppose + return CmSdk.IsDevicePlug(); } public override void Enable() { CmSdk.SetControlDevice(DEVICE_INDEX.DEV_MKeys_L); + + _hasControl = true; CmSdk.EnableLedControl(true); } public override void DrawBitmap(Bitmap bitmap) { + // Resize the bitmap using (var b = ImageUtilities.ResizeImage(bitmap, Width, Height)) { + // Create an empty matrix var matrix = new COLOR_MATRIX {KeyColor = new KEY_COLOR[Height, Width]}; + + // Map the bytes to the matix for (var x = 0; x < Width; x++) { for (var y = 0; y < Height; y++) { - var color = b.GetPixel(x, y); - matrix.KeyColor[y, x] = new KEY_COLOR(color.R, color.G, color.B); + var c = b.GetPixel(x, y); + matrix.KeyColor[y, x] = new KEY_COLOR(c.R, c.G, c.B); } } + + // Send the matrix to the keyboard CmSdk.SetAllLedColor(matrix); } } public override KeyMatch? GetKeyPosition(Keys keyCode) { - return null; - } - - private static byte[,,] BitmapToBytes(Bitmap bitmap) - { - BitmapData bitmapData = - bitmap.LockBits(new Rectangle(new System.Drawing.Point(), bitmap.Size), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb); - byte[] bitmapBytes; - var stride = bitmapData.Stride; - try - { - int byteCount = bitmapData.Stride * bitmap.Height; - bitmapBytes = new byte[byteCount]; - Marshal.Copy(bitmapData.Scan0, bitmapBytes, 0, byteCount); - } - finally - { - bitmap.UnlockBits(bitmapData); - } - byte[,,] result = new byte[3, bitmap.Width, bitmap.Height]; - for (int k = 0; k < 3; k++) - { - for (int i = 0; i < bitmap.Width; i++) - { - for (int j = 0; j < bitmap.Height; j++) - { - result[k, i, j] = bitmapBytes[j * stride + i * 3 + k]; - } - } - } - return result; + return KeyMap.QwertyLayout.FirstOrDefault(k => k.KeyCode == keyCode); } } } \ No newline at end of file diff --git a/Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs b/Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs index a8621a27f..4283e412f 100644 --- a/Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs +++ b/Artemis/Artemis/DeviceProviders/CoolerMaster/Utilities/CMSDK.cs @@ -2,7 +2,6 @@ namespace Artemis.DeviceProviders.CoolerMaster.Utilities { - public struct KEY_COLOR { public byte r; @@ -17,12 +16,9 @@ namespace Artemis.DeviceProviders.CoolerMaster.Utilities } } - // set up/save the whole LED color structure - public struct COLOR_MATRIX { - [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 132)] - public KEY_COLOR[,] KeyColor; + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 132)] public KEY_COLOR[,] KeyColor; } //Enumeration of device list @@ -45,15 +41,52 @@ namespace Artemis.DeviceProviders.CoolerMaster.Utilities public static class CmSdk { + /// + /// Sets the control device which all following actions are targetted to + /// + /// [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] public static extern void SetControlDevice(DEVICE_INDEX devIndex); + /// + /// Obtain current device layout + /// + /// + [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] + public static extern LAYOUT_KEYBOARD GetDeviceLayout(); + + /// + /// Verify if the currently conrolled device is plugged in + /// + /// + [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] + public static extern bool IsDevicePlug(); + + /// + /// Enables led control on the currently controlled device + /// + /// + /// [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] public static extern bool EnableLedControl(bool bEnable); + /// + /// Sets the LED of the currently controlled device + /// + /// + /// + /// + /// + /// + /// [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] public static extern bool SetLedColor(int iRow, int iColumn, byte r, byte g, byte b); + /// + /// Sets all LEDS using the given color matrix + /// + /// + /// [DllImport("lib\\SDKDLL ", CallingConvention = CallingConvention.Cdecl)] public static extern bool SetAllLedColor(COLOR_MATRIX colorMatrix); } diff --git a/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs b/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs index a4f65af0b..3fb2bfd0f 100644 --- a/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs +++ b/Artemis/Artemis/DeviceProviders/Logitech/LogitechKeyboard.cs @@ -2,6 +2,7 @@ using System.Threading; using System.Windows; using Artemis.DeviceProviders.Logitech.Utilities; +using Artemis.Utilities; using Artemis.Utilities.DataReaders; using Microsoft.Win32; diff --git a/Artemis/Artemis/DeviceProviders/Logitech/Utilities/OrionUtilities.cs b/Artemis/Artemis/DeviceProviders/Logitech/Utilities/OrionUtilities.cs index f39d7a27e..736794cca 100644 --- a/Artemis/Artemis/DeviceProviders/Logitech/Utilities/OrionUtilities.cs +++ b/Artemis/Artemis/DeviceProviders/Logitech/Utilities/OrionUtilities.cs @@ -153,7 +153,7 @@ namespace Artemis.DeviceProviders.Logitech.Utilities { if (b.Width > 21 || b.Height > 6) b = ResizeImage(b, 21, 6); - + var rect = new Rectangle(0, 0, b.Width, b.Height); var bitmapData = b.LockBits(rect, ImageLockMode.ReadWrite, b.PixelFormat); @@ -202,10 +202,16 @@ namespace Artemis.DeviceProviders.Logitech.Utilities { graphics.CompositingMode = CompositingMode.SourceCopy; graphics.CompositingQuality = CompositingQuality.HighQuality; - graphics.InterpolationMode = InterpolationMode.NearestNeighbor; + graphics.SmoothingMode = SmoothingMode.AntiAlias; graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; + // TODO: Make configurable + // Prevents light bleed + graphics.InterpolationMode = InterpolationMode.NearestNeighbor; + // Soft/semi-transparent keys + //graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; + using (var wrapMode = new ImageAttributes()) { wrapMode.SetWrapMode(WrapMode.TileFlipXY); diff --git a/Artemis/Artemis/DeviceProviders/Razer/Utilities/RazerUtilities.cs b/Artemis/Artemis/DeviceProviders/Razer/Utilities/RazerUtilities.cs index 2ec0ebd43..44c7ae96a 100644 --- a/Artemis/Artemis/DeviceProviders/Razer/Utilities/RazerUtilities.cs +++ b/Artemis/Artemis/DeviceProviders/Razer/Utilities/RazerUtilities.cs @@ -10,19 +10,21 @@ namespace Artemis.DeviceProviders.Razer.Utilities public static Custom BitmapColorArray(Bitmap b, int height, int width) { var keyboardGrid = Custom.Create(); - if (b.Width > width || b.Height > height) - b = ImageUtilities.ResizeImage(b, width, height); - - for (var y = 0; y < b.Height; y++) + // Resize the bitmap + using (b = ImageUtilities.ResizeImage(b, width, height)) { + // Map the bytes to the grid for (var x = 0; x < b.Width; x++) { - var pixel = b.GetPixel(x, y); - keyboardGrid[y, x] = new Color(pixel.R, pixel.G, pixel.B); + for (var y = 0; y < b.Height; y++) + { + var c = b.GetPixel(x, y); + keyboardGrid[y, x] = new Color(c.R, c.G, c.B); + } } - } - return keyboardGrid; + return keyboardGrid; + } } } } \ No newline at end of file diff --git a/Artemis/Artemis/InjectionModules/BaseModules.cs b/Artemis/Artemis/InjectionModules/BaseModules.cs index cbe1f7980..cdd51407f 100644 --- a/Artemis/Artemis/InjectionModules/BaseModules.cs +++ b/Artemis/Artemis/InjectionModules/BaseModules.cs @@ -15,7 +15,6 @@ namespace Artemis.InjectionModules { // ViewModels Bind().ToSelf().InSingletonScope(); - Bind().ToSelf().InSingletonScope(); Bind().ToSelf(); Bind().ToSelf(); Bind().ToSelf().InSingletonScope(); diff --git a/Artemis/Artemis/Managers/DeviceManager.cs b/Artemis/Artemis/Managers/DeviceManager.cs index 362f5cc11..bc79efdb1 100644 --- a/Artemis/Artemis/Managers/DeviceManager.cs +++ b/Artemis/Artemis/Managers/DeviceManager.cs @@ -73,7 +73,7 @@ namespace Artemis.Managers public async void EnableKeyboard(KeyboardProvider keyboardProvider) { if (keyboardProvider == null) - throw new ArgumentNullException(nameof(keyboardProvider)); + return; if (ChangingKeyboard || (ActiveKeyboard?.Name == keyboardProvider.Name)) return; diff --git a/Artemis/Artemis/Managers/LoopManager.cs b/Artemis/Artemis/Managers/LoopManager.cs index df5c7b701..631017882 100644 --- a/Artemis/Artemis/Managers/LoopManager.cs +++ b/Artemis/Artemis/Managers/LoopManager.cs @@ -177,6 +177,9 @@ namespace Artemis.Managers { public RenderFrame(KeyboardProvider keyboard) { + if (keyboard == null) + return; + KeyboardBitmap = keyboard.KeyboardBitmap(4); KeyboardBitmap.SetResolution(96, 96); @@ -222,10 +225,10 @@ namespace Artemis.Managers public void Dispose() { - KeyboardBitmap.Dispose(); - MouseBitmap.Dispose(); - HeadsetBitmap.Dispose(); - GenericBitmap.Dispose(); + KeyboardBitmap?.Dispose(); + MouseBitmap?.Dispose(); + HeadsetBitmap?.Dispose(); + GenericBitmap?.Dispose(); } } } \ No newline at end of file diff --git a/Artemis/Artemis/Properties/Resources.Designer.cs b/Artemis/Artemis/Properties/Resources.Designer.cs index 207ddd094..318b52e6b 100644 --- a/Artemis/Artemis/Properties/Resources.Designer.cs +++ b/Artemis/Artemis/Properties/Resources.Designer.cs @@ -328,6 +328,16 @@ namespace Artemis.Properties { } } + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap masterkeys_pro_l { + get { + object obj = ResourceManager.GetObject("masterkeys_pro_l", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// diff --git a/Artemis/Artemis/Properties/Resources.resx b/Artemis/Artemis/Properties/Resources.resx index 44eae2ca5..b2b934454 100644 --- a/Artemis/Artemis/Properties/Resources.resx +++ b/Artemis/Artemis/Properties/Resources.resx @@ -214,4 +214,7 @@ ..\Resources\ambilight.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Keyboards\masterkeys-pro-l.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/Artemis/Artemis/Resources/Keyboards/masterkeys-pro-l.png b/Artemis/Artemis/Resources/Keyboards/masterkeys-pro-l.png new file mode 100644 index 0000000000000000000000000000000000000000..4658fe7bde104aa7365e82c36b836193930f4ee7 GIT binary patch literal 144985 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 { - window = Application.Current.Windows.OfType().FirstOrDefault(w => w.IsActive) ?? - Application.Current.Windows.OfType().FirstOrDefault(); + window = Application.Current.Windows.OfType() + .FirstOrDefault(w => w.IsActive && w.IsVisible); }); return window; diff --git a/Artemis/Artemis/Utilities/ImageUtilities.cs b/Artemis/Artemis/Utilities/ImageUtilities.cs index 3326e3253..2984b1a6c 100644 --- a/Artemis/Artemis/Utilities/ImageUtilities.cs +++ b/Artemis/Artemis/Utilities/ImageUtilities.cs @@ -1,9 +1,12 @@ using System.Drawing; using System.Drawing.Imaging; using System.IO; +using System.Runtime.InteropServices; using System.Windows; using System.Windows.Media; using System.Windows.Media.Imaging; +using PixelFormat = System.Drawing.Imaging.PixelFormat; +using Point = System.Drawing.Point; namespace Artemis.Utilities { diff --git a/Artemis/Artemis/Utilities/Updater.cs b/Artemis/Artemis/Utilities/Updater.cs index 31555b81d..0c856cfd9 100644 --- a/Artemis/Artemis/Utilities/Updater.cs +++ b/Artemis/Artemis/Utilities/Updater.cs @@ -56,7 +56,7 @@ namespace Artemis.Utilities /// /// The dialog service to use for progress and result dialogs /// - public static async Task CheckChangelog(MetroDialogService dialogService) + public static async void CheckChangelog(MetroDialogService dialogService) { var settings = SettingsProvider.Load(); var currentVersion = Assembly.GetExecutingAssembly().GetName().Version; diff --git a/Artemis/Artemis/ViewModels/ShellViewModel.cs b/Artemis/Artemis/ViewModels/ShellViewModel.cs index fd56ee14c..de8d7c5de 100644 --- a/Artemis/Artemis/ViewModels/ShellViewModel.cs +++ b/Artemis/Artemis/ViewModels/ShellViewModel.cs @@ -1,11 +1,18 @@ using System; using System.Linq; +using System.Threading; +using System.Threading.Tasks; using System.Windows; +using Artemis.DAL; +using Artemis.Events; using Artemis.Managers; using Artemis.Services; +using Artemis.Settings; +using Artemis.Utilities; using Artemis.ViewModels.Abstract; using Artemis.ViewModels.Flyouts; using Caliburn.Micro; +using Hardcodet.Wpf.TaskbarNotification; using MahApps.Metro.Controls; using Ninject; @@ -14,52 +21,130 @@ namespace Artemis.ViewModels public sealed class ShellViewModel : Conductor.Collection.OneActive { private readonly IKernel _kernel; + private string _activeIcon; + private bool _checked; + private bool _enabled; + private string _toggleText; + private bool _exiting; public ShellViewModel(IKernel kernel, MainManager mainManager, MetroDialogService metroDialogService, FlyoutSettingsViewModel flyoutSettings) { _kernel = kernel; + MainManager = mainManager; + MetroDialogService = metroDialogService; - // Setup UI DisplayName = "Artemis"; - + GeneralSettings = SettingsProvider.Load(); Flyouts = new BindableCollection { flyoutSettings }; + MainManager.OnEnabledChangedEvent += (sender, args) => Enabled = args.Enabled; - MainManager = mainManager; - MetroDialogService = metroDialogService; - MainManager.EnableProgram(); + // This gets updated automatically but during startup lets quickly preset it + Enabled = GeneralSettings.Suspended; } - public SystemTrayViewModel SystemTrayViewModel { get; set; } + protected override void OnViewReady(object view) + { + base.OnViewReady(view); + + Task.Run(() => StartupHide()); + } + + private void StartupHide() + { + // TODO: This is probably an awful idea. I can't reliably hook into the view being ready to be hidden + Thread.Sleep(500); + + if (GeneralSettings.ShowOnStartup) + ShowWindow(); + else + HideWindow(); + + if (!GeneralSettings.Suspended) + MainManager.EnableProgram(); + } + + public Mutex Mutex { get; set; } public MainManager MainManager { get; set; } public MetroDialogService MetroDialogService { get; set; } public IObservableCollection Flyouts { get; set; } - + public GeneralSettings GeneralSettings { get; set; } private MetroWindow Window => (MetroWindow) GetView(); + public bool CanShowWindow => Window != null && (Window != null || !Window.IsVisible); + public bool CanHideWindow => Window != null && Window.IsVisible; + + public bool Enabled + { + get { return _enabled; } + set + { + if (value == _enabled) return; + _enabled = value; + + ToggleText = _enabled ? "Disable Artemis" : "Enable Artemis"; + ActiveIcon = _enabled ? "../Resources/logo.ico" : "../Resources/logo-disabled.ico"; + NotifyOfPropertyChange(() => Enabled); + } + } + + public string ActiveIcon + { + get { return _activeIcon; } + set + { + _activeIcon = value; + NotifyOfPropertyChange(); + } + } + + public string ToggleText + { + get { return _toggleText; } + set + { + if (value == _toggleText) return; + _toggleText = value; + NotifyOfPropertyChange(() => ToggleText); + } + } + public override void CanClose(Action callback) { - if (Window.IsVisible) + if (CanHideWindow) HideWindow(); - else + else if (!_exiting) ShowWindow(); - // ShellView is a strong and independent view who won't let herself get closed by the likes of anyone! - callback(false); + // Only close if ExitApplication was called + callback(_exiting); } - public bool CanShowWindow => !Window.IsVisible; - public bool CanHideWindow => Window.IsVisible; - public void ShowWindow() { - if (!Window.IsVisible) - Window.Show(); + if (CanShowWindow) + Window?.Dispatcher.Invoke(() => + { + Window.Show(); + Window.Activate(); + }); + + GeneralSettings.ApplyTheme(); + + // Show certain dialogs if needed + CheckKeyboardState(); + CheckDuplicateInstances(); + Updater.CheckChangelog(MetroDialogService); + + var vms = _kernel.GetAll().ToList(); + Items.Clear(); + Items.AddRange(vms); + ActivateItem(vms.FirstOrDefault()); NotifyOfPropertyChange(() => CanShowWindow); NotifyOfPropertyChange(() => CanHideWindow); @@ -67,26 +152,44 @@ namespace Artemis.ViewModels public void HideWindow() { - if (Window.IsVisible) - Window.Hide(); + if (CanHideWindow) + Window?.Dispatcher.Invoke(() => { Window.Hide(); }); + Items.Clear(); NotifyOfPropertyChange(() => CanShowWindow); NotifyOfPropertyChange(() => CanHideWindow); + + // Force a GC since the UI releases a lot of resources + GC.Collect(); } - protected override void OnActivate() + public void ToggleEnabled() { - base.OnActivate(); - Items.Clear(); - - var vms = _kernel.GetAll(); - Items.AddRange(vms); + if (Enabled) + MainManager.DisableProgram(); + else + MainManager.EnableProgram(); } - protected override void OnDeactivate(bool close) + public void ExitApplication() { - base.OnDeactivate(close); - Items.Clear(); + MainManager.Dispose(); + + try + { + var icon = (TaskbarIcon) Window.FindResource("SystemTrayIcon"); + icon.Dispose(); + } + catch (Exception) + { + //ignored + } + + _exiting = true; + + // TODO: CoolerMaster SDK is freezing Artemis on shutdown, dunno what to do about it yet + System.Diagnostics.Process.GetCurrentProcess().Kill(); + // Application.Current.Shutdown(); } public void Settings() @@ -98,5 +201,42 @@ namespace Artemis.ViewModels { Flyouts.First().IsOpen = false; } + + private async void CheckKeyboardState() + { + var dialog = await MetroDialogService.ShowProgressDialog("Enabling keyboard", + "Artemis is still busy trying to enable your last used keyboard. " + + "Please wait while the process completes"); + dialog.SetIndeterminate(); + + while (MainManager.DeviceManager.ChangingKeyboard) + await Task.Delay(10); + + try + { + await dialog.CloseAsync(); + } + catch (InvalidOperationException) + { + // Occurs when window is closed again, can't find a proper check for this + } + } + + private void CheckDuplicateInstances() + { + if (_checked) + return; + _checked = true; + + bool aIsNewInstance; + Mutex = new Mutex(true, "ArtemisMutex", out aIsNewInstance); + if (aIsNewInstance) + return; + + MetroDialogService.ShowMessageBox("Multiple instances found", + "It looks like there are multiple running instances of Artemis. " + + "This can cause issues, especially with CS:GO and Dota2. " + + "If so, please make sure Artemis isn't already running"); + } } } \ No newline at end of file diff --git a/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs b/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs deleted file mode 100644 index b5adfcf72..000000000 --- a/Artemis/Artemis/ViewModels/SystemTrayViewModel.cs +++ /dev/null @@ -1,200 +0,0 @@ -using System; -using System.Threading; -using System.Threading.Tasks; -using System.Windows; -using Artemis.DAL; -using Artemis.Events; -using Artemis.Managers; -using Artemis.Services; -using Artemis.Settings; -using Artemis.Utilities; -using Caliburn.Micro; - -namespace Artemis.ViewModels -{ - public class SystemTrayViewModel : Screen - { - private readonly WindowService _windowService; - private ShellViewModel _shellViewModel; - private string _activeIcon; - private bool _checked; - private bool _enabled; - private string _toggleText; - - public SystemTrayViewModel(WindowService windowService, MetroDialogService dialogService, MainManager mainManager) - { - _windowService = windowService; - - DialogService = dialogService; - MainManager = mainManager; - - MainManager.EnableProgram(); - MainManager.OnEnabledChangedEvent += MainManagerOnOnEnabledChangedEvent; - - var generalSettings = SettingsProvider.Load(); - Enabled = !generalSettings.Suspended; - if (generalSettings.ShowOnStartup) - ShowWindow(); - } - - public MetroDialogService DialogService { get; set; } - - public MainManager MainManager { get; set; } - - public bool CanShowWindow - { - get - { - if (_shellViewModel == null) - return true; - return !_shellViewModel.IsActive; - } - } - - public bool CanHideWindow => (_shellViewModel?.IsActive == true) && !MainManager.DeviceManager.ChangingKeyboard; - public bool CanToggleEnabled => !MainManager.DeviceManager.ChangingKeyboard; - - public bool Enabled - { - get { return _enabled; } - set - { - if (value == _enabled) return; - _enabled = value; - - ToggleText = _enabled ? "Disable Artemis" : "Enable Artemis"; - ActiveIcon = _enabled ? "../Resources/logo.ico" : "../Resources/logo-disabled.ico"; - NotifyOfPropertyChange(() => Enabled); - } - } - - public string ActiveIcon - { - get { return _activeIcon; } - set - { - _activeIcon = value; - NotifyOfPropertyChange(); - } - } - - public string ToggleText - { - get { return _toggleText; } - set - { - if (value == _toggleText) return; - _toggleText = value; - NotifyOfPropertyChange(() => ToggleText); - } - } - - public Mutex Mutex { get; set; } - - private void MainManagerOnOnEnabledChangedEvent(object sender, EnabledChangedEventArgs e) - { - Enabled = e.Enabled; - } - - public void ToggleEnabled() - { - if (Enabled) - MainManager.DisableProgram(); - else - MainManager.EnableProgram(); - } - - protected override void OnActivate() - { - base.OnActivate(); - - NotifyOfPropertyChange(() => CanShowWindow); - NotifyOfPropertyChange(() => CanHideWindow); - } - - public void ShowWindow() - { - if (!CanShowWindow) - return; - - // manually show the next window view-model - _shellViewModel = _windowService.ShowWindow(); - - NotifyOfPropertyChange(() => CanShowWindow); - NotifyOfPropertyChange(() => CanHideWindow); - - SettingsProvider.Load().ApplyTheme(); - - // Show certain dialogs if needed - CheckKeyboardState(); - CheckDuplicateInstances(); - Updater.CheckChangelog(DialogService); - } - - private void CheckDuplicateInstances() - { - if (_checked) - return; - _checked = true; - - bool aIsNewInstance; - Mutex = new Mutex(true, "ArtemisMutex", out aIsNewInstance); - if (aIsNewInstance) - return; - - DialogService.ShowMessageBox("Multiple instances found", - "It looks like there are multiple running instances of Artemis. " + - "This can cause issues, especially with CS:GO and Dota2. " + - "If so, please make sure Artemis isn't already running"); - } - - private async void CheckKeyboardState() - { - while (!_shellViewModel.IsActive) - await Task.Delay(200); - - NotifyOfPropertyChange(() => CanHideWindow); - NotifyOfPropertyChange(() => CanToggleEnabled); - - var dialog = await DialogService.ShowProgressDialog("Enabling keyboard", - "Artemis is still busy trying to enable your last used keyboard. " + - "Please wait while the process completes"); - dialog.SetIndeterminate(); - - while (MainManager.DeviceManager.ChangingKeyboard) - await Task.Delay(10); - - NotifyOfPropertyChange(() => CanHideWindow); - NotifyOfPropertyChange(() => CanToggleEnabled); - - try - { - await dialog.CloseAsync(); - } - catch (InvalidOperationException) - { - // Occurs when window is closed again, can't find a proper check for this - } - } - - public void HideWindow() - { - if (!CanHideWindow) - return; - - _shellViewModel.TryClose(); - - NotifyOfPropertyChange(() => CanShowWindow); - NotifyOfPropertyChange(() => CanHideWindow); - - // Force a GC since the UI releases a lot of resources - GC.Collect(); - } - - public void ExitApplication() - { - MainManager.Dispose(); - Application.Current.Shutdown(); - } - } -} \ No newline at end of file