mirror of
https://github.com/zen-browser/desktop.git
synced 2025-12-15 19:05:29 +00:00
Enhance tab management by updating tab close handling and improving tab drag-and-drop functionality
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
|
||||
index 8aeb244ffca9f48661805f5b7d860b5896055562..566fe3b925738589910598d0242931dd680a8d1e 100644
|
||||
index 8aeb244ffca9f48661805f5b7d860b5896055562..ad28d73fe7cc6eadc4b4724c75d54857a82ff94c 100644
|
||||
--- a/browser/components/tabbrowser/content/tabs.js
|
||||
+++ b/browser/components/tabbrowser/content/tabs.js
|
||||
@@ -94,7 +94,7 @@
|
||||
@@ -62,15 +62,17 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..566fe3b925738589910598d0242931dd
|
||||
if (draggedTab && dropEffect == "copy") {
|
||||
// copy the dropped tab (wherever it's from)
|
||||
let newIndex = this._getDropIndex(event);
|
||||
@@ -1010,7 +1022,7 @@
|
||||
@@ -1010,8 +1022,8 @@
|
||||
}
|
||||
} else {
|
||||
let pinned = draggedTab.pinned;
|
||||
- let numPinned = gBrowser.pinnedTabCount;
|
||||
- let tabs = this.visibleTabs.slice(
|
||||
+ let numPinned = gBrowser._numVisiblePinTabs;
|
||||
let tabs = this.visibleTabs.slice(
|
||||
+ let tabs = this.visibleTabs.filter(tab => !tab.hasAttribute("zen-glance-tab")).slice(
|
||||
pinned ? 0 : numPinned,
|
||||
pinned ? numPinned : undefined
|
||||
);
|
||||
@@ -1090,7 +1102,7 @@
|
||||
let postTransitionCleanup = () => {
|
||||
tab.removeAttribute("tabdrop-samewindow");
|
||||
@@ -155,6 +157,15 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..566fe3b925738589910598d0242931dd
|
||||
selectedTab._notselectedsinceload = false;
|
||||
}
|
||||
|
||||
@@ -1843,7 +1867,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
- let tabs = this.visibleTabs;
|
||||
+ let tabs = this.visibleTabs.filter(tab => !tab.hasAttribute("zen-glance-tab"));
|
||||
if (!tabs.length) {
|
||||
return;
|
||||
}
|
||||
@@ -1879,7 +1903,7 @@
|
||||
if (isEndTab && !this._hasTabTempMaxWidth) {
|
||||
return;
|
||||
@@ -181,8 +192,9 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..566fe3b925738589910598d0242931dd
|
||||
+ let numPinned = gBrowser._numVisiblePinTabs;
|
||||
|
||||
- if (gBrowser.pinnedTabCount !== verticalTabsContainer.children.length) {
|
||||
- let tabs = this.visibleTabs;
|
||||
+ if (gBrowser.pinnedTabCount !== (verticalTabsContainer.children.length + document.getElementById("zen-essentials-container").children.length)) {
|
||||
let tabs = this.visibleTabs;
|
||||
+ let tabs = this.visibleTabs.filter(tab => !tab.hasAttribute("zen-glance-tab"));
|
||||
for (let i = 0; i < numPinned; i++) {
|
||||
tabs[i].style.marginInlineStart = "";
|
||||
- verticalTabsContainer.appendChild(tabs[i]);
|
||||
@@ -190,11 +202,13 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..566fe3b925738589910598d0242931dd
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1993,7 +2017,7 @@
|
||||
@@ -1992,8 +2016,8 @@
|
||||
}
|
||||
|
||||
_positionPinnedTabs() {
|
||||
let tabs = this.visibleTabs;
|
||||
- let tabs = this.visibleTabs;
|
||||
- let numPinned = gBrowser.pinnedTabCount;
|
||||
+ let tabs = this.visibleTabs.filter(tab => !tab.hasAttribute("zen-glance-tab"));
|
||||
+ let numPinned = gBrowser._numVisiblePinTabs;
|
||||
let absPositionHorizontalTabs =
|
||||
this.overflowing && tabs.length > numPinned && numPinned > 0;
|
||||
@@ -204,25 +218,23 @@ index 8aeb244ffca9f48661805f5b7d860b5896055562..566fe3b925738589910598d0242931dd
|
||||
}
|
||||
|
||||
- let tabs = this.visibleTabs.slice(0, gBrowser.pinnedTabCount);
|
||||
+ let tabs = this.visibleTabs.slice(0, gBrowser._numVisiblePinTabs).filter(tab => !tab.hasAttribute("zen-glance-tab"));
|
||||
+ let tabs = this.visibleTabs.filter(tab => !tab.hasAttribute("zen-glance-tab")).slice(0, gBrowser._numVisiblePinTabs);
|
||||
|
||||
let directionX = screenX > dragData.animLastScreenX;
|
||||
let directionY = screenY > dragData.animLastScreenY;
|
||||
@@ -2257,11 +2281,11 @@
|
||||
@@ -2257,9 +2281,9 @@
|
||||
}
|
||||
|
||||
let pinned = draggedTab.pinned;
|
||||
- let numPinned = gBrowser.pinnedTabCount;
|
||||
+ let numPinned = gBrowser._numVisiblePinTabs;
|
||||
let tabs = this.visibleTabs.slice(
|
||||
- let tabs = this.visibleTabs.slice(
|
||||
- pinned ? 0 : numPinned,
|
||||
+ let numPinned = gBrowser._numVisiblePinTabs;
|
||||
+ let tabs = this.visibleTabs.filter(tab => !tab.hasAttribute("zen-glance-tab")).slice(
|
||||
+ pinned ? gBrowser._numZenEssentials : numPinned,
|
||||
pinned ? numPinned : undefined
|
||||
- );
|
||||
+ ).filter(tab => !tab.hasAttribute("zen-glance-tab"));
|
||||
);
|
||||
|
||||
if (this.#rtlMode) {
|
||||
tabs.reverse();
|
||||
@@ -2502,8 +2526,9 @@
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user