diff --git a/Debug/addons/tabplus/options.html b/Debug/addons/tabplus/options.html index d85475f5..5dc85183 100644 --- a/Debug/addons/tabplus/options.html +++ b/Debug/addons/tabplus/options.html @@ -1,9 +1,10 @@ -
+




+



@@ -78,6 +79,22 @@ + + + + + + + + + + + + + + + +
diff --git a/Debug/addons/tabplus/script.js b/Debug/addons/tabplus/script.js index d3182993..90d6dbd4 100644 --- a/Debug/addons/tabplus/script.js +++ b/Debug/addons/tabplus/script.js @@ -1,4 +1,4 @@ -const Addon_Id = "tabplus"; +const Addon_Id = "tabplus"; let item = GetAddonElement(Addon_Id); if (!item.getAttribute("Set")) { item.setAttribute("Icon", 1); @@ -23,6 +23,19 @@ if (window.Addon == 1) { tids: [], nSelected: [], + IsWin10OrLater: async function () { + let appVer, res, osVer; + appVer = await navigator.appVersion.split(';'); + if (appVer[2]) { + res = /^\s*Windows NT\s+(\d+\.\d+)/i.exec(appVer[2]); + if (res && res[1] && parseFloat(res[1]) >= 10) { + return 1; + } + } + + return 0; + }, + Arrange: async function (Id, bWait) { delete Addons.TabPlus.tids[Id]; const o = document.getElementById("tabplus_" + Id); @@ -36,6 +49,9 @@ if (window.Addon == 1) { if (o.lastChild && Addons.TabPlus.opt.New) { o.removeChild(o.lastChild); } + if (o.lastChild && Addons.TabPlus.opt.CloseAll) { + o.removeChild(o.lastChild); + } let nDisp = o.getElementsByTagName("li").length; while (nDisp > nCount) { o.removeChild(o.lastChild); @@ -60,7 +76,15 @@ if (window.Addon == 1) { if (Addons.TabPlus.opt.Align > 1 && Addons.TabPlus.opt.Width) { s.push(' style="text-align: center; width: 100%"'); } - s.push('>+'); + s.push('>', Addons.TabPlus.ImgNewTab, ''); + o.insertAdjacentHTML("beforeend", s.join("")); + } + if (Addons.TabPlus.opt.CloseAll) { + let s = ['
  • 1 && Addons.TabPlus.opt.Width) { + s.push(' style="text-align: center; width: 100%"'); + } + s.push('>', Addons.TabPlus.ImgCloseAll, '
  • '); o.insertAdjacentHTML("beforeend", s.join("")); } Addons.TabPlus.SetActiveColor(Id); @@ -109,6 +133,15 @@ if (window.Addon == 1) { } }, + CloseAll: async function (Id) { + const TC = await te.Ctrl(CTRL_TC, Id); + if (TC) { + for (var i = TC.Count; i--;) { + TC[i].Close(); + } + } + }, + Style: async function (TC, i, bRedraw, wait) { let r = await Promise.all([TC[i], TC.Id]); const FV = r[0]; @@ -511,6 +544,11 @@ if (window.Addon == 1) { $.importScript("addons\\" + Addon_Id + "\\sync.js"); + let newTabImage = "font:Segoe UI Emoji,0x271a"; + if (Addons.TabPlus.IsWin10OrLater()) { + newTabImage = "font:Segoe UI Symbol,0xe109"; + } + AddEvent("PanelCreated", async function (Ctrl, Id) { const s = ['