コード例 #1
0
ファイル: P4Options.cs プロジェクト: marwahaha/VS2P4
        /// <summary>
        /// Load all options and return the loaded instance of this class.
        /// </summary>
        public static P4Options Load(ProvideSavedSettings settingsProvider)
        {
            P4Options p4Options = new P4Options(settingsProvider);

            p4Options.LoadPersisted(settingsProvider);
            return(p4Options);
        }
コード例 #2
0
ファイル: P4Options.cs プロジェクト: marwahaha/VS2P4
 public P4Options(ProvideSavedSettings settingsProvider)
 {
     Server      = settingsProvider.PerforceServer;
     User        = settingsProvider.PerforceUser;
     UseP4Config = settingsProvider.UseP4Config.Value;
     Workspace   = settingsProvider.PerforceWorkspace;
 }
コード例 #3
0
ファイル: P4Options.cs プロジェクト: marwahaha/VS2P4
 /// <summary>
 /// Save all options. (Persist between sessions.)
 /// </summary>
 public void Save(ProvideSavedSettings settingsProvider)
 {
     if (settingsProvider == null)
     {
         throw new InvalidOperationException("P4Options.Save called without a settings provider.");
     }
     Save(OptionName.SettingIds.UseP4Config, UseP4Config.ToString(), settingsProvider);
     Save(OptionName.SettingIds.Server, Server, settingsProvider);
     Save(OptionName.SettingIds.User, User, settingsProvider);
     Save(OptionName.SettingIds.Password, Password, settingsProvider);
     Save(OptionName.SettingIds.Workspace, Workspace, settingsProvider);
     Save(OptionName.SettingIds.LogLevel, LogLevel.ToString(), settingsProvider);
     Save(OptionName.SettingIds.IsCheckoutEnabled, IsCheckoutEnabled.ToString(), settingsProvider);
     Save(OptionName.SettingIds.IsAddEnabled, IsAddEnabled.ToString(), settingsProvider);
     Save(OptionName.SettingIds.IsRevertIfUnchangedEnabled, IsRevertIfUnchangedEnabled.ToString(), settingsProvider);
     Save(OptionName.SettingIds.IsRevertEnabled, IsRevertEnabled.ToString(), settingsProvider);
     Save(OptionName.SettingIds.PromptBeforeRevert, PromptBeforeRevert.ToString(), settingsProvider);
     Save(OptionName.SettingIds.IsGetLatestRevisionEnabled, IsGetLatestRevisionEnabled.ToString(), settingsProvider);
     Save(OptionName.SettingIds.IsViewRevisionHistoryEnabled, IsViewRevisionHistoryEnabled.ToString(), settingsProvider);
     Save(OptionName.SettingIds.IsViewDiffEnabled, IsViewDiffEnabled.ToString(), settingsProvider);
     Save(OptionName.SettingIds.IsViewTimeLapseEnabled, IsViewTimeLapseEnabled.ToString(), settingsProvider);
     Save(OptionName.SettingIds.AutoCheckoutOnEdit, AutoCheckoutOnEdit.ToString(), settingsProvider);
     Save(OptionName.SettingIds.AutoCheckoutOnSave, AutoCheckoutOnSave.ToString(), settingsProvider);
     Save(OptionName.SettingIds.AutoAdd, AutoAdd.ToString(), settingsProvider);
     Save(OptionName.SettingIds.AutoDelete, AutoDelete.ToString(), settingsProvider);
     Save(OptionName.SettingIds.IgnoreFilesNotUnderP4Root2, IgnoreFilesNotUnderP4Root.ToString(), settingsProvider);
     Save(OptionName.SettingIds.Version180OrAfter, "true", settingsProvider);
 }
コード例 #4
0
ファイル: P4Options.cs プロジェクト: marwahaha/VS2P4
 /// <summary>
 /// Save all options. (Persist between sessions.)
 /// </summary>
 public void Save(ProvideSavedSettings settingsProvider)
 {
     if (settingsProvider == null)
     {
         throw new InvalidOperationException("P4Options.Save called without a settings provider.");
     }
     Save("UseP4Config", UseP4Config.ToString(), settingsProvider);
     Save("Server", Server, settingsProvider);
     Save("User", User, settingsProvider);
     Save("Password", Password, settingsProvider);
     Save("Workspace", Workspace, settingsProvider);
     Save("LogLevel", LogLevel.ToString(), settingsProvider);
     Save("IsCheckoutEnabled", IsCheckoutEnabled.ToString(), settingsProvider);
     Save("IsAddEnabled", IsAddEnabled.ToString(), settingsProvider);
     Save("IsRevertIfUnchangedEnabled", IsRevertIfUnchangedEnabled.ToString(), settingsProvider);
     Save("IsRevertEnabled", IsRevertEnabled.ToString(), settingsProvider);
     Save("PromptBeforeRevert", PromptBeforeRevert.ToString(), settingsProvider);
     Save("IsGetLatestRevisionEnabled", IsGetLatestRevisionEnabled.ToString(), settingsProvider);
     Save("IsViewRevisionHistoryEnabled", IsViewRevisionHistoryEnabled.ToString(), settingsProvider);
     Save("IsViewDiffEnabled", IsViewDiffEnabled.ToString(), settingsProvider);
     Save("IsViewTimeLapseEnabled", IsViewTimeLapseEnabled.ToString(), settingsProvider);
     Save("AutoCheckoutOnEdit", AutoCheckoutOnEdit.ToString(), settingsProvider);
     Save("AutoCheckoutOnSave", AutoCheckoutOnSave.ToString(), settingsProvider);
     Save("AutoAdd", AutoAdd.ToString(), settingsProvider);
     Save("AutoDelete", AutoDelete.ToString(), settingsProvider);
 }
