From 0e1c7d9e3b3496ce1f5fa19c15a4526ad1f30e3c Mon Sep 17 00:00:00 2001 From: SpoinkyNL Date: Mon, 6 Feb 2017 15:24:42 +0100 Subject: [PATCH] Add window titles to window service Add window title to layer edit window Clean up flyout settings VM --- Artemis/Artemis/Models/ProfileEditorModel.cs | 2 +- Artemis/Artemis/Services/WindowService.cs | 19 +++++++++------ .../Flyouts/FlyoutSettingsViewModel.cs | 23 +++++++------------ 3 files changed, 21 insertions(+), 23 deletions(-) diff --git a/Artemis/Artemis/Models/ProfileEditorModel.cs b/Artemis/Artemis/Models/ProfileEditorModel.cs index 050530bae..cb9af3a15 100644 --- a/Artemis/Artemis/Models/ProfileEditorModel.cs +++ b/Artemis/Artemis/Models/ProfileEditorModel.cs @@ -50,7 +50,7 @@ namespace Artemis.Models new ConstructorArgument("dataModel", dataModel), new ConstructorArgument("layer", layer) }; - _windowService.ShowDialog(args); + _windowService.ShowDialog("Artemis | Edit layer", args); // If the layer was a folder, but isn't anymore, assign it's children to it's parent. if (layer.LayerType is FolderType || !layer.Children.Any()) diff --git a/Artemis/Artemis/Services/WindowService.cs b/Artemis/Artemis/Services/WindowService.cs index f9041df73..4b419a1f7 100644 --- a/Artemis/Artemis/Services/WindowService.cs +++ b/Artemis/Artemis/Services/WindowService.cs @@ -1,4 +1,5 @@ -using Caliburn.Micro; +using System.Dynamic; +using Caliburn.Micro; using Ninject; using Ninject.Parameters; @@ -13,21 +14,25 @@ namespace Artemis.Services _kernel = kernel; } - public T ShowWindow(params IParameter[] param) where T : class + public T ShowWindow(string windowName, params IParameter[] param) where T : class { var windowManager = new WindowManager(); - var viewModel = _kernel.Get(param); - - windowManager.ShowWindow(viewModel); + var viewModel = _kernel.Get(param); + + dynamic settings = new ExpandoObject(); + settings.Title = windowName; + windowManager.ShowWindow(viewModel, null, settings); return viewModel; } - public T ShowDialog(params IParameter[] param) where T : class + public T ShowDialog(string dialogName, params IParameter[] param) where T : class { var windowManager = new WindowManager(); var viewModel = _kernel.Get(param); - windowManager.ShowDialog(viewModel); + dynamic settings = new ExpandoObject(); + settings.Title = dialogName; + windowManager.ShowDialog(viewModel, null, settings); return viewModel; } } diff --git a/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs b/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs index fbce0198c..a6169b985 100644 --- a/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs +++ b/Artemis/Artemis/ViewModels/Flyouts/FlyoutSettingsViewModel.cs @@ -1,35 +1,33 @@ using System; using System.ComponentModel; using System.Diagnostics; -using System.Dynamic; using System.Linq; using System.Reflection; using Artemis.DAL; using Artemis.Events; using Artemis.Managers; +using Artemis.Services; using Artemis.Settings; -using Artemis.Utilities; using Caliburn.Micro; using MahApps.Metro.Controls; using NLog; using ILogger = Ninject.Extensions.Logging.ILogger; -using Process = System.Diagnostics.Process; namespace Artemis.ViewModels.Flyouts { public sealed class FlyoutSettingsViewModel : FlyoutBaseViewModel { - private readonly DebugViewModel _debugViewModel; private readonly ILogger _logger; + private readonly WindowService _windowService; private string _activeEffectName; private bool _enableDebug; private GeneralSettings _generalSettings; private string _selectedKeyboardProvider; - public FlyoutSettingsViewModel(MainManager mainManager, ILogger logger, DebugViewModel debugViewModel) + public FlyoutSettingsViewModel(MainManager mainManager, ILogger logger, WindowService windowService) { _logger = logger; - _debugViewModel = debugViewModel; + _windowService = windowService; MainManager = mainManager; Header = "Settings"; @@ -196,7 +194,9 @@ namespace Artemis.ViewModels.Flyouts MainManager.LoopManager.StartAsync(); } else + { MainManager.DeviceManager.ReleaseActiveKeyboard(true); + } } public void ToggleEnabled() @@ -215,14 +215,7 @@ namespace Artemis.ViewModels.Flyouts public void ShowDebug() { - IWindowManager manager = new WindowManager(); - dynamic settings = new ExpandoObject(); - var icon = ImageUtilities.GenerateWindowIcon(); - - settings.Title = "Artemis | Debugger"; - settings.Icon = icon; - - manager.ShowWindow(_debugViewModel, null, settings); + _windowService.ShowWindow("Artemis | Debugger"); } public void ResetSettings() @@ -248,4 +241,4 @@ namespace Artemis.ViewModels.Flyouts : GeneralSettings.LastKeyboard; } } -} +} \ No newline at end of file