1
0
mirror of https://github.com/gryf/pentadactyl-pm.git synced 2026-01-06 14:24:18 +01:00

Closes issue #825.

This commit is contained in:
Kris Maglione
2012-04-04 12:54:42 -04:00
parent a4d1ca806a
commit 2685ece08f
2 changed files with 9 additions and 10 deletions

View File

@@ -83,14 +83,14 @@ var actions = {
name: "exte[nable]", name: "exte[nable]",
description: "Enable an extension", description: "Enable an extension",
action: function (addon) { addon.userDisabled = false; }, action: function (addon) { addon.userDisabled = false; },
filter: function ({ item }) item.userDisabled, filter: function (addon) addon.userDisabled,
perm: "enable" perm: "enable"
}, },
disable: { disable: {
name: "extd[isable]", name: "extd[isable]",
description: "Disable an extension", description: "Disable an extension",
action: function (addon) { addon.userDisabled = true; }, action: function (addon) { addon.userDisabled = true; },
filter: function ({ item }) !item.userDisabled, filter: function (addon) !addon.userDisabled,
perm: "disable" perm: "disable"
}, },
options: { options: {
@@ -103,7 +103,7 @@ var actions = {
else else
this.dactyl.open(addon.optionsURL, { from: "extoptions" }); this.dactyl.open(addon.optionsURL, { from: "extoptions" });
}, },
filter: function ({ item }) item.isActive && item.optionsURL filter: function (addon) addon.isActive && addon.optionsURL
}, },
rehash: { rehash: {
name: "extr[ehash]", name: "extr[ehash]",
@@ -117,8 +117,8 @@ var actions = {
}); });
}, },
get filter() { get filter() {
return function ({ item }) !item.userDisabled && return function (addon) !addon.userDisabled &&
!(item.operationsRequiringRestart & (AddonManager.OP_NEEDS_RESTART_ENABLE | AddonManager.OP_NEEDS_RESTART_DISABLE)) !(addon.operationsRequiringRestart & (AddonManager.OP_NEEDS_RESTART_ENABLE | AddonManager.OP_NEEDS_RESTART_DISABLE))
}, },
perm: "disable" perm: "disable"
}, },
@@ -412,7 +412,7 @@ var Addons = Module("addons", {
// TODO: handle extension dependencies // TODO: handle extension dependencies
values(actions).forEach(function (command) { values(actions).forEach(function (command) {
let perm = command.perm && AddonManager["PERM_CAN_" + command.perm.toUpperCase()]; let perm = command.perm && AddonManager["PERM_CAN_" + command.perm.toUpperCase()];
function ok(addon) !perm || addon.permissions & perm; function ok(addon) (!perm || addon.permissions & perm) && (!command.filter || command.filter(addon));
commands.add(Array.concat(command.name), commands.add(Array.concat(command.name),
command.description, command.description,
@@ -430,6 +430,7 @@ var Addons = Module("addons", {
dactyl.assert(list.some(ok), _("error.invalidOperation")); dactyl.assert(list.some(ok), _("error.invalidOperation"));
list = list.filter(ok); list = list.filter(ok);
} }
dactyl.assert(list.every(ok));
if (command.actions) if (command.actions)
command.actions(list, this.modules); command.actions(list, this.modules);
else else
@@ -441,8 +442,6 @@ var Addons = Module("addons", {
completer: function (context, args) { completer: function (context, args) {
completion.addon(context, args["-types"]); completion.addon(context, args["-types"]);
context.filters.push(function ({ item }) ok(item)); context.filters.push(function ({ item }) ok(item));
if (command.filter)
context.filters.push(command.filter);
}, },
literal: 0, literal: 0,
options: [ options: [

View File

@@ -2280,12 +2280,12 @@ var Buffer = Module("Buffer", {
options.add(["nextpattern"], options.add(["nextpattern"],
"Patterns to use when guessing the next page in a document sequence", "Patterns to use when guessing the next page in a document sequence",
"regexplist", UTF8(/'\bnext\b',^>$,^(>>|»)$,^(>|»),(>|»)$,'\bmore\b'/.source), "regexplist", UTF8(/'^Next [>»]','^Next »','\bnext\b',^>$,^(>>|»)$,^(>|»),(>|»)$,'\bmore\b'/.source),
{ regexpFlags: "i" }); { regexpFlags: "i" });
options.add(["previouspattern"], options.add(["previouspattern"],
"Patterns to use when guessing the previous page in a document sequence", "Patterns to use when guessing the previous page in a document sequence",
"regexplist", UTF8(/'\bprev|previous\b',^<$,^(<<|«)$,^(<|«),(<|«)$/.source), "regexplist", UTF8(/'[<«] Prev$','« Prev$','\bprev(ious)\b',^<$,^(<<|«)$,^(<|«),(<|«)$/.source),
{ regexpFlags: "i" }); { regexpFlags: "i" });
options.add(["pageinfo", "pa"], options.add(["pageinfo", "pa"],