]> git.wh0rd.org - chrome-ext/clearhistory-advance-fork.git/commitdiff
allow people to delete *old* history rather than *new* history
authorMike Frysinger <vapier@gentoo.org>
Wed, 30 Jan 2013 00:15:12 +0000 (19:15 -0500)
committerMike Frysinger <vapier@gentoo.org>
Wed, 30 Jan 2013 03:40:09 +0000 (22:40 -0500)
_locales/en/messages.json
javascript/clearhistory.js
javascript/options.js
views/options.html

index 82ff685f12803eb10230eacc53890e7087779889..e85b3a65e43385e4f4510941fcd8f0616eada343 100644 (file)
@@ -6,6 +6,7 @@
   "optionsTitle": {"message": "Options for Clear History [Advance Fork]"},
   "optionsHeader": {"message": "Clear History [Advance Fork]"},
   "optionsTimeFor": {"message": "Delete history for:"},
+  "optionsTimeStart": {"message": "Clear entries newer than the selected time (otherwise, entries older than the selection will be cleared)"},
   "optionsTime": {
     "message": "Last $num$ $units$",
     "placeholders": {
index 3766f6bf83e3a3d1adc440a3838e9f3b1f6b652e..b2d27149114ce6e33e9c1812334a3691c43bd94c 100644 (file)
@@ -72,10 +72,18 @@ function clearHistory() {
     chrome.history.deleteAll(didClearHistory);
   } else {
     // Create the range
+    var timeStart = localStorage['timeStart'] === CONSTANTS.YES;
     var now = (new Date).getTime();
+    var startTime = (now - time * 60 * 60 * 1000);  // time from hrs to ms
+    if (timeStart) {
+      var endTime = now;
+    } else {
+      var endTime = startTime;
+      startTime = 0;
+    }
     var range = {
-      startTime: (now - time * 60 * 60 * 1000),  // time from hrs to ms
-      endTime: now
+      startTime: startTime,
+      endTime: endTime
     };
     // Delete history in the range
     chrome.history.deleteRange(range, didClearHistory);
index 62721cbdd7d44c888c5a25d7bb02584a64c5b992..17139d59e576a283115724d70f99b41135b1ac96 100644 (file)
@@ -30,6 +30,7 @@ function init() {
   $('#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');
   $('#optionsSaved > b')[0].innerText = chrome.i18n.getMessage('optionsSaved');
 
@@ -45,12 +46,14 @@ function init() {
   });
 
   // Load or set localStorage data
+  var timeStart = localStorage['timeStart'] || CONSTANTS.YES;
   var time = ~~(localStorage['time']) ||
              (localStorage['time'] = CONSTANTS.DEFAULT_TIME);
   var showPrompt = localStorage['prompt'] ||
                    (localStorage['prompt'] = CONSTANTS.YES);
   var clearCookies = localStorage['cookies'] || CONSTANTS.NO;
 
+  $('input[name=timeStart]')[0].checked = (timeStart === CONSTANTS.YES);
   $('input[name=time][value="' + time + '"]')[0].checked = true;
   $('input[name=prompt]')[0].checked = (showPrompt === CONSTANTS.YES);
   $('input[name=cookies]')[0].checked = (clearCookies === CONSTANTS.YES);
index a555e8f96e1ee72924410bc246bfc30f1b8d18b8..9b909ebd728dc24ec7a0f89841ef4ef145fe9d35 100644 (file)
         <div id="opt-time">
           <div class="opt-name">
             <b id="optionsTimeFor"></b>
+            <br><br>
+            <div class="opt-timeStart">
+              <input name="timeStart" class="opt-chk" type="checkbox" checked>
+              <div class="opt-label" id="optionsTimeStart"></div>
+            </div>
           </div>
           <div class="opt-value">
             <div class="opt-option">   <!-- 1 hour -->