diff options
| author | Jez Ng | 2012-07-26 02:04:31 -0700 |
|---|---|---|
| committer | Jez Ng | 2012-07-26 02:14:00 -0700 |
| commit | 8c60e25b52933fadbf45da891bfdee91400ede68 (patch) | |
| tree | c54489ac705584e85d3753feeb095f806c44bf8d /options.html | |
| parent | 73a73ac467d14be8f9dd4a635f5a84cbc95fb630 (diff) | |
| download | vimium-8c60e25b52933fadbf45da891bfdee91400ede68.tar.bz2 | |
Upgrade to manifest version 2.
I use the beta channel by default, and it no longer allows me to run
development builds with the old manifest version.
Diffstat (limited to 'options.html')
| -rw-r--r-- | options.html | 114 |
1 files changed, 2 insertions, 112 deletions
diff --git a/options.html b/options.html index f4b17997..52dbdef2 100644 --- a/options.html +++ b/options.html @@ -84,121 +84,11 @@ </style> <link rel="stylesheet" type="text/css" href="vimium.css" /> - <script type="text/javascript"> - $ = function(id) { return document.getElementById(id); }; - var bgSettings = chrome.extension.getBackgroundPage().Settings; - - var editableFields = ["scrollStepSize", "excludedUrls", "linkHintCharacters", "userDefinedLinkHintCss", - "keyMappings", "filterLinkHints", "previousPatterns", "nextPatterns", "hideHud"]; - - var canBeEmptyFields = ["excludedUrls", "keyMappings", "userDefinedLinkHintCss"]; - - var postSaveHooks = { - keyMappings: function (value) { - commands = chrome.extension.getBackgroundPage().Commands; - commands.clearKeyMappingsAndSetDefaults(); - commands.parseCustomKeyMappings(value); - chrome.extension.getBackgroundPage().refreshCompletionKeysAfterMappingSave(); - } - }; - - function initializeOptions() { - populateOptions(); - - for (var i = 0; i < editableFields.length; i++) { - $(editableFields[i]).addEventListener("keyup", onOptionKeyup, false); - $(editableFields[i]).addEventListener("change", enableSaveButton, false); - $(editableFields[i]).addEventListener("change", onDataLoaded, false); - } - - $("advancedOptions").addEventListener("click", openAdvancedOptions, false); - $("showCommands").addEventListener("click", function () { - showHelpDialog( - chrome.extension.getBackgroundPage().helpDialogHtml(true, true, "Command Listing"), frameId); - }, false); - } - - function onOptionKeyup(event) { - if (event.target.getAttribute("type") !== "checkbox" && - event.target.getAttribute("savedValue") != event.target.value) - enableSaveButton(); - } - - function onDataLoaded() { - $("linkHintCharacters").readOnly = $("filterLinkHints").checked; - } - - function enableSaveButton() { $("saveOptions").removeAttribute("disabled"); } - - // Saves options to localStorage. - function saveOptions() { - // If the value is unchanged from the default, delete the preference from localStorage; this gives us - // the freedom to change the defaults in the future. - for (var i = 0; i < editableFields.length; i++) { - var fieldName = editableFields[i]; - var field = $(fieldName); - - var fieldValue; - if (field.getAttribute("type") == "checkbox") { - fieldValue = field.checked; - } else { - fieldValue = field.value.trim(); - field.value = fieldValue; - } - - // If it's empty and not a field that we allow to be empty, restore to the default value - if (!fieldValue && canBeEmptyFields.indexOf(fieldName) == -1) { - bgSettings.clear(fieldName); - fieldValue = bgSettings.get(fieldName); - } else - bgSettings.set(fieldName, fieldValue); - - $(fieldName).value = fieldValue; - $(fieldName).setAttribute("savedValue", fieldValue); - - if (postSaveHooks[fieldName]) { postSaveHooks[fieldName](fieldValue); } - } - $("saveOptions").disabled = true; - } - - // Restores select box state to saved value from localStorage. - function populateOptions() { - for (var i = 0; i < editableFields.length; i++) { - var val = bgSettings.get(editableFields[i]) || ""; - setFieldValue($(editableFields[i]), val); - } - onDataLoaded(); - } - - function restoreToDefaults() { - for (var i = 0; i < editableFields.length; i++) { - var val = bgSettings.defaults[editableFields[i]] || ""; - setFieldValue($(editableFields[i]), val); - } - onDataLoaded(); - enableSaveButton(); - } - - function setFieldValue(field, value) { - if (field.getAttribute('type') == 'checkbox') - field.checked = value; - else { - field.value = value; - field.setAttribute("savedValue", value); - } - } - - function openAdvancedOptions(event) { - var elements = document.getElementsByClassName("advancedOption"); - for (var i = 0; i < elements.length; i++) - elements[i].style.display = (elements[i].style.display == "table-row") ? "none" : "table-row"; - event.preventDefault(); - } - </script> + <script type="text/javascript" src="options.js"></script> </head> - <body onload="initializeOptions()"> + <body> <h1>Vimium - Options</h1> <table style="position:relative"> <tr> |
