summaryrefslogtreecommitdiff
path: root/settings.js
diff options
context:
space:
mode:
authorccd0 <admin@containerchan.org>2014-03-04 16:45:53 -0800
committerccd0 <admin@containerchan.org>2014-03-04 16:45:53 -0800
commit0ef2db58ea210ab435051f4c17778c12b62416ec (patch)
tree3b06bcaa12cb434ed238e995863a784252cbaa92 /settings.js
parented10ad44e3874bff8ca6a418de8637a04c29cd03 (diff)
mute -> volume control
Diffstat (limited to 'settings.js')
-rw-r--r--settings.js24
1 files changed, 16 insertions, 8 deletions
diff --git a/settings.js b/settings.js
index 0d7a494b..cc4a30d5 100644
--- a/settings.js
+++ b/settings.js
@@ -11,7 +11,7 @@ function setDefault(name, value) {
}
setDefault("videoexpand", true);
setDefault("videohover", false);
-setDefault("videomuted", false);
+setDefault("videovolume", 1.0);
// Create settings menu
var settingsMenu = document.createElement("span");
@@ -20,27 +20,35 @@ settingsMenu.innerHTML = '<span>[Settings]</span>'
+ '<div style="display: none; text-align: left; position: absolute; right: 0px; margin-left: -999em; margin-top: -1px; padding-top: 1px;">'
+ '<label><input type="checkbox" name="videoexpand">Expand videos inline</label><br>'
+ '<label><input type="checkbox" name="videohover">Play videos on hover</label><br>'
- + '<label><input type="checkbox" name="videomuted">Open videos muted</label><br>'
+ + '<label><input type="range" name="videovolume" min="0" max="1" step="0.01" style="width: 4em; height: 1ex; vertical-align: middle; margin: 0px;">Default volume</label><br>'
+ '</div>';
function refreshSettings() {
var settingsItems = settingsMenu.getElementsByTagName("input");
for (var i = 0; i < settingsItems.length; i++) {
- var box = settingsItems[i];
- box.checked = setting(box.name);
+ var control = settingsItems[i];
+ if (control.type == "checkbox") {
+ control.checked = setting(control.name);
+ } else if (control.type == "range") {
+ control.value = setting(control.name);
+ }
}
}
-function setupCheckbox(box) {
- if (box.addEventListener) box.addEventListener("change", function(e) {
- localStorage[box.name] = JSON.stringify(box.checked);
+function setupControl(control) {
+ if (control.addEventListener) control.addEventListener("change", function(e) {
+ if (control.type == "checkbox") {
+ localStorage[control.name] = JSON.stringify(control.checked);
+ } else if (control.type == "range") {
+ localStorage[control.name] = JSON.stringify(control.value);
+ }
}, false);
}
refreshSettings();
var settingsItems = settingsMenu.getElementsByTagName("input");
for (var i = 0; i < settingsItems.length; i++) {
- setupCheckbox(settingsItems[i]);
+ setupControl(settingsItems[i]);
}
if (settingsMenu.addEventListener) {