コード例 #5
0
ファイル: P4Options.cs プロジェクト: marwahaha/VS2P4
        private void LoadPersisted(ProvideSavedSettings settingsProvider)
        {
            Password = settingsProvider.GetVariableExists("Password") ? (string)settingsProvider["Password"] : defaultPassword;

            if (settingsProvider.GetVariableExists("LogLevel"))
            {
                string level = (string)settingsProvider["LogLevel"];
                try
                {
                    LogLevel = (Log.Level)Enum.Parse(typeof(Log.Level), level);
                }
                catch (Exception)
                {
                    LogLevel = defaultLogLevel;
                }
            }
            else
            {
                LogLevel = defaultLogLevel;
            }

            IsCheckoutEnabled            = LoadBoolean("IsCheckoutEnabled", settingsProvider, defaultCommandsEnabled);
            IsAddEnabled                 = LoadBoolean("IsAddEnabled", settingsProvider, defaultCommandsEnabled);
            IsRevertIfUnchangedEnabled   = LoadBoolean("IsRevertIfUnchangedEnabled", settingsProvider, defaultCommandsEnabled);
            IsRevertEnabled              = LoadBoolean("IsRevertEnabled", settingsProvider, defaultCommandsEnabled);
            PromptBeforeRevert           = LoadBoolean("PromptBeforeRevert", settingsProvider, defaultCommandsEnabled);
            IsGetLatestRevisionEnabled   = LoadBoolean("IsGetLatestRevisionEnabled", settingsProvider, defaultCommandsEnabled);
            IsViewRevisionHistoryEnabled = LoadBoolean("IsViewRevisionHistoryEnabled", settingsProvider, defaultCommandsEnabled);
            IsViewDiffEnabled            = LoadBoolean("IsViewDiffEnabled", settingsProvider, defaultCommandsEnabled);
            IsViewTimeLapseEnabled       = LoadBoolean("IsViewTimeLapseEnabled", settingsProvider, defaultCommandsEnabled);
            AutoCheckoutOnEdit           = LoadBoolean("AutoCheckoutOnEdit", settingsProvider, defaultCommandsEnabled);
            AutoCheckoutOnSave           = LoadBoolean("AutoCheckoutOnSave", settingsProvider, defaultCommandsEnabled);
            AutoAdd    = LoadBoolean("AutoAdd", settingsProvider, defaultCommandsEnabled);
            AutoDelete = LoadBoolean("AutoDelete", settingsProvider, defaultCommandsEnabled);
        }
コード例 #6
0
        /// <summary>
        /// Load all options and return the loaded instance of this class.
        /// </summary>
        public static P4Options Load(ProvideSavedSettings settingsProvider, IServiceProvider serviceProvider)
        {
            var p4Options = new P4Options(settingsProvider, serviceProvider);

            p4Options.LoadPersisted(settingsProvider);
            return(p4Options);
        }
コード例 #7
0
        public P4Options(ProvideSavedSettings settingsProvider, IServiceProvider serviceProvider)
        {
            Server      = settingsProvider.PerforceServer;
            User        = settingsProvider.PerforceUser;
            UseP4Config = settingsProvider.UseP4Config == null ? true : settingsProvider.UseP4Config.Value;
            Workspace   = settingsProvider.PerforceWorkspace;

            _settingsManager = new ShellSettingsManager(serviceProvider);
        }
コード例 #8
0
ファイル: P4Options.cs プロジェクト: marwahaha/VS2P4
        private static bool LoadBoolean(string name, ProvideSavedSettings settingsProvider, bool defaultValue)
        {
            if (settingsProvider.GetVariableExists(name))
            {
                bool isEnabled;
                bool.TryParse((string)settingsProvider[name], out isEnabled);
                return(isEnabled);
            }

            return(defaultValue);
        }
コード例 #9
0
ファイル: P4Options.cs プロジェクト: marwahaha/VS2P4
 private static void Save(string variableName, string variableValue, ProvideSavedSettings settingsProvider)
 {
     if (settingsProvider.GetVariableExists(variableName))
     {
         settingsProvider[variableName] = variableValue;
     }
     else
     {
         settingsProvider[variableName] = variableValue;
         settingsProvider.SetVariablePersists(variableName, true);
     }
 }
