aboutsummaryrefslogtreecommitdiffstats
path: root/pages/options.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'pages/options.coffee')
-rw-r--r--pages/options.coffee67
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