diff options
Diffstat (limited to 'pages/options.coffee')
| -rw-r--r-- | pages/options.coffee | 67 |
1 files changed, 36 insertions, 31 deletions
diff --git a/pages/options.coffee b/pages/options.coffee index 21e81c8f..1cbe88fa 100644 --- a/pages/options.coffee +++ b/pages/options.coffee @@ -181,6 +181,24 @@ class ExclusionRulesOnPopupOption extends ExclusionRulesOption else @url + "*" +Options = + exclusionRules: ExclusionRulesOption + filterLinkHints: CheckBoxOption + hideHud: CheckBoxOption + keyMappings: TextOption + linkHintCharacters: NonEmptyTextOption + linkHintNumbers: NonEmptyTextOption + newTabUrl: NonEmptyTextOption + nextPatterns: NonEmptyTextOption + previousPatterns: NonEmptyTextOption + regexFindMode: CheckBoxOption + scrollStepSize: NumberOption + smoothScroll: CheckBoxOption + grabBackFocus: CheckBoxOption + searchEngines: TextOption + searchUrl: NonEmptyTextOption + userDefinedLinkHintCss: TextOption + initOptionsPage = -> onUpdated = -> $("saveOptions").removeAttribute "disabled" @@ -197,18 +215,20 @@ initOptionsPage = -> show $("linkHintCharacters") hide $("linkHintNumbers") - toggleAdvancedOptions = - do (advancedMode=false) -> - (event) -> - if advancedMode - $("advancedOptions").style.display = "none" - $("advancedOptionsButton").innerHTML = "Show Advanced Options" - else - $("advancedOptions").style.display = "table-row-group" - $("advancedOptionsButton").innerHTML = "Hide Advanced Options" - advancedMode = !advancedMode - $("advancedOptionsButton").blur() - event.preventDefault() + maintainAdvancedOptions = -> + if bgSettings.get "optionsPage_showAdvancedOptions" + $("advancedOptions").style.display = "table-row-group" + $("advancedOptionsButton").innerHTML = "Hide Advanced Options" + else + $("advancedOptions").style.display = "none" + $("advancedOptionsButton").innerHTML = "Show Advanced Options" + maintainAdvancedOptions() + + toggleAdvancedOptions = (event) -> + bgSettings.set "optionsPage_showAdvancedOptions", not bgSettings.get "optionsPage_showAdvancedOptions" + maintainAdvancedOptions() + $("advancedOptionsButton").blur() + event.preventDefault() activateHelpDialog = -> showHelpDialog chrome.extension.getBackgroundPage().helpDialogHtml(true, true, "Command Listing"), frameId @@ -236,26 +256,8 @@ initOptionsPage = -> document.activeElement.blur() if document?.activeElement?.blur saveOptions() - options = - exclusionRules: ExclusionRulesOption - filterLinkHints: CheckBoxOption - hideHud: CheckBoxOption - keyMappings: TextOption - linkHintCharacters: NonEmptyTextOption - linkHintNumbers: NonEmptyTextOption - newTabUrl: NonEmptyTextOption - nextPatterns: NonEmptyTextOption - previousPatterns: NonEmptyTextOption - regexFindMode: CheckBoxOption - scrollStepSize: NumberOption - smoothScroll: CheckBoxOption - grabBackFocus: CheckBoxOption - searchEngines: TextOption - searchUrl: NonEmptyTextOption - userDefinedLinkHintCss: TextOption - # Populate options. The constructor adds each new object to "Option.all". - for name, type of options + for name, type of Options new type(name,onUpdated) maintainLinkHintsView() @@ -317,3 +319,6 @@ document.addEventListener "DOMContentLoaded", -> xhr.send() +# Exported for tests. +root = exports ? window +root.Options = Options |
