Fixed split view drop cursor and timing issues

This commit is contained in:
mr. m
2025-03-10 00:23:51 +01:00
parent 1729b553a4
commit 7771b5af2d

View File

@@ -210,10 +210,10 @@ class ZenViewSplitter extends ZenDOMOperatedFeature {
if (!(event.clientX < panelsRect.left + panelsWidth / 4 || event.clientX > panelsRect.left + (panelsWidth / 4) * 3)) {
return;
}
dt.mozCursor = 'default';
const oldTab = this._lastOpenedTab;
this._canDrop = true;
// wait some time before showing the split view
this._showSplitViewTimeout = setTimeout(() => {
{
this._draggingTab = draggedTab;
gBrowser.selectedTab = oldTab;
this._hasAnimated = true;
@@ -225,6 +225,7 @@ class ZenViewSplitter extends ZenDOMOperatedFeature {
const side = event.clientX > halfWidth ? 'right' : 'left';
this.fakeBrowser = document.createXULElement('vbox');
this.fakeBrowser.addEventListener('dragleave', this.onBrowserDragEndToSplit);
window.addEventListener('dragend', this.onBrowserDragEndToSplit, { once: true });
const padding = Services.prefs.getIntPref('zen.theme.content-element-separation', 0);
this.fakeBrowser.setAttribute('flex', '1');
this.fakeBrowser.id = 'zen-split-view-fake-browser';
@@ -271,7 +272,7 @@ class ZenViewSplitter extends ZenDOMOperatedFeature {
draggedTab._visuallySelected = true;
});
}
}, 100);
}
}
onBrowserDragEndToSplit(event) {
@@ -291,9 +292,6 @@ class ZenViewSplitter extends ZenDOMOperatedFeature {
) {
return;
}
if (this._showSplitViewTimeout) {
clearTimeout(this._showSplitViewTimeout);
}
if (!this._hasAnimated || !this.fakeBrowser) {
return;
}