1
0
Fork 1
mirror of https://github.com/zen-browser/desktop.git synced 2025-07-10 03:15:30 +02:00

refactor: improve tab group handling and adjust overflow styles

This commit is contained in:
mr. M 2025-04-06 00:49:06 +02:00
parent b4703baf23
commit a77d2cfed3
No known key found for this signature in database
GPG key ID: CBD57A2AEDBDA1FB
6 changed files with 103 additions and 67 deletions

View file

@ -1,5 +1,5 @@
diff --git a/browser/components/tabbrowser/content/tabbrowser.js b/browser/components/tabbrowser/content/tabbrowser.js
index 5f406ea5d09273c9b70b84eee24c6267f88692f8..949533237ded4ede7b446b1740b63013937f222e 100644
index 5f406ea5d09273c9b70b84eee24c6267f88692f8..ef12b6bcde0adc517ab9747adf3f93a94af927a4 100644
--- a/browser/components/tabbrowser/content/tabbrowser.js
+++ b/browser/components/tabbrowser/content/tabbrowser.js
@@ -424,11 +424,67 @@
@ -664,7 +664,19 @@ index 5f406ea5d09273c9b70b84eee24c6267f88692f8..949533237ded4ede7b446b1740b63013
if (tab.pinned && this.tabContainer.verticalMode) {
return this.tabContainer.verticalPinnedTabsContainer;
}
@@ -5937,7 +6110,7 @@
@@ -5915,7 +6088,11 @@
};
this.#handleTabMove(tab, () => {
if (moveBefore) {
+ if (targetElement) {
+ targetElement.before(tab);
+ } else {
getContainer().insertBefore(tab, targetElement);
+ }
} else if (targetElement) {
targetElement.after(tab);
} else {
@@ -5937,7 +6114,7 @@
}
moveTabToGroup(aTab, aGroup) {
@ -673,7 +685,7 @@ index 5f406ea5d09273c9b70b84eee24c6267f88692f8..949533237ded4ede7b446b1740b63013
return;
}
if (aTab.group && aTab.group.id === aGroup.id) {
@@ -5945,7 +6118,7 @@
@@ -5945,7 +6122,7 @@
}
aGroup.collapsed = false;
@ -682,7 +694,7 @@ index 5f406ea5d09273c9b70b84eee24c6267f88692f8..949533237ded4ede7b446b1740b63013
this.removeFromMultiSelectedTabs(aTab);
this.tabContainer._notifyBackgroundTab(aTab);
}
@@ -5961,6 +6134,10 @@
@@ -5961,6 +6138,10 @@
moveActionCallback();
@ -693,7 +705,7 @@ index 5f406ea5d09273c9b70b84eee24c6267f88692f8..949533237ded4ede7b446b1740b63013
// Clear tabs cache after moving nodes because the order of tabs may have
// changed.
this.tabContainer._invalidateCachedTabs();
@@ -6015,7 +6192,7 @@
@@ -6015,7 +6196,7 @@
createLazyBrowser,
};
@ -702,7 +714,7 @@ index 5f406ea5d09273c9b70b84eee24c6267f88692f8..949533237ded4ede7b446b1740b63013
if (aIndex < numPinned || (aTab.pinned && aIndex == numPinned)) {
params.pinned = true;
}
@@ -6765,7 +6942,7 @@
@@ -6765,7 +6946,7 @@
// preventDefault(). It will still raise the window if appropriate.
break;
}
@ -711,7 +723,7 @@ index 5f406ea5d09273c9b70b84eee24c6267f88692f8..949533237ded4ede7b446b1740b63013
window.focus();
aEvent.preventDefault();
break;
@@ -7671,6 +7848,7 @@
@@ -7671,6 +7852,7 @@
aWebProgress.isTopLevel
) {
this.mTab.setAttribute("busy", "true");
@ -719,7 +731,7 @@ index 5f406ea5d09273c9b70b84eee24c6267f88692f8..949533237ded4ede7b446b1740b63013
gBrowser._tabAttrModified(this.mTab, ["busy"]);
this.mTab._notselectedsinceload = !this.mTab.selected;
}
@@ -8640,7 +8818,7 @@ var TabContextMenu = {
@@ -8640,7 +8822,7 @@ var TabContextMenu = {
);
contextUnpinSelectedTabs.hidden =
!this.contextTab.pinned || !this.multiselected;
@ -728,7 +740,7 @@ index 5f406ea5d09273c9b70b84eee24c6267f88692f8..949533237ded4ede7b446b1740b63013
// Move Tab items
let contextMoveTabOptions = document.getElementById(
"context_moveTabOptions"
@@ -8674,7 +8852,7 @@ var TabContextMenu = {
@@ -8674,7 +8856,7 @@ var TabContextMenu = {
let isFirstTab =
!this.contextTabs[0].group &&
(this.contextTabs[0] == visibleTabs[0] ||
@ -737,7 +749,7 @@ index 5f406ea5d09273c9b70b84eee24c6267f88692f8..949533237ded4ede7b446b1740b63013
contextMoveTabToStart.disabled = isFirstTab && allSelectedTabsAdjacent;
document.getElementById("context_openTabInWindow").disabled =
@@ -8904,6 +9082,7 @@ var TabContextMenu = {
@@ -8904,6 +9086,7 @@ var TabContextMenu = {
if (this.contextTab.multiselected) {
gBrowser.removeMultiSelectedTabs();
} else {