Hijack shift+MW hotkey to move tabs rather than switch to them (while drag and drop enabled)
This commit is contained in:
parent
96c0943ad6
commit
e94036114b
|
@ -476,7 +476,8 @@ LRESULT TabBarPlus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPara
|
||||||
// will do previous/next tab WITH scroll wrapping (endless loop)
|
// will do previous/next tab WITH scroll wrapping (endless loop)
|
||||||
// ..............................................................................
|
// ..............................................................................
|
||||||
// SHIFT + MOUSEWHEEL:
|
// SHIFT + MOUSEWHEEL:
|
||||||
// will do previous/next tab WITHOUT scroll wrapping (stops at first/last tab)
|
// if _doDragNDrop is enabled, then moves the tab, otherwise switches
|
||||||
|
// to previous/next tab WITHOUT scroll wrapping (stops at first/last tab)
|
||||||
// ..............................................................................
|
// ..............................................................................
|
||||||
// CTRL + SHIFT + MOUSEWHEEL:
|
// CTRL + SHIFT + MOUSEWHEEL:
|
||||||
// will switch to the first/last tab
|
// will switch to the first/last tab
|
||||||
|
@ -492,6 +493,25 @@ LRESULT TabBarPlus::runProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lPara
|
||||||
{
|
{
|
||||||
setActiveTab((isForward ? lastTabIndex : 0));
|
setActiveTab((isForward ? lastTabIndex : 0));
|
||||||
}
|
}
|
||||||
|
else if ((wParam & MK_SHIFT) && _doDragNDrop)
|
||||||
|
{
|
||||||
|
int oldTabIndex = static_cast<int32_t>(::SendMessage(_hSelf, TCM_GETCURSEL, 0, 0));
|
||||||
|
int newTabIndex = oldTabIndex + (isForward ? 1 : -1);
|
||||||
|
|
||||||
|
if (newTabIndex < 0)
|
||||||
|
{
|
||||||
|
newTabIndex = lastTabIndex; // wrap scrolling
|
||||||
|
}
|
||||||
|
else if (newTabIndex > lastTabIndex)
|
||||||
|
{
|
||||||
|
newTabIndex = 0; // wrap scrolling
|
||||||
|
}
|
||||||
|
|
||||||
|
if (oldTabIndex != newTabIndex)
|
||||||
|
{
|
||||||
|
exchangeTabItemData(oldTabIndex, newTabIndex);
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (wParam & (MK_CONTROL | MK_SHIFT))
|
else if (wParam & (MK_CONTROL | MK_SHIFT))
|
||||||
{
|
{
|
||||||
int tabIndex = static_cast<int32_t>(::SendMessage(_hSelf, TCM_GETCURSEL, 0, 0) + (isForward ? 1 : -1));
|
int tabIndex = static_cast<int32_t>(::SendMessage(_hSelf, TCM_GETCURSEL, 0, 0) + (isForward ? 1 : -1));
|
||||||
|
|
Loading…
Reference in New Issue