diff options
author | Karsten Heimrich <karsten.heimrich@qt.io> | 2016-11-14 15:22:34 +0100 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@qt.io> | 2016-11-22 13:45:49 +0000 |
commit | 21b7147764ca249a335108753a7824bfac2f4feb (patch) | |
tree | 0a3bf59f3d303a8f399e5bd4d5f14780d7db96d5 | |
parent | fef343643282de0500c71fcaa6c649842070c948 (diff) |
Use the ShellSettingsManager for registry reading/writing
Change-Id: I0108194afd445bbefb4b433a39e9e92a1634a718
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
-rw-r--r-- | src/qtprojectlib/Statics.cs | 10 | ||||
-rw-r--r-- | src/qtvstools/AddQtVersionDialog.cs | 36 | ||||
-rw-r--r-- | src/qtvstools/Classifier.cs | 4 | ||||
-rw-r--r-- | src/qtvstools/QtHelpMenu.cs | 14 | ||||
-rw-r--r-- | src/qtvstools/VSQtSettings.cs | 8 |
5 files changed, 33 insertions, 39 deletions
diff --git a/src/qtprojectlib/Statics.cs b/src/qtprojectlib/Statics.cs index 05fd83eb..7b38f9b2 100644 --- a/src/qtprojectlib/Statics.cs +++ b/src/qtprojectlib/Statics.cs @@ -30,7 +30,13 @@ namespace QtProjectLib { public static class Statics { - public const string QtVsToolsQmlClassifierKey = @"Enabled"; - public const string QtVsToolsQmlClassifierPath = @"QtVsTools\Qml\Classifier"; + public const string QmlClassifierKey = @"Enable"; + public const string QmlClassifierPath = @"QtVsTools\Qml\Classifier"; + + public const string HelpPreferenceKey = @"Offline"; + public const string HelpPreferencePath = @"QtVsTools\Help\Preference"; + + public const string AddQtVersionDialogKey = @"LastSelectedPath"; + public const string AddQtVersionDialogPath = @"QtVsTools\AddQtVersionDialog"; } } diff --git a/src/qtvstools/AddQtVersionDialog.cs b/src/qtvstools/AddQtVersionDialog.cs index 0b0c9d58..1b0207f0 100644 --- a/src/qtvstools/AddQtVersionDialog.cs +++ b/src/qtvstools/AddQtVersionDialog.cs @@ -26,7 +26,8 @@ ** ****************************************************************************/ -using Microsoft.Win32; +using Microsoft.VisualStudio.Settings; +using Microsoft.VisualStudio.Shell.Settings; using QtProjectLib; using System; using System.IO; @@ -258,34 +259,19 @@ namespace QtVsTools private void browseButton_Click(object sender, EventArgs e) { using (var fd = new FolderBrowserDialog()) { + var settingsManager = new ShellSettingsManager(Vsix.Instance); + var store = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings); + fd.Description = SR.GetString("SelectQtPath"); - fd.SelectedPath = RestoreLastSelectedPath(); + fd.SelectedPath = store.GetString(Statics.AddQtVersionDialogPath, + Statics.AddQtVersionDialogKey, string.Empty); + if (fd.ShowDialog() == DialogResult.OK) { - pathBox.Text = fd.SelectedPath; - SaveLastSelectedPath(fd.SelectedPath); + store.CreateCollection(Statics.AddQtVersionDialogPath); + store.SetString(Statics.AddQtVersionDialogPath, Statics.AddQtVersionDialogKey, + (pathBox.Text = fd.SelectedPath)); } } } - - private static string RestoreLastSelectedPath() - { - try { - var key = Registry.CurrentUser.OpenSubKey("SOFTWARE\\" - + Resources.registryPackagePath, false); - if (key != null) - return (string) key.GetValue("QtVersionLastSelectedPath"); - } catch { - } - - return string.Empty; - } - - private static void SaveLastSelectedPath(string path) - { - var key = Registry.CurrentUser.CreateSubKey("SOFTWARE\\" - + Resources.registryPackagePath); - if (key != null) - key.SetValue("QtVersionLastSelectedPath", path); - } } } diff --git a/src/qtvstools/Classifier.cs b/src/qtvstools/Classifier.cs index b83dd674..4e276539 100644 --- a/src/qtvstools/Classifier.cs +++ b/src/qtvstools/Classifier.cs @@ -69,8 +69,8 @@ namespace QtVsTools var settingsManager = new ShellSettingsManager(isp); var store = settingsManager.GetReadOnlySettingsStore(SettingsScope.UserSettings); - QmlClassifierEnabled = store.GetBoolean(Statics.QtVsToolsQmlClassifierPath, - Statics.QtVsToolsQmlClassifierKey, true); + QmlClassifierEnabled = store.GetBoolean(Statics.QmlClassifierPath, + Statics.QmlClassifierKey, true); whiteSpaceChars = new[] { ' ', '\t' }; separators = new List<char> diff --git a/src/qtvstools/QtHelpMenu.cs b/src/qtvstools/QtHelpMenu.cs index 8e125c85..fc545884 100644 --- a/src/qtvstools/QtHelpMenu.cs +++ b/src/qtvstools/QtHelpMenu.cs @@ -61,7 +61,6 @@ namespace QtVsTools const int OfflineDocumentationId = 0x0103; readonly Package package; - const string QtVsToolsHelpPreferencePath = @"QtVsTools\Help\Preference"; static readonly Guid HelpMenuGroupGuid = new Guid("fc6244f9-ec84-4370-a59c-b009b2eafd1b"); QtHelpMenu(Package pkg) @@ -202,7 +201,8 @@ namespace QtVsTools var settingsManager = new ShellSettingsManager(Instance.ServiceProvider); var store = settingsManager.GetReadOnlySettingsStore(SettingsScope.UserSettings); - var offline = store.GetBoolean(QtVsToolsHelpPreferencePath, "Offline", true); + var offline = + store.GetBoolean(Statics.HelpPreferencePath, Statics.HelpPreferenceKey, true); var linksForKeyword = string.Format("SELECT d.Title, f.Name, e.Name, " + "d.Name, a.Anchor FROM IndexTable a, FileNameTable d, FolderTable e, " @@ -296,10 +296,10 @@ namespace QtVsTools var settingsManager = new ShellSettingsManager(ServiceProvider); var store = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings); - store.CreateCollection(QtVsToolsHelpPreferencePath); + store.CreateCollection(Statics.HelpPreferencePath); var value = command.CommandID.ID == OfflineDocumentationId; - store.SetBoolean(QtVsToolsHelpPreferencePath, "Offline", value); + store.SetBoolean(Statics.HelpPreferencePath, Statics.HelpPreferenceKey, value); } void BeforeQueryStatus(object sender, EventArgs e) @@ -313,10 +313,12 @@ namespace QtVsTools switch (command.CommandID.ID) { case OnlineDocumentationId: - command.Checked = !store.GetBoolean(QtVsToolsHelpPreferencePath, "Offline", true); + command.Checked = !store.GetBoolean(Statics.HelpPreferencePath, + Statics.HelpPreferenceKey, false); break; case OfflineDocumentationId: - command.Checked = store.GetBoolean(QtVsToolsHelpPreferencePath, "Offline", true); + command.Checked = store.GetBoolean(Statics.HelpPreferencePath, + Statics.HelpPreferenceKey, true); break; } } diff --git a/src/qtvstools/VSQtSettings.cs b/src/qtvstools/VSQtSettings.cs index b8c9e3f5..16646fa3 100644 --- a/src/qtvstools/VSQtSettings.cs +++ b/src/qtvstools/VSQtSettings.cs @@ -52,8 +52,8 @@ namespace QtVsTools var settingsManager = new ShellSettingsManager(Vsix.Instance); var store = settingsManager.GetReadOnlySettingsStore(SettingsScope.UserSettings); - EnableQmlClassifier = store.GetBoolean(Statics.QtVsToolsQmlClassifierPath, - Statics.QtVsToolsQmlClassifierKey, true); + EnableQmlClassifier = store.GetBoolean(Statics.QmlClassifierPath, + Statics.QmlClassifierKey, true); } private string newMocDir; @@ -82,8 +82,8 @@ namespace QtVsTools var settingsManager = new ShellSettingsManager(Vsix.Instance); var store = settingsManager.GetWritableSettingsStore(SettingsScope.UserSettings); - store.CreateCollection(Statics.QtVsToolsQmlClassifierPath); - store.SetBoolean(Statics.QtVsToolsQmlClassifierPath, Statics.QtVsToolsQmlClassifierKey, + store.CreateCollection(Statics.QmlClassifierPath); + store.SetBoolean(Statics.QmlClassifierPath, Statics.QmlClassifierKey, EnableQmlClassifier); } |