summaryrefslogtreecommitdiff
path: root/common/content
diff options
context:
space:
mode:
authorKris Maglione <maglione.k@gmail.com>2010-09-28 10:39:40 -0400
committerKris Maglione <maglione.k@gmail.com>2010-09-28 10:39:40 -0400
commit017258955b70a3e72f19c34482c94cd3624d0990 (patch)
tree4dd7a59f4ec437d8a1e21842cd940fede0f709c0 /common/content
parentd6aa3d5ef0c066a26d3f3d65ff3bbe4dda57bbd6 (diff)
downloadpentadactyl-017258955b70a3e72f19c34482c94cd3624d0990.tar.gz
Add bookmarks, diverted, links to 'activate'.
Diffstat (limited to 'common/content')
-rw-r--r--common/content/options.js6
-rw-r--r--common/content/tabs.js35
2 files changed, 28 insertions, 13 deletions
diff --git a/common/content/options.js b/common/content/options.js
index b6d62cd3..619a9cb0 100644
--- a/common/content/options.js
+++ b/common/content/options.js
@@ -847,8 +847,10 @@ const Options = Module("options", {
return this._loadPreference(name, forcedDefault);
},
- _checkPrefSafe: function (name, message) {
+ _checkPrefSafe: function (name, message, value) {
let curval = this._loadPreference(name, null, false);
+ if (arguments.length > 2 && curval === value)
+ return;
let defval = this._loadPreference(name, null, true);
let saved = this._loadPreference(Options.SAVED + name);
@@ -881,7 +883,7 @@ const Options = Module("options", {
* @param {value} value The new preference value.
*/
safeSetPref: function (name, value, message) {
- this._checkPrefSafe(name, message);
+ this._checkPrefSafe(name, message, value);
this._storePreference(name, value);
this._storePreference(Options.SAVED + name, value);
},
diff --git a/common/content/tabs.js b/common/content/tabs.js
index 86d31641..98cd0335 100644
--- a/common/content/tabs.js
+++ b/common/content/tabs.js
@@ -1014,20 +1014,33 @@ const Tabs = Module("tabs", {
});
if (config.hasTabbrowser) {
+ let activateGroups = [
+ ["addons", ":addo[ns] command"],
+ ["bookmarks", "Tabs loaded from bookmarks", "loadBookmarksInBackground"],
+ ["diverted", "Links with targets set to new tabs", "loadDivertedInBackground"],
+ ["downloads", ":downl[oads] command"],
+ ["extoptions", ":exto[ptions] command"],
+ ["help", ":h[elp] command"],
+ ["homepage", "gH mapping"],
+ ["links", "Middle- or Control-clicked links", "loadInBackground"],
+ ["quickmark", "go and gn mappings"],
+ ["tabopen", ":tabopen[!] command"],
+ ["paste", "P and gP mappings"]
+ ];
options.add(["activate", "act"],
"Define when tabs are automatically activated",
- "stringlist", "addons,downloads,extoptions,help,homepage,quickmark,tabopen,paste",
+ "stringlist", [g[0] for (g in values(activateGroups)) if (!g[2] || !options.getPref("browser.tabs." + g[2]))].join(","),
{
- completer: function (context) [
- ["addons", ":addo[ns] command"],
- ["downloads", ":downl[oads] command"],
- ["extoptions", ":exto[ptions] command"],
- ["help", ":h[elp] command"],
- ["homepage", "gH mapping"],
- ["quickmark", "go and gn mappings"],
- ["tabopen", ":tabopen[!] command"],
- ["paste", "P and gP mappings"]
- ]
+ completer: function (context) activateGroups,
+ setter: function (newValues) {
+ let valueSet = set(newValues);
+ for (let group in values(activateGroups))
+ if (group[2])
+ options.safeSetPref("browser.tabs." + group[2],
+ !(valueSet["all"] || valueSet[group[0]]),
+ "See the 'activate' option");
+ return newValues;
+ }
});
options.add(["newtab"],