aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPhil Crosby2011-02-09 23:06:41 -0800
committerPhil Crosby2011-02-09 23:06:41 -0800
commita036d2dac281b2528c2087b08839e118e3f449ae (patch)
tree68fcd1b415fd14d21505bca3ce3d9e9a14d837e8
parent1edb16a47eb8a35fc3ea7991bfdfc8434d1d3bff (diff)
downloadvimium-a036d2dac281b2528c2087b08839e118e3f449ae.tar.bz2
Preserve the "show advanced commands" setting after you close the vimium help dialog.
-rw-r--r--background_page.html9
-rw-r--r--helpDialog.html21
2 files changed, 24 insertions, 6 deletions
diff --git a/background_page.html b/background_page.html
index 77150244..ee12a77d 100644
--- a/background_page.html
+++ b/background_page.html
@@ -79,7 +79,8 @@
upgradeNotificationClosed: upgradeNotificationClosed,
updateScrollPosition: handleUpdateScrollPosition,
copyToClipboard: copyToClipboard,
- isEnabledForUrl: isEnabledForUrl
+ isEnabledForUrl: isEnabledForUrl,
+ saveHelpDialogSettings: saveHelpDialogSettings
};
// Event handlers
@@ -151,6 +152,10 @@
return { isEnabledForUrl: isEnabled };
}
+ function saveHelpDialogSettings(request) {
+ localStorage["helpDialog_showAdvancedCommands"] = request.showAdvancedCommands;
+ }
+
/*
* Returns the previously saved zoom level for the current tab, or the default zoom level
*/
@@ -186,6 +191,8 @@
showUnboundCommands, showCommandNames));
dialogHtml = dialogHtml.replace("{{version}}", currentVersion);
dialogHtml = dialogHtml.replace("{{title}}", customTitle || "Help");
+ dialogHtml = dialogHtml.replace("{{showAdvancedCommands}}",
+ localStorage["helpDialog_showAdvancedCommands"] == "true");
return dialogHtml;
}
diff --git a/helpDialog.html b/helpDialog.html
index c21c8b7b..ae78d149 100644
--- a/helpDialog.html
+++ b/helpDialog.html
@@ -132,10 +132,14 @@
<script>
VimiumHelpDialog = {
+ // This setting is pulled out of local storage. It's false by default.
+ advancedCommandsVisible: {{showAdvancedCommands}},
+
init: function() {
this.dialogElement = document.getElementById("vimiumHelpDialog");
this.dialogElement.getElementsByClassName("toggleAdvancedCommands")[0].addEventListener("click",
VimiumHelpDialog.toggleAdvancedCommands, false);
+ this.showAdvancedCommands(this.advancedCommandsVisible);
},
/*
@@ -143,13 +147,20 @@
*/
toggleAdvancedCommands: function(event) {
event.preventDefault();
- var advanced = VimiumHelpDialog.dialogElement.getElementsByClassName("advanced");
- var shouldShow = (advanced[0].style.display == "" || advanced[0].style.display == "none");
+ VimiumHelpDialog.advancedCommandsVisible = !VimiumHelpDialog.advancedCommandsVisible;
+ chrome.extension.sendRequest({ handler: "saveHelpDialogSettings",
+ showAdvancedCommands: VimiumHelpDialog.advancedCommandsVisible });
+ VimiumHelpDialog.showAdvancedCommands(VimiumHelpDialog.advancedCommandsVisible);
+ },
+
+ showAdvancedCommands: function(visible) {
VimiumHelpDialog.dialogElement.getElementsByClassName("toggleAdvancedCommands")[0].innerHTML =
- shouldShow ? "Hide advanced commands" : "Show advanced commands";
+ visible ? "Hide advanced commands" : "Show advanced commands";
+ var advanced = VimiumHelpDialog.dialogElement.getElementsByClassName("advanced");
for (var i = 0; i < advanced.length; i++)
- advanced[i].style.display = (shouldShow ? "table-row" : "none");
- }
+ advanced[i].style.display = (visible ? "table-row" : "none");
+ },
+
};
VimiumHelpDialog.init();