aboutsummaryrefslogtreecommitdiffstats
path: root/bookmarks.js
diff options
context:
space:
mode:
authorjez2011-02-01 05:01:39 +0800
committerjez2011-02-01 11:12:57 +0800
commit1133f348558e8e70aa5e76ca67a739a5303467bd (patch)
treeb09928d85e438f6297313aefc9b020cedf4ebf95 /bookmarks.js
parentd31aa9fefc26f562f45043ad184846c469a580a9 (diff)
downloadvimium-1133f348558e8e70aa5e76ca67a739a5303467bd.tar.bz2
Use only one key[event] handler for all modes.
Diffstat (limited to 'bookmarks.js')
-rw-r--r--bookmarks.js64
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) {