diff options
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI')
7 files changed, 40 insertions, 18 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config index 1a0e57043..1775bf7d1 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.config @@ -67,6 +67,14 @@ <assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" /> </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Xml.ReaderWriter" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.1.0.0" newVersion="4.1.0.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" /> + </dependentAssembly> </assemblyBinding> </runtime> </configuration>
\ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs index f124ebb54..568529534 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/App.xaml.cs @@ -20,6 +20,7 @@ using Tango.TFS; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.UI.ViewModels; using Tango.MachineStudio.UI.Views; +using Tango.MachineStudio.Common; namespace Tango.MachineStudio.UI { @@ -42,15 +43,17 @@ namespace Tango.MachineStudio.UI LogManager.Categories.Clear(); - if (SettingsManager.Default.MachineStudio.LoggingCategories.Count == 0) + var settings = SettingsManager.Default.GetOrCreate<MachineStudioSettings>(); + + if (settings.LoggingCategories.Count == 0) { - SettingsManager.Default.MachineStudio.LoggingCategories.Add(LogCategory.Critical); - SettingsManager.Default.MachineStudio.LoggingCategories.Add(LogCategory.Error); - SettingsManager.Default.MachineStudio.LoggingCategories.Add(LogCategory.Info); - SettingsManager.Default.MachineStudio.LoggingCategories.Add(LogCategory.Warning); + settings.LoggingCategories.Add(LogCategory.Critical); + settings.LoggingCategories.Add(LogCategory.Error); + settings.LoggingCategories.Add(LogCategory.Info); + settings.LoggingCategories.Add(LogCategory.Warning); } - LogManager.Categories.AddRange(SettingsManager.Default.MachineStudio.LoggingCategories); + LogManager.Categories.AddRange(settings.LoggingCategories); exceptionTrapper = new WpfGlobalExceptionTrapper(); exceptionTrapper.Initialize(this); diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs index 4c02be2b2..48b0fdada 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/StudioApplication/DefaultStudioApplicationManager.cs @@ -175,7 +175,7 @@ namespace Tango.MachineStudio.UI.StudioApplication try { - SettingsManager.SaveDefaultSettings(); + SettingsManager.Default.Save(); } catch (Exception ex) { diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs index 29f9102ac..5c8fb80ba 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoadingViewVM.cs @@ -107,7 +107,7 @@ namespace Tango.MachineStudio.UI.ViewModels } else { - Environment.Exit(0); + ApplicationManager.ShutDown(); } }); } diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs index fafa752c5..786951b06 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/LoginViewVM.cs @@ -8,6 +8,7 @@ using System.Text; using System.Threading.Tasks; using Tango.Core.Commands; using Tango.Core.Cryptography; +using Tango.MachineStudio.Common; using Tango.MachineStudio.Common.Authentication; using Tango.MachineStudio.Common.EventLogging; using Tango.MachineStudio.Common.Navigation; @@ -28,6 +29,7 @@ namespace Tango.MachineStudio.UI.ViewModels private INotificationProvider _notificationProvider; private IEventLogger _eventLogger; private Rfc2898Cryptographer cryptographer; + private MachineStudioSettings _settings; private String _email; /// <summary> @@ -73,6 +75,8 @@ namespace Tango.MachineStudio.UI.ViewModels /// <param name="notificationProvider">The notification provider.</param> public LoginViewVM(IAuthenticationProvider authenticationProvider, INavigationManager navigationManager, INotificationProvider notificationProvider, IEventLogger eventLogger) { + _settings = SettingsManager.Default.GetOrCreate<MachineStudioSettings>(); + _notificationProvider = notificationProvider; _navigationManager = navigationManager; _authenticationProvider = authenticationProvider; @@ -80,9 +84,9 @@ namespace Tango.MachineStudio.UI.ViewModels LoginCommand = new RelayCommand(Login); cryptographer = new Rfc2898Cryptographer(); - Email = SettingsManager.Default.MachineStudio.LastLoginEmail; - RememberMe = SettingsManager.Default.MachineStudio.RememberMe; - Password = cryptographer.Decrypt(SettingsManager.Default.MachineStudio.LastLoginPassword); + Email = _settings.LastLoginEmail; + RememberMe = _settings.RememberMe; + Password = cryptographer.Decrypt(_settings.LastLoginPassword); } /// <summary> @@ -96,11 +100,11 @@ namespace Tango.MachineStudio.UI.ViewModels { _authenticationProvider.Login(Email, Password); _navigationManager.NavigateTo(NavigationView.MainView); - SettingsManager.Default.MachineStudio.LastLoginEmail = Email; - SettingsManager.Default.MachineStudio.RememberMe = RememberMe; + _settings.LastLoginEmail = Email; + _settings.RememberMe = RememberMe; - SettingsManager.Default.MachineStudio.LastLoginPassword = RememberMe ? cryptographer.Encrypt(Password) : null; - SettingsManager.SaveDefaultSettings(); + _settings.LastLoginPassword = RememberMe ? cryptographer.Encrypt(Password) : null; + _settings.Save(); _eventLogger.Log("User logged in"); } diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineSerialViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineSerialViewVM.cs index 9f366829a..ad4cfa96d 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineSerialViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MachineSerialViewVM.cs @@ -6,6 +6,7 @@ using System.Threading.Tasks; using Tango.BL; using Tango.BL.Entities; using Tango.Core.Commands; +using Tango.MachineStudio.Common; using Tango.MachineStudio.Common.Notifications; using Tango.Settings; @@ -24,7 +25,10 @@ namespace Tango.MachineStudio.UI.ViewModels public MachineSerialViewVM() { OKCommand = new RelayCommand(Accept, () => SelectedMachine != null); - SelectedMachine = ObservablesEntitiesAdapter.Instance.Machines.SingleOrDefault(x => x.SerialNumber == SettingsManager.Default.MachineStudio.LastVirtualMachineSerialNumber); + + var settings = SettingsManager.Default.GetOrCreate<MachineStudioSettings>(); + + SelectedMachine = ObservablesEntitiesAdapter.Instance.Machines.SingleOrDefault(x => x.SerialNumber == settings.LastVirtualMachineSerialNumber); } } } diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs index 04b973f23..d3d90c0cc 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModels/MainViewVM.cs @@ -53,6 +53,7 @@ namespace Tango.MachineStudio.UI.ViewModels private Thread _updateCheckThread; private IEventLogger _eventLogger; private IHtmlPresenter _htmlPresenter; + private MachineStudioSettings _settings; /// <summary> /// Gets or sets the current loaded module. @@ -281,6 +282,8 @@ namespace Tango.MachineStudio.UI.ViewModels SpeechProvider = speechProvider; _htmlPresenter = htmlPresenter; + _settings = SettingsManager.Default.GetOrCreate<MachineStudioSettings>(); + StartModuleCommand = new RelayCommand<IStudioModule>(StartModule); HomeCommand = new RelayCommand(Home); @@ -473,8 +476,8 @@ namespace Tango.MachineStudio.UI.ViewModels PostMessage(new MachineConnectionChangedMessage() { Machine = x.SelectedMachine }); _eventLogger.Log(String.Format("Successfully connected to machine {0} via USB", x.SelectedMachine.SerialNumber)); - SettingsManager.Default.MachineStudio.LastVirtualMachineSerialNumber = vm.SelectedMachine.SerialNumber; - SettingsManager.SaveDefaultSettings(); + _settings.LastVirtualMachineSerialNumber = vm.SelectedMachine.SerialNumber; + _settings.Save(); } catch (Exception ex) { |
