Allow to disable "shrink others while dragging" feature
This commit is contained in:
parent
df530ca62c
commit
a5d2fac9f1
@ -5,7 +5,9 @@
|
|||||||
window['piro.sakura.ne.jp'].tabsDragUtils.initTabBrowser(gBrowser);
|
window['piro.sakura.ne.jp'].tabsDragUtils.initTabBrowser(gBrowser);
|
||||||
|
|
||||||
// in dragstart event listener
|
// in dragstart event listener
|
||||||
window['piro.sakura.ne.jp'].tabsDragUtils.startTabsDrag(aEvent, aArrayOfTabs);
|
window['piro.sakura.ne.jp'].tabsDragUtils.startTabsDrag(aEvent, aArrayOfTabs, {
|
||||||
|
shrinkOthers : true // shrink other dragged tabs while dragging
|
||||||
|
});
|
||||||
|
|
||||||
This Source Code Form is subject to the terms of the Mozilla Public
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
License, v. 2.0. If a copy of the MPL was not distributed with this
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
@ -433,7 +435,7 @@ TDUContext.destroy();
|
|||||||
updateDraggedTabs : function TDU_updateDraggedTabs(context)
|
updateDraggedTabs : function TDU_updateDraggedTabs(context)
|
||||||
{
|
{
|
||||||
context.draggedTabs.forEach(function(draggedTab, aIndex) {
|
context.draggedTabs.forEach(function(draggedTab, aIndex) {
|
||||||
if (aIndex > 0) {
|
if (draggedTab._dragData.canShrink && aIndex > 0) {
|
||||||
let style = draggedTab.style;
|
let style = draggedTab.style;
|
||||||
if (!draggedTab.__tabsDragUtils__backupStyle) {
|
if (!draggedTab.__tabsDragUtils__backupStyle) {
|
||||||
let backup = {
|
let backup = {
|
||||||
@ -582,8 +584,10 @@ TDUContext.destroy();
|
|||||||
this.updatedTabDNDObservers = this.updatedTabDNDObservers.splice(index, 1);
|
this.updatedTabDNDObservers = this.updatedTabDNDObservers.splice(index, 1);
|
||||||
},
|
},
|
||||||
|
|
||||||
startTabsDrag : function TDU_startTabsDrag(aEvent, aTabs)
|
startTabsDrag : function TDU_startTabsDrag(aEvent, aTabs, aOptions)
|
||||||
{
|
{
|
||||||
|
aOptions = aOptions || {};
|
||||||
|
|
||||||
var draggedTab = this.getTabFromEvent(aEvent);
|
var draggedTab = this.getTabFromEvent(aEvent);
|
||||||
var tabs = aTabs || [];
|
var tabs = aTabs || [];
|
||||||
var index = tabs.indexOf(draggedTab);
|
var index = tabs.indexOf(draggedTab);
|
||||||
@ -622,15 +626,18 @@ TDUContext.destroy();
|
|||||||
scrollX: isVertical ? 0 : tabbar.mTabstrip.scrollPosition ,
|
scrollX: isVertical ? 0 : tabbar.mTabstrip.scrollPosition ,
|
||||||
scrollY: isVertical ? tabbar.mTabstrip.scrollPosition : 0 ,
|
scrollY: isVertical ? tabbar.mTabstrip.scrollPosition : 0 ,
|
||||||
screenX: aEvent.screenX,
|
screenX: aEvent.screenX,
|
||||||
screenY: aEvent.screenY
|
screenY: aEvent.screenY,
|
||||||
|
canShrink : aOptions.shrinkOthers || false
|
||||||
};
|
};
|
||||||
}, this);
|
}, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
aEvent.stopPropagation();
|
aEvent.stopPropagation();
|
||||||
|
|
||||||
|
if (aOptions.shrinkOthers) {
|
||||||
document.addEventListener('dragend', this, true);
|
document.addEventListener('dragend', this, true);
|
||||||
document.addEventListener('drop', this, true);
|
document.addEventListener('drop', this, true);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
isVertical : function TDS_isVertical(aElement)
|
isVertical : function TDS_isVertical(aElement)
|
||||||
{
|
{
|
||||||
|
@ -671,6 +671,11 @@ pref("extensions.treestyletab.pinnedTab.faviconized", true);
|
|||||||
pref("extensions.treestyletab.groupTab.columnize", true);
|
pref("extensions.treestyletab.groupTab.columnize", true);
|
||||||
pref("extensions.treestyletab.groupTab.columnize.width", "20em");
|
pref("extensions.treestyletab.groupTab.columnize.width", "20em");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If true, other dragged tabs are shrunken while dragging.
|
||||||
|
*/
|
||||||
|
pref("extensions.treestyletab.shrinkOtherDraggedTabs", true);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* If true, TST automatically disables Tabs in Titlebar appearance to avoid
|
* If true, TST automatically disables Tabs in Titlebar appearance to avoid
|
||||||
* broken appearance problems.
|
* broken appearance problems.
|
||||||
|
@ -773,7 +773,9 @@ catch(e) {
|
|||||||
)
|
)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
w['piro.sakura.ne.jp'].tabsDragUtils.startTabsDrag(aEvent, tabsInfo.draggedTabs);
|
w['piro.sakura.ne.jp'].tabsDragUtils.startTabsDrag(aEvent, tabsInfo.draggedTabs, {
|
||||||
|
shrinkOthers : utils.getTreePref('shrinkOtherDraggedTabs')
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
onTabbarDragStart : function TabbarDND_onTabbarDragStart(aEvent)
|
onTabbarDragStart : function TabbarDND_onTabbarDragStart(aEvent)
|
||||||
|
Loading…
Reference in New Issue
Block a user