aboutsummaryrefslogtreecommitdiffstats
path: root/options.html
diff options
context:
space:
mode:
authorJez Ng2012-07-26 02:04:31 -0700
committerJez Ng2012-07-26 02:14:00 -0700
commit8c60e25b52933fadbf45da891bfdee91400ede68 (patch)
treec54489ac705584e85d3753feeb095f806c44bf8d /options.html
parent73a73ac467d14be8f9dd4a635f5a84cbc95fb630 (diff)
downloadvimium-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.html114
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>