コード例 #10
0
ファイル: P4Options.cs プロジェクト: marwahaha/VS2P4
        private static void Save(OptionName.SettingIds name, string variableValue, ProvideSavedSettings settingsProvider)
        {
            var variableName = OptionName.OptionNameForSave(name);

            if (settingsProvider.GetVariableExists(variableName))
            {
                settingsProvider[name] = variableValue;
            }
            else
            {
                settingsProvider[name] = variableValue;
                settingsProvider.SetVariablePersists(variableName, true);
            }
        }
コード例 #11
0
ファイル: P4Options.cs プロジェクト: marwahaha/VS2P4
        private static bool LoadBoolean(OptionName.SettingIds name, ProvideSavedSettings settingsProvider, bool defaultValue)
        {
            var variableName = OptionName.OptionNameForLoad(name);

            if (settingsProvider.GetVariableExists(variableName))
            {
                bool isEnabled;
                var  variableValue = (string)settingsProvider[name];
                bool.TryParse(variableValue, out isEnabled);
                return(isEnabled);
            }

            return(defaultValue);
        }
コード例 #12
0
        /// <summary>
        /// Load persisted options except the connection options, which are loaded in the ctor
        /// </summary>
        /// <param name="settingsProvider"></param>
        private void LoadPersisted(ProvideSavedSettings settingsProvider)
        {
            var passwordId = OptionName.OptionNameForLoad(OptionName.SettingIds.Password);

            Password = settingsProvider.GetVariableExists(passwordId) ? (string)settingsProvider[OptionName.SettingIds.Password] : defaultPassword;
            var logLevelId = OptionName.OptionNameForLoad(OptionName.SettingIds.LogLevel);

            if (settingsProvider.GetVariableExists(logLevelId))
            {
                string level = (string)settingsProvider[OptionName.SettingIds.LogLevel];
                try
                {
                    LogLevel = (Log.Level)Enum.Parse(typeof(Log.Level), level);
                }
                catch (Exception)
                {
                    LogLevel = defaultLogLevel;
                }
            }
            else
            {
                LogLevel = defaultLogLevel;
            }

            var store = _settingsManager.GetReadOnlySettingsStore(SettingsScope.UserSettings);

            IsCheckoutEnabled            = LoadBoolean(OptionName.SettingIds.IsCheckoutEnabled, store, defaultCommandsEnabled);
            IsAddEnabled                 = LoadBoolean(OptionName.SettingIds.IsAddEnabled, store, defaultCommandsEnabled);
            IsRevertIfUnchangedEnabled   = LoadBoolean(OptionName.SettingIds.IsRevertIfUnchangedEnabled, store, defaultCommandsEnabled);
            IsRevertEnabled              = LoadBoolean(OptionName.SettingIds.IsRevertEnabled, store, defaultCommandsEnabled);
            PromptBeforeRevert           = LoadBoolean(OptionName.SettingIds.PromptBeforeRevert, store, defaultCommandsEnabled);
            IsGetLatestRevisionEnabled   = LoadBoolean(OptionName.SettingIds.IsGetLatestRevisionEnabled, store, defaultCommandsEnabled);
            IsViewRevisionHistoryEnabled = LoadBoolean(OptionName.SettingIds.IsViewRevisionHistoryEnabled, store, defaultCommandsEnabled);
            IsViewDiffEnabled            = LoadBoolean(OptionName.SettingIds.IsViewDiffEnabled, store, defaultCommandsEnabled);
            IsViewTimeLapseEnabled       = LoadBoolean(OptionName.SettingIds.IsViewTimeLapseEnabled, store, defaultCommandsEnabled);
            AutoCheckoutOnEdit           = LoadBoolean(OptionName.SettingIds.AutoCheckoutOnEdit, store, defaultCommandsEnabled);
            AutoCheckoutOnSave           = LoadBoolean(OptionName.SettingIds.AutoCheckoutOnSave, store, defaultCommandsEnabled);
            AutoAdd    = LoadBoolean(OptionName.SettingIds.AutoAdd, store, defaultCommandsEnabled);
            AutoDelete = LoadBoolean(OptionName.SettingIds.AutoDelete, store, defaultCommandsEnabled);
            IgnoreFilesNotUnderP4Root  = LoadBoolean(OptionName.SettingIds.IgnoreFilesNotUnderP4Root2, store, false);
            OptionName.IsFirstLoadDone = true;

            if (!settingsProvider.GetVariableExists(OptionName.OptionNameForSave(OptionName.SettingIds.Version180OrAfter)))
            {
                // This is the first time we've loaded starting with Release 1.80. So copy the old settings to the new ones.
                Save(settingsProvider);
            }
        }