Skip to content
This repository was archived by the owner on Sep 6, 2021. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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