]> git.wh0rd.org - chrome-ext/clearhistory-advance-fork.git/blobdiff - javascript/options.js
add an option to run silently -- no notifications at all
[chrome-ext/clearhistory-advance-fork.git] / javascript / options.js
index 94ea31eb9da15c656258146c9604d41bdaf51d85..c4ffda4634b32cc5255b86a395d4df369a25bbf1 100644 (file)
@@ -26,39 +26,38 @@ function init() {
     elements[1].innerText = message;
   });
 
-  $('#optionsTitle')[0].innerText = chrome.i18n.getMessage('optionsTitle');
-  $('#optionsHeader')[0].innerText = chrome.i18n.getMessage('optionsHeader');
-  $('#optionsPrompt')[0].innerText = chrome.i18n.getMessage('optionsPrompt');
-  $('#optionsTimeFor')[0].innerText = chrome.i18n.getMessage('optionsTimeFor');
-  $('#optionsTimeStart')[0].innerText = chrome.i18n.getMessage('optionsTimeStart');
-  $('#optionsCookies')[0].innerText = chrome.i18n.getMessage('optionsCookies');
-  $('#optionsAutoclear')[0].innerText = chrome.i18n.getMessage('optionsAutoclear');
-  $('#optionsSaved > b')[0].innerText = chrome.i18n.getMessage('optionsSaved');
+  $('[i18n-content]').forEach(function(ele) {
+    ele.innerText = chrome.i18n.getMessage(ele.getAttribute('i18n-content'));
+  });
 
   // Bind all the callbacks
-  $('#opt-time input.opt-chk[type=radio]').forEach(function(e) {
+  $('input[type=radio]').forEach(function(e) {
     e.onclick = toggle;
   });
-  $('input.opt-chk[type=checkbox]').forEach(function(e) {
+  $('input[type=checkbox]').forEach(function(e) {
     e.onclick = setCheck;
   });
 
   // Load or set localStorage data
   var settings = [
-    'timeStart', 'time', 'prompt', 'cookies', 'autoclear',
+    'timeStart', 'time', 'prompt', 'cookies', 'downloads', 'autoclear', 'notify',
   ];
   chrome.storage.sync.get(settings, function(s) {
     var timeStart = s.timeStart || CONSTANTS.YES;
     var time = ~~(s.time) || (s.time = CONSTANTS.DEFAULT_TIME);
     var showPrompt = s.prompt || (s.prompt = CONSTANTS.YES);
     var clearCookies = s.cookies || CONSTANTS.NO;
+    var clearDownloads = s.downloads || CONSTANTS.NO;
     var autoClear = s.autoclear || CONSTANTS.NO;
+    var notify = s.notify || CONSTANTS.YES;
 
-    $('input[name=timeStart]')[0].checked = (timeStart === CONSTANTS.YES);
+    $('input[name=timeStart][value="' + timeStart + '"]')[0].checked = true;
     $('input[name=time][value="' + time + '"]')[0].checked = true;
     $('input[name=prompt]')[0].checked = (showPrompt === CONSTANTS.YES);
     $('input[name=cookies]')[0].checked = (clearCookies === CONSTANTS.YES);
+    $('input[name=downloads]')[0].checked = (clearDownloads === CONSTANTS.YES);
     $('input[name=autoclear]')[0].checked = (autoClear === CONSTANTS.YES);
+    $('input[name=notify]')[0].checked = (notify === CONSTANTS.YES);
   });
 }
 
@@ -67,7 +66,9 @@ function init() {
  * @this {HTMLInputElement} The element (radio button) that was clicked.
  */
 function toggle() {
-  chrome.storage.sync.set({'time': this.value});
+  var setting = {};
+  setting[this.name] = this.value;
+  chrome.storage.sync.set(setting);
   optionSaved();
 }