diff options
| author | ilya | 2009-11-15 18:55:55 -0800 |
|---|---|---|
| committer | ilya | 2009-11-15 18:55:55 -0800 |
| commit | 1d126397d4ecb131f83ee8709df2e2568967ac9c (patch) | |
| tree | 0ab7a846a265968c9a6da1ed4089b04a4292a6dd /vimiumFrontend.js | |
| parent | 50d376c0663fe7474149541c22de5bb5cbe192b4 (diff) | |
| download | vimium-1d126397d4ecb131f83ee8709df2e2568967ac9c.tar.bz2 | |
First pass at a settings page. Hooked up scrollStepSize as our first setting.
Diffstat (limited to 'vimiumFrontend.js')
| -rw-r--r-- | vimiumFrontend.js | 31 |
1 files changed, 24 insertions, 7 deletions
diff --git a/vimiumFrontend.js b/vimiumFrontend.js index e1fd3ec2..3424a52e 100644 --- a/vimiumFrontend.js +++ b/vimiumFrontend.js @@ -1,14 +1,29 @@ -var SCROLL_STEP_SIZE = 60; // Pixels +var settings = {}; +var settingsToLoad = ["scrollStepSize"]; + var getCurrentUrlHandlers = []; // function (url) var keyCodes = { ESC: 27 }; var insertMode = false; var keyPort; +var settingPort; // TODO(philc): This should be pulled from the extension's storage when the page loads. var currentZoomLevel = 100; +function getSetting(key) { + if (!settingPort) + { + settingPort = chrome.extension.connect({ name: "getSetting" }); + } + settingPort.postMessage({ key: key }); +} + +function setSetting(args) { settings[args.key] = args.value; } + function initializeFrontend() { + for (var i in settingsToLoad) { getSetting(settingsToLoad[i]); } + document.addEventListener("keydown", onKeydown); document.addEventListener("focus", onFocusCapturePhase, true); document.addEventListener("blur", onBlurCapturePhase, true); @@ -42,6 +57,8 @@ function initializeFrontend() { port.onMessage.addListener(function (args) { if (getCurrentUrlHandlers.length > 0) { getCurrentUrlHandlers.pop()(args.url); } }); + } else if (port.name == "returnSetting") { + port.onMessage.addListener(setSetting); } }); @@ -60,12 +77,12 @@ function zoomOut() { document.body.style.zoom = (currentZoomLevel -= 20) + "%"; function scrollToBottom() { window.scrollTo(0, document.body.scrollHeight); } function scrollToTop() { window.scrollTo(0, 0); } -function scrollUp() { window.scrollBy(0, -1 * SCROLL_STEP_SIZE); } -function scrollDown() { window.scrollBy(0, SCROLL_STEP_SIZE); } -function scrollPageUp() { window.scrollBy(0, -6 * SCROLL_STEP_SIZE); } -function scrollPageDown() { window.scrollBy(0, 6 * SCROLL_STEP_SIZE); } -function scrollLeft() { window.scrollBy(-1 * SCROLL_STEP_SIZE, 0); } -function scrollRight() { window.scrollBy(SCROLL_STEP_SIZE, 0); } +function scrollUp() { window.scrollBy(0, -1 * settings["scrollStepSize"]); } +function scrollDown() { window.scrollBy(0, settings["scrollStepSize"]); } +function scrollPageUp() { window.scrollBy(0, -6 * settings["scrollStepSize"]); } +function scrollPageDown() { window.scrollBy(0, 6 * settings["scrollStepSize"]); } +function scrollLeft() { window.scrollBy(-1 * settings["scrollStepSize"], 0); } +function scrollRight() { window.scrollBy(settings["scrollStepSize"], 0); } function reload() { window.location.reload(); } function goBack() { history.back(); } |
