diff options
author | Kris Maglione <maglione.k@gmail.com> | 2011-08-06 14:25:43 -0400 |
---|---|---|
committer | Kris Maglione <maglione.k@gmail.com> | 2011-08-06 14:25:43 -0400 |
commit | ff0c5af5dbf9f121051bb5c4947bfcc9ba455799 (patch) | |
tree | 83ac7d5fbee838e5839ad8b209ba07508d8e3a2e /common | |
parent | 48d1109f6a49e1f9a969e9efb1024e2a74c19721 (diff) | |
download | pentadactyl-ff0c5af5dbf9f121051bb5c4947bfcc9ba455799.tar.gz |
Don't derive Text Edit mode from Operator mode. Allow escaping from Operator mode.
Diffstat (limited to 'common')
-rw-r--r-- | common/content/buffer.js | 6 | ||||
-rw-r--r-- | common/content/editor.js | 8 | ||||
-rw-r--r-- | common/content/modes.js | 11 |
3 files changed, 10 insertions, 15 deletions
diff --git a/common/content/buffer.js b/common/content/buffer.js index eb84f668..8912ad0a 100644 --- a/common/content/buffer.js +++ b/common/content/buffer.js @@ -1753,11 +1753,7 @@ var Buffer = Module("buffer", { mappings.add([modes.NORMAL], ["<Space>"], "Scroll down a full page", function (args) { - if (isinstance(services.focus.activeWindow.document.activeElement, - [HTMLInputElement, HTMLButtonElement, Ci.nsIDOMXULButtonElement])) - return Events.PASS; - - if (isinstance(buffer.focusedFrame.document.activeElement, + if (isinstance((services.focus.focusedWindow || content).document.activeElement, [HTMLInputElement, HTMLButtonElement, Ci.nsIDOMXULButtonElement])) return Events.PASS; diff --git a/common/content/editor.js b/common/content/editor.js index c8758f61..40972970 100644 --- a/common/content/editor.js +++ b/common/content/editor.js @@ -440,7 +440,7 @@ var Editor = Module("editor", { }, extraInfo); - mappings.add([modes.OPERATOR], keys, description, + mappings.add([modes.TEXT_EDIT, modes.OPERATOR], keys, description, function ({ count }) { if (!count) count = 1; @@ -538,14 +538,14 @@ var Editor = Module("editor", { addBeginInsertModeMap(["C"], ["cmd_deleteToEndOfLine"], "Delete from the cursor to the end of the line and start insert"); function addMotionMap(key, desc, select, cmd, mode) { - mappings.add([modes.OPERATOR], [key], + mappings.add([modes.TEXT_EDIT], [key], desc, function ({ count, motion }) { modes.push(modes.OPERATOR, null, { count: count, leave: function leave(stack) { - if (stack.push) + if (stack.push || stack.fromEscape) return; try { @@ -743,7 +743,7 @@ var Editor = Module("editor", { { count: true }); let bind = function bind(names, description, action, params) - mappings.add([modes.OPERATOR], names, description, + mappings.add([modes.TEXT_EDIT, modes.OPERATOR], names, description, action, update({ type: "editor" }, params)); // finding characters diff --git a/common/content/modes.js b/common/content/modes.js index 1bc25320..1ea298da 100644 --- a/common/content/modes.js +++ b/common/content/modes.js @@ -66,7 +66,7 @@ var Modes = Module("modes", { char: "v", description: "Active when text is selected", display: function () "VISUAL" + (this._extended & modes.LINE ? " LINE" : ""), - bases: [this.COMMAND, this.OPERATOR], + bases: [this.COMMAND], ownsFocus: true }, { leave: function (stack, newMode) { @@ -102,7 +102,7 @@ var Modes = Module("modes", { this.addMode("TEXT_EDIT", { char: "t", description: "Vim-like editing of input elements", - bases: [this.OPERATOR, this.COMMAND], + bases: [this.COMMAND], ownsFocus: true }, { onKeyPress: function (eventList) { @@ -452,8 +452,7 @@ var Modes = Module("modes", { while (this._modeStack.length > 1 && this.main != mode) { let a = this._modeStack.pop(); this.set(this.topOfStack.main, this.topOfStack.extended, this.topOfStack.params, - update({ pop: a }, - args || {})); + update({ pop: a }, args)); if (mode == null) return; @@ -595,10 +594,10 @@ var Modes = Module("modes", { "Return to Normal mode", function () { modes.reset(); }); - mappings.add([modes.INPUT, modes.COMMAND, modes.PASS_THROUGH, modes.QUOTE], + mappings.add([modes.INPUT, modes.COMMAND, modes.OPERATOR, modes.PASS_THROUGH, modes.QUOTE], ["<Esc>", "<C-[>"], "Return to the previous mode", - function () { modes.pop(); }); + function () { modes.pop(null, { fromEscape: true }); }); mappings.add([modes.MENU], ["<C-c>"], "Leave Menu mode", |