mirror of
https://github.com/zen-browser/desktop.git
synced 2026-03-29 03:41:51 +00:00
feat: Correctly animate new tabs for collapsed live folders, b=no-bug, c=folders
This commit is contained in:
@@ -278,6 +278,16 @@ export class nsZenFolder extends MozTabbrowserTabGroup {
|
||||
super.on_click(event);
|
||||
}
|
||||
|
||||
addTabs(tabs) {
|
||||
super.addTabs(tabs);
|
||||
if (this.collapsed && !gZenFolders._sessionRestoring && this.isLiveFolder && tabs.length) {
|
||||
for (let tab of tabs) {
|
||||
tab.setAttribute("folder-active", "true");
|
||||
}
|
||||
gZenFolders.animateCollapse(this);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the root most collapsed folder in the tree.
|
||||
*
|
||||
|
||||
@@ -241,25 +241,8 @@ class nsZenFolders extends nsZenDOMOperatedFeature {
|
||||
group.setAttribute("had-zen-pinned-changed", true);
|
||||
}
|
||||
|
||||
if (group.collapsed && !this._sessionRestoring) {
|
||||
if (group.isLiveFolder) {
|
||||
if (!group.hasAttribute("has-active")) {
|
||||
let groupStart = group.groupStartElement;
|
||||
let marginTop = groupStart.style.marginTop ? parseInt(groupStart.style.marginTop) : 0;
|
||||
if (marginTop < 0) {
|
||||
groupStart.style.marginTop = `${marginTop + 4}px`;
|
||||
}
|
||||
}
|
||||
|
||||
tab.setAttribute("folder-active", "true");
|
||||
group.setAttribute("has-active", "true");
|
||||
group.groupContainer.removeAttribute("hidden");
|
||||
group.activeTabs = [...new Set([...group.activeTabs, tab])].sort(
|
||||
(a, b) => a._tPos > b._tPos
|
||||
);
|
||||
} else {
|
||||
group.collapsed = group.hasAttribute("has-active");
|
||||
}
|
||||
if (group.collapsed && !this._sessionRestoring && !group.isLiveFolder) {
|
||||
group.collapsed = group.hasAttribute("has-active");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -961,7 +944,8 @@ class nsZenFolders extends nsZenDOMOperatedFeature {
|
||||
if (
|
||||
!group.collapsed ||
|
||||
!Services.prefs.getBoolPref("zen.folders.search.enabled") ||
|
||||
gBrowser.tabContainer.hasAttribute("movingtab")
|
||||
gBrowser.tabContainer.hasAttribute("movingtab") ||
|
||||
event.target.classList.contains("tab-reset-button")
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user