User settings
Inheritance: CrossDomainObject, INotifyPropertyChanged
 /// <summary>
 /// Initializes a new <see cref="Settings"/> based on another
 /// </summary>
 /// <param name="source">Source <see cref="Settings"/></param>
 public Settings(Settings source)
 {
     this.LanguageFile = source.LanguageFile;
     this.AppTheme = source.AppTheme;
     this.ThemeAccent = source.ThemeAccent;
     this.CheckForUpdates = source.CheckForUpdates;
 }
 public ProtectedSettings(Settings settings)
 {
     this.Language = settings.LanguageFile;
     this.AppTheme = settings.AppTheme;
     this.ThemeAccent = settings.ThemeAccent;
     this.CheckForUpdates = settings.CheckForUpdates;
     this.Profiles = new List<ProtectedProfile>();
 }
 private void ResetAll()
 {
     settingsContainer = new Settings(EnvironmentManager.Settings);
     proxySettings = new ProxySetting(App.Kernel.Get<ProxyManager>().Settings);
     ProxySettings.DataContext = proxySettings;
     ComboBoxLanguage.SelectedIndex = CurrentLangIndex;
     BaseColorsList.SelectedItem = CurrentAppTheme;
     AccentColorsList.SelectedItem = CurrentAccent;
     UpdateCheck.DataContext = settingsContainer;
 }
        private void InitializeSafeSettings(ProtectedSettings settings)
        {
            _Settings = new Settings();
            _Settings.AppTheme = settings.AppTheme;
            _Settings.LanguageFile = settings.Language;
            _Settings.ThemeAccent = settings.ThemeAccent;
            _Settings.CheckForUpdates = settings.CheckForUpdates;

            _Settings.Profiles = new List<Profile>();
            LoginManager loginManager = App.Kernel.Get<LoginManager>();
            if (settings.Profiles != null) {
                foreach (ProtectedProfile protectedProfile in settings.Profiles) {
                    Profile safeProfile = new Profile();
                    safeProfile.Id = protectedProfile.Id;
                    safeProfile.Name = protectedProfile.Name;
                    safeProfile.ImagePath = protectedProfile.ImagePath;
                    safeProfile.KBLCServiceEnabled = protectedProfile.KBLCServiceEnabled;
                    safeProfile.UpdateEngineEnabled = protectedProfile.UpdateEngineEnabled;
                    safeProfile.LaunchMode = protectedProfile.LaunchMode;
                    safeProfile.GameModel = new GameModel(protectedProfile.GameModel);
                    safeProfile.News = new NewsData(protectedProfile.News);
                    safeProfile.Rotation = new RotationData(protectedProfile.Rotation);
                    _Settings.Profiles.Add(safeProfile);
                    if (safeProfile.Id == settings.DefaultProfile) {
                        _Settings.DefaultProfile = safeProfile;
                    }
                    loginManager.UpdateCredentials(safeProfile, new LoginData(protectedProfile.Login));
                }
            }
        }