Skip to content
This repository has been archived by the owner on Sep 6, 2021. It is now read-only.

Commit

Permalink
Merge pull request #3018 from WebsiteDeveloper/PreferencesIDCleanup
Browse files Browse the repository at this point in the history
Preferences id cleanup
  • Loading branch information
redmunds committed Mar 11, 2013
2 parents 8bbe82d + 360546d commit fe28cf4
Show file tree
Hide file tree
Showing 10 changed files with 83 additions and 27 deletions.
7 changes: 5 additions & 2 deletions src/LiveDevelopment/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ define(function main(require, exports, module) {
UrlParams = require("utils/UrlParams").UrlParams,
Strings = require("strings");

var PREFERENCES_KEY = "com.adobe.brackets.live-development";
var PREFERENCES_CLIENT_ID = PreferencesManager.getClientId(module.id);
var prefs;
var params = new UrlParams();
var config = {
Expand Down Expand Up @@ -220,7 +220,10 @@ define(function main(require, exports, module) {
});

// init prefs
prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_KEY, {highlight: true});
prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID, {highlight: true});
//TODO: Remove preferences migration code
PreferencesManager.handleClientIdChange(prefs, "com.adobe.brackets.live-development", {highlight: true});

config.highlight = prefs.getValue("highlight");

// init commands
Expand Down
5 changes: 4 additions & 1 deletion src/brackets.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ define(function (require, exports, module) {

// Local variables
var params = new UrlParams(),
PREFERENCES_CLIENT_ID = "com.adobe.brackets.startup";
PREFERENCES_CLIENT_ID = PreferencesManager.getClientId(module.id);

// read URL params
params.parse();
Expand Down Expand Up @@ -203,6 +203,9 @@ define(function (require, exports, module) {
// an old version that might not have set the "afterFirstLaunch" pref.)
var prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID),
deferred = new $.Deferred();
//TODO: Remove preferences migration code
PreferencesManager.handleClientIdChange(prefs, "com.adobe.brackets.startup");

if (!params.get("skipSampleProjectLoad") && !prefs.getValue("afterFirstLaunch")) {
prefs.setValue("afterFirstLaunch", "true");
if (ProjectManager.isWelcomeProjectPath(initialProjectPath)) {
Expand Down
4 changes: 3 additions & 1 deletion src/document/DocumentManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ define(function (require, exports, module) {
/**
* Unique PreferencesManager clientID
*/
var PREFERENCES_CLIENT_ID = "com.adobe.brackets.DocumentManager";
var PREFERENCES_CLIENT_ID = PreferencesManager.getClientId(module.id);

/**
* @private
Expand Down Expand Up @@ -1244,6 +1244,8 @@ define(function (require, exports, module) {

// Setup preferences
_prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID);
//TODO: Remove preferences migration code
PreferencesManager.handleClientIdChange(_prefs, "com.adobe.brackets.DocumentManager");

// Performance measurements
PerfUtils.createPerfMeasurement("DOCUMENT_MANAGER_GET_DOCUMENT_FOR_PATH", "DocumentManager.getDocumentForPath()");
Expand Down
8 changes: 5 additions & 3 deletions src/editor/Editor.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,11 +72,13 @@ define(function (require, exports, module) {
TokenUtils = require("utils/TokenUtils"),
ViewUtils = require("utils/ViewUtils");

var PREFERENCES_CLIENT_ID = "com.adobe.brackets.Editor",
var PREFERENCES_CLIENT_ID = PreferencesManager.getClientId(module.id),
defaultPrefs = { useTabChar: false, tabSize: 4, indentUnit: 4, closeBrackets: false };

/** Editor preferences */
var _prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID, defaultPrefs);
var _prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID);
//TODO: Remove preferences migration code
PreferencesManager.handleClientIdChange(_prefs, "com.adobe.brackets.Editor", defaultPrefs);

/** @type {boolean} Global setting: When inserting new text, use tab characters? (instead of spaces) */
var _useTabChar = _prefs.getValue("useTabChar");
Expand Down
15 changes: 8 additions & 7 deletions src/extensions/default/RecentProjects/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@
define(function (require, exports, module) {
"use strict";

var PREFERENCES_KEY = "com.adobe.brackets.brackets-recent-projects";

// Brackets modules
var ProjectManager = brackets.getModule("project/ProjectManager"),
PreferencesDialogs = brackets.getModule("preferences/PreferencesDialogs"),
Expand All @@ -44,18 +42,23 @@ define(function (require, exports, module) {
FileUtils = brackets.getModule("file/FileUtils"),
NativeFileSystem = brackets.getModule("file/NativeFileSystem").NativeFileSystem;

var PREFERENCES_CLIENT_ID = PreferencesManager.getClientId(module.id);

var $dropdownToggle,
$dropdown,
$settings;

var prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID);
//TODO: Remove preferences migration code
PreferencesManager.handleClientIdChange(prefs, "com.adobe.brackets.brackets-recent-projects");

var MAX_PROJECTS = 20;

/**
* Get the stored list of recent projects, canonicalizing and updating paths as appropriate.
*/
function getRecentProjects() {
var prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_KEY),
recentProjects = prefs.getValue("recentProjects") || [],
var recentProjects = prefs.getValue("recentProjects") || [],
i;
for (i = 0; i < recentProjects.length; i++) {
recentProjects[i] = FileUtils.canonicalizeFolderPath(ProjectManager.updateWelcomeProjectPath(recentProjects[i]));
Expand All @@ -68,7 +71,6 @@ define(function (require, exports, module) {
*/
function add() {
var root = FileUtils.canonicalizeFolderPath(ProjectManager.getProjectRoot().fullPath),
prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_KEY),
recentProjects = getRecentProjects(),
index = recentProjects.indexOf(root);
if (index !== -1) {
Expand Down Expand Up @@ -108,8 +110,7 @@ define(function (require, exports, module) {
e.stopPropagation();

// Remove the project from the preferences.
var prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_KEY),
recentProjects = getRecentProjects(),
var recentProjects = getRecentProjects(),
index = recentProjects.indexOf($(this).data("path")),
newProjects = [],
i;
Expand Down
6 changes: 4 additions & 2 deletions src/language/JSLintUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ define(function (require, exports, module) {
AppInit = require("utils/AppInit"),
StatusBar = require("widgets/StatusBar");

var PREFERENCES_CLIENT_ID = module.id,
var PREFERENCES_CLIENT_ID = PreferencesManager.getClientId(module.id),
defaultPrefs = { enabled: !!brackets.config.enable_jslint };

/**
Expand Down Expand Up @@ -265,7 +265,9 @@ define(function (require, exports, module) {
CommandManager.register(Strings.CMD_JSLINT_FIRST_ERROR, Commands.NAVIGATE_GOTO_JSLINT_ERROR, _handleGotoJSLintError);

// Init PreferenceStorage
_prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID, defaultPrefs);
_prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID);
//TODO: Remove preferences migration code
PreferencesManager.handleClientIdChange(_prefs, module.id, defaultPrefs);

// Initialize items dependent on HTML DOM
AppInit.htmlReady(function () {
Expand Down
44 changes: 41 additions & 3 deletions src/preferences/PreferencesManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ define(function (require, exports, module) {

var PreferenceStorage = require("preferences/PreferenceStorage").PreferenceStorage;

var PREFERENCES_KEY = "com.adobe.brackets.preferences";
var PREFERENCES_CLIENT_ID = "com.adobe.brackets.preferences";

// Private Properties
var preferencesKey,
Expand Down Expand Up @@ -109,14 +109,50 @@ define(function (require, exports, module) {
_reset();
}
}

/**
* This method handles the copy of all old prefs to the new prefs
* TODO: remove All calls to this function and the function itself
*
* @param {!PreferenceStorage} newPrefs The new PreferenceStorage
* @param {!string} oldID The id of the old PreferenceStorage
* @param {?obj} defaults The defaults to add
*/
function handleClientIdChange(newPrefs, oldID, defaults) {
var oldPrefs = getPreferenceStorage(oldID);

defaults = defaults || {};

if (!newPrefs.getValue("newClientID")) {
var data = oldPrefs.getAllValues();

if ($.isEmptyObject(data)) {
data = defaults;
}

newPrefs.setAllValues(data, false);
newPrefs.setValue("newClientID", true);
}
delete prefStorage[oldID];
}

/**
* This method returns a standardized ClientId for a given moduleId
*
* @param {!string} moduleId a given moduleId
* @return {string} the ClientId
*/
function getClientId(moduleId) {
return "com.adobe.brackets." + moduleId;
}

// Check localStorage for a preferencesKey. Production and unit test keys
// are used to keep preferences separate within the same storage implementation.
preferencesKey = localStorage.getItem("preferencesKey");

if (!preferencesKey) {
// use default key if none is found
preferencesKey = PREFERENCES_KEY;
preferencesKey = PREFERENCES_CLIENT_ID;
doLoadPreferences = true;
} else {
// using a non-default key, check for additional settings
Expand All @@ -129,6 +165,8 @@ define(function (require, exports, module) {
// Public API
exports.getPreferenceStorage = getPreferenceStorage;
exports.savePreferences = savePreferences;
exports.handleClientIdChange = handleClientIdChange;
exports.getClientId = getClientId;

// Unit test use only
exports._reset = _reset;
Expand Down
8 changes: 5 additions & 3 deletions src/project/ProjectManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ define(function (require, exports, module) {
/**
* Unique PreferencesManager clientID
*/
var PREFERENCES_CLIENT_ID = "com.adobe.brackets.ProjectManager";
var PREFERENCES_CLIENT_ID = PreferencesManager.getClientId(module.id);

/**
* @private
Expand Down Expand Up @@ -1348,8 +1348,10 @@ define(function (require, exports, module) {
var defaults = {
projectPath: _getWelcomeProjectPath() /* initialize to welcome project */
};
_prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID, defaults);

_prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID);
//TODO: Remove preferences migration code
PreferencesManager.handleClientIdChange(_prefs, "com.adobe.brackets.ProjectManager", defaults);

if (!_prefs.getValue("welcomeProjectsFixed")) {
// One-time cleanup of duplicates in the welcome projects list--there used to be a bug where
// we would add lots of duplicate entries here.
Expand Down
7 changes: 4 additions & 3 deletions src/project/WorkingSetSort.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ define(function (require, exports, module) {
AppInit = require("utils/AppInit"),
Strings = require("strings");

var PREFERENCES_CLIENT_ID = "com.adobe.brackets.WorkingSetSort",
var PREFERENCES_CLIENT_ID = PreferencesManager.getClientId(module.id),
defaultPrefs = {
currentSort: Commands.SORT_WORKINGSET_BY_ADDED,
automaticSort: false
Expand Down Expand Up @@ -349,8 +349,9 @@ define(function (require, exports, module) {


// Initialize PreferenceStorage
_prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID, defaultPrefs);

_prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID);
//TODO: Remove preferences migration code
PreferencesManager.handleClientIdChange(_prefs, "com.adobe.brackets.WorkingSetSort", defaultPrefs);

// Initialize items dependent on extensions/workingSet
AppInit.appReady(function () {
Expand Down
6 changes: 4 additions & 2 deletions src/utils/Resizer.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ define(function (require, exports, module) {
PreferencesManager = require("preferences/PreferencesManager"),
EditorManager = require("editor/EditorManager");

var PREFERENCES_CLIENT_ID = module.id,
var PREFERENCES_CLIENT_ID = PreferencesManager.getClientId(module.id),
defaultPrefs = { };

/**
Expand Down Expand Up @@ -389,7 +389,9 @@ define(function (require, exports, module) {
}

// Init PreferenceStorage
_prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID, defaultPrefs);
_prefs = PreferencesManager.getPreferenceStorage(PREFERENCES_CLIENT_ID);
//TODO: Remove preferences migration code
PreferencesManager.handleClientIdChange(_prefs, module.id, defaultPrefs);

// Scan DOM for horz-resizable and vert-resizable classes and make them resizable
AppInit.htmlReady(function () {
Expand Down

0 comments on commit fe28cf4

Please sign in to comment.