diff options
| author | jez | 2011-02-01 05:01:39 +0800 |
|---|---|---|
| committer | jez | 2011-02-01 11:12:57 +0800 |
| commit | 1133f348558e8e70aa5e76ca67a739a5303467bd (patch) | |
| tree | b09928d85e438f6297313aefc9b020cedf4ebf95 /bookmarks.js | |
| parent | d31aa9fefc26f562f45043ad184846c469a580a9 (diff) | |
| download | vimium-1133f348558e8e70aa5e76ca67a739a5303467bd.tar.bz2 | |
Use only one key[event] handler for all modes.
Diffstat (limited to 'bookmarks.js')
| -rw-r--r-- | bookmarks.js | 64 |
1 files changed, 33 insertions, 31 deletions
diff --git a/bookmarks.js b/bookmarks.js index 1ec0c3d1..d5ff7cc7 100644 --- a/bookmarks.js +++ b/bookmarks.js @@ -34,15 +34,18 @@ function activateBookmarkFindMode() { initialize.call(this) } + handlerStack.push({ + keydown: this.onKeydown, + keyup: this.onKeyup + }); + this.renderHUD(); this.completionDialog.show(); - - this.keyPressListener.enable(); }, disable: function() { this.enabled = false; - this.keyPressListener.disable(); - this.completionDialog.hide() + this.completionDialog.hide(); + handlerStack.pop(); HUD.hide(); }, renderHUD: function() { @@ -89,37 +92,36 @@ function activateBookmarkFindMode() { initialSearchText: "Type a bookmark name or URL" }) - this.keyPressListener = new KeyPressListener({ - keyDown: function(event) { - // shift key will toggle between new tab/same tab - if (event.keyCode == keyCodes.shiftKey) { - self.invertNewTabSetting(); - shiftWasPressedWhileToggled = true - return - } + self.onKeydown = function(event) { + // shift key will toggle between new tab/same tab + if (event.keyCode == keyCodes.shiftKey) { + self.invertNewTabSetting(); + shiftWasPressedWhileToggled = true + return + } - var keyChar = getKeyChar(event); - if (!keyChar) - return; + var keyChar = getKeyChar(event); + if (!keyChar) + return; - // TODO(philc): Ignore keys that have modifiers. - if (isEscape(event)) { - self.disable(); - } + // TODO(philc): Ignore keys that have modifiers. + if (isEscape(event)) { + self.disable(); + } - event.stopPropagation(); - event.preventDefault(); - }, - keyUp: function(event) { - // shift key will toggle between new tab/same tab - if (event.keyCode == keyCodes.shiftKey && shiftWasPressedWhileToggled) { - self.invertNewTabSetting(); - shiftWasPressedWhileToggled = false - } - event.stopPropagation(); - event.preventDefault(); + event.stopPropagation(); + event.preventDefault(); + }; + + self.onKeyup = function(event) { + // shift key will toggle between new tab/same tab + if (event.keyCode == keyCodes.shiftKey && shiftWasPressedWhileToggled) { + self.invertNewTabSetting(); + shiftWasPressedWhileToggled = false } - }) + event.stopPropagation(); + event.preventDefault(); + }; } var findBookmarks = function(searchString, callback) { |
