" +
"" +
"
" + rawTabs + "
" +
@@ -229,61 +255,47 @@ function RestoreTabs(collectionData, removeCollection = true)
function RemoveTabs(collectionData)
{
- if (!confirm(chrome.i18n.getMessage("removeCollectionConfirm")))
- return;
+ chrome.storage.sync.get({ "showDeleteDialog": true }, values =>
+ {
+ if (values.showDeleteDialog && !confirm(chrome.i18n.getMessage("removeCollectionConfirm")))
+ return;
- chrome.runtime.sendMessage(
- {
- command: "deleteTabs",
- collectionIndex: Array.prototype.slice.call(collectionData.parentElement.children).indexOf(collectionData) - 1
- },
- () => RemoveCollectionElement(collectionData)
- );
+ chrome.runtime.sendMessage(
+ {
+ command: "deleteTabs",
+ collectionIndex: Array.prototype.slice.call(collectionData.parentElement.children).indexOf(collectionData) - 1
+ },
+ () => RemoveCollectionElement(collectionData)
+ );
+ });
}
function RemoveOneTab(tabData)
{
- if (!confirm(chrome.i18n.getMessage("removeTabConfirm")))
- return;
+ chrome.storage.sync.get({ "showDeleteDialog": true }, values =>
+ {
+ if (values.showDeleteDialog && !confirm(chrome.i18n.getMessage("removeTabConfirm")))
+ return;
- chrome.runtime.sendMessage(
- {
- command: "removeTab",
- collectionIndex: Array.prototype.slice.call(tabData.parentElement.parentElement.parentElement.children).indexOf(tabData.parentElement.parentElement) - 1,
- tabIndex: Array.prototype.slice.call(tabData.parentElement.children).indexOf(tabData)
- },
- () =>
- {
- tabData.parentElement.previousElementSibling.children[0].textContent = chrome.i18n.getMessage("tabs") + ": " + (tabData.parentElement.children.length - 1);
- if (tabData.parentElement.children.length < 2)
+ chrome.runtime.sendMessage(
{
- RemoveElement(tabData.parentElement.parentElement);
- if (document.querySelector("tabsAside.pane > section").children.length < 2)
- setTimeout(() => document.querySelector(".tabsAside.pane > section > h2").removeAttribute("hidden"), 250);
- }
- else
- RemoveElement(tabData);
- });
-}
-
-function GetAgo(timestamp)
-{
- var minutes = (Date.now() - timestamp) / 60000;
-
- if (minutes < 1)
- return chrome.i18n.getMessage("justNow");
- else if (minutes < 60)
- return Math.floor(minutes) + " " + chrome.i18n.getMessage("minutes") + " " + chrome.i18n.getMessage("ago");
- else if (minutes < 24 * 60)
- return Math.floor(minutes / 60) + " " + chrome.i18n.getMessage("hours") + " " + chrome.i18n.getMessage("ago");
- else if (minutes < 7 * 24 * 60)
- return Math.floor(minutes / 24 / 60) + " " + chrome.i18n.getMessage("days") + " " + chrome.i18n.getMessage("ago");
- else if (minutes < 30 * 24 * 60)
- return Math.floor(minutes / 7 / 24 / 60) + " " + chrome.i18n.getMessage("weeks") + " " + chrome.i18n.getMessage("ago");
- else if (minutes < 365 * 24 * 60)
- return Math.floor(minutes / 30 / 24 / 60) + " " + chrome.i18n.getMessage("months") + " " + chrome.i18n.getMessage("ago");
- else
- return Math.floor(minutes / 365 / 24 / 60) + " " + chrome.i18n.getMessage("years") + " " + chrome.i18n.getMessage("ago");
+ command: "removeTab",
+ collectionIndex: Array.prototype.slice.call(tabData.parentElement.parentElement.parentElement.children).indexOf(tabData.parentElement.parentElement) - 1,
+ tabIndex: Array.prototype.slice.call(tabData.parentElement.children).indexOf(tabData)
+ },
+ () =>
+ {
+ tabData.parentElement.previousElementSibling.children[0].textContent = chrome.i18n.getMessage("tabs") + ": " + (tabData.parentElement.children.length - 1);
+ if (tabData.parentElement.children.length < 2)
+ {
+ RemoveElement(tabData.parentElement.parentElement);
+ if (document.querySelector("tabsAside.pane > section").children.length < 2)
+ setTimeout(() => document.querySelector(".tabsAside.pane > section > h2").removeAttribute("hidden"), 250);
+ }
+ else
+ RemoveElement(tabData);
+ });
+ });
}
function RemoveElement(el)
@@ -294,7 +306,7 @@ function RemoveElement(el)
function RemoveCollectionElement(el)
{
- RemoveElement(el);
- if (el.parentElement.children.length < 2)
+ if (el.parentElement.children.length < 3)
setTimeout(() => document.querySelector(".tabsAside.pane > section > h2").removeAttribute("hidden"), 250);
+ RemoveElement(el);
}
\ No newline at end of file
diff --git a/js/background.js b/js/background.js
index 19c6cbf..5a3ec6d 100644
--- a/js/background.js
+++ b/js/background.js
@@ -116,6 +116,15 @@ chrome.runtime.onMessage.addListener((message, sender, sendResponse) =>
RemoveTab(message.collectionIndex, message.tabIndex);
sendResponse();
break;
+ case "togglePane":
+ chrome.tabs.query(
+ {
+ active: true,
+ currentWindow: true
+ },
+ (tabs) => TogglePane(tabs[0])
+ )
+ break;
}
});
diff --git a/manifest.json b/manifest.json
index 773f2d7..3abdee2 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,6 +1,6 @@
{
"name": "__MSG_name__",
- "version": "1.6.1",
+ "version": "1.7",
"manifest_version": 2,
"description": "__MSG_description__",
"author": "__MSG_author__",
@@ -38,7 +38,8 @@
"description": "__MSG_setAside__",
"suggested_key":
{
- "default": "Alt+Left"
+ "default": "Alt+Left",
+ "mac": "MacCtrl+T"
}
},
"toggle-pane":
@@ -46,8 +47,9 @@
"description": "__MSG_togglePaneContext__",
"suggested_key":
{
- "default": "Alt+P"
+ "default": "Alt+P",
+ "mac": "Command+Shift+P"
}
}
}
-}
\ No newline at end of file
+}