diff options
| author | ilya | 2010-03-09 20:02:37 -0800 |
|---|---|---|
| committer | ilya | 2010-03-09 20:02:37 -0800 |
| commit | ca0622f1ebbe79230bedf3a1b2bf716f9d66b840 (patch) | |
| tree | 6854612106367499adc47530b73a4dfd472f707d | |
| parent | fbbba41b8bfd4ff7d32f09cbfa0774e13ae92973 (diff) | |
| download | vimium-ca0622f1ebbe79230bedf3a1b2bf716f9d66b840.tar.bz2 | |
Fix a bug where if you add a mapping, save, and then remove it -- it won't get actually unmapped.
| -rw-r--r-- | background_page.html | 2 | ||||
| -rw-r--r-- | commands.js | 88 | ||||
| -rw-r--r-- | options.html | 5 |
3 files changed, 52 insertions, 43 deletions
diff --git a/background_page.html b/background_page.html index 4c075899..80bbbb9b 100644 --- a/background_page.html +++ b/background_page.html @@ -496,6 +496,8 @@ } function init() { + clearKeyMappingsAndSetDefaults(); + if (localStorage["keyMappings"]) parseCustomKeyMappings(localStorage["keyMappings"]); diff --git a/commands.js b/commands.js index 7e118cd0..3040cde0 100644 --- a/commands.js +++ b/commands.js @@ -51,6 +51,52 @@ function parseCustomKeyMappings(customKeyMappings) { } } +function clearKeyMappingsAndSetDefaults() { + keyToCommandRegistry = {}; + + mapKeyToCommand('?', 'showHelp'); + mapKeyToCommand('j', 'scrollDown'); + mapKeyToCommand('k', 'scrollUp'); + mapKeyToCommand('h', 'scrollLeft'); + mapKeyToCommand('l', 'scrollRight'); + mapKeyToCommand('gg', 'scrollToTop'); + mapKeyToCommand('G', 'scrollToBottom'); + mapKeyToCommand('<c-e>', 'scrollDown'); + mapKeyToCommand('<c-y>', 'scrollUp'); + mapKeyToCommand('<c-d>', 'scrollPageDown'); + mapKeyToCommand('<c-u>', 'scrollPageUp'); + mapKeyToCommand('<c-f>', 'scrollFullPageDown'); + mapKeyToCommand('<c-b>', 'scrollFullPageUp'); + mapKeyToCommand('r', 'reload'); + mapKeyToCommand('gf', 'toggleViewSource'); + + mapKeyToCommand('i', 'enterInsertMode'); + + mapKeyToCommand('H', 'goBack'); + mapKeyToCommand('L', 'goForward'); + + mapKeyToCommand('zi', 'zoomIn'); + mapKeyToCommand('zo', 'zoomOut'); + + mapKeyToCommand('f', 'activateLinkHintsMode'); + mapKeyToCommand('F', 'activateLinkHintsModeToOpenInNewTab'); + + mapKeyToCommand('/', 'enterFindMode'); + mapKeyToCommand('n', 'performFind'); + mapKeyToCommand('N', 'performBackwardsFind'); + + mapKeyToCommand('yy', 'copyCurrentUrl'); + + mapKeyToCommand('K', 'nextTab'); + mapKeyToCommand('J', 'previousTab'); + mapKeyToCommand('gt', 'nextTab'); + mapKeyToCommand('gT', 'previousTab'); + + mapKeyToCommand('t', 'createTab'); + mapKeyToCommand('d', 'removeTab'); + mapKeyToCommand('u', 'restoreTab'); +} + // Navigating the current page: addCommand('showHelp', 'Show help', true); addCommand('scrollDown', 'Scroll down'); @@ -105,45 +151,3 @@ var commandGroups = { tabManipulation: ["nextTab", "previousTab", "createTab", "removeTab", "restoreTab"] }; - -mapKeyToCommand('?', 'showHelp'); -mapKeyToCommand('j', 'scrollDown'); -mapKeyToCommand('k', 'scrollUp'); -mapKeyToCommand('h', 'scrollLeft'); -mapKeyToCommand('l', 'scrollRight'); -mapKeyToCommand('gg', 'scrollToTop'); -mapKeyToCommand('G', 'scrollToBottom'); -mapKeyToCommand('<c-e>', 'scrollDown'); -mapKeyToCommand('<c-y>', 'scrollUp'); -mapKeyToCommand('<c-d>', 'scrollPageDown'); -mapKeyToCommand('<c-u>', 'scrollPageUp'); -mapKeyToCommand('<c-f>', 'scrollFullPageDown'); -mapKeyToCommand('<c-b>', 'scrollFullPageUp'); -mapKeyToCommand('r', 'reload'); -mapKeyToCommand('gf', 'toggleViewSource'); - -mapKeyToCommand('i', 'enterInsertMode'); - -mapKeyToCommand('H', 'goBack'); -mapKeyToCommand('L', 'goForward'); - -mapKeyToCommand('zi', 'zoomIn'); -mapKeyToCommand('zo', 'zoomOut'); - -mapKeyToCommand('f', 'activateLinkHintsMode'); -mapKeyToCommand('F', 'activateLinkHintsModeToOpenInNewTab'); - -mapKeyToCommand('/', 'enterFindMode'); -mapKeyToCommand('n', 'performFind'); -mapKeyToCommand('N', 'performBackwardsFind'); - -mapKeyToCommand('yy', 'copyCurrentUrl'); - -mapKeyToCommand('K', 'nextTab'); -mapKeyToCommand('J', 'previousTab'); -mapKeyToCommand('gt', 'nextTab'); -mapKeyToCommand('gT', 'previousTab'); - -mapKeyToCommand('t', 'createTab'); -mapKeyToCommand('d', 'removeTab'); -mapKeyToCommand('u', 'restoreTab'); diff --git a/options.html b/options.html index 70b8d702..9097c76f 100644 --- a/options.html +++ b/options.html @@ -75,7 +75,10 @@ var postSaveHooks = { "keyMappings": function (value) { - chrome.extension.getBackgroundPage().parseCustomKeyMappings(value); } + backgroundPage = chrome.extension.getBackgroundPage(); + backgroundPage.clearKeyMappingsAndSetDefaults(); + backgroundPage.parseCustomKeyMappings(value); + } }; function initializeOptions() { |
