MoveTab

Название MoveTab
Имя файла (*.txt) MoveTab.txt
Описание Перемещает текущую вкладку в противоположную панель
Автор Вахмурка
Параметры -
Вызываемые плагины win, childwin, tc
Иконка
Версия 4.0
Дата обновления 16.06.2014
local hwnd = win.handle("c=TTOTAL_CMD")
local TMTC, Target, Lock, SemiLock

if(tc.active(hwnd) == "left") do
;Sub_TMTC - имя скрипта TMTC 
	TMTC = runfile.Subs\Sub_TMTC(hwnd, 1)
	Target = runfile.Subs\Sub_TMTC(hwnd, 2)
else
	Target = runfile.Subs\Sub_TMTC(hwnd, 1)
	TMTC = runfile.Subs\Sub_TMTC(hwnd, 2)
endif

if(not TMTC)
	quit

local Counter = win.sendmessage(Target, 4868, 0, 0)
win.postmessage(hwnd, 0x400+51, 3009, 0)
*keys {down 5}{enter}
wait.for(200, win.sendmessage(Target, 4868, 0, 0) != Counter)
win.postmessage(hwnd, 0x400+51, 3009, 0)
*keys {down 2}{enter}
wait.for(activewindow("c=TCheckEditBox"))
local Hand = win.getfocus()
local Parent = childwin.parent(Hand)
Hand = win.childhandlelist(Parent, "c=TMyCheckBox")

if(word(Hand, 0) != 2) do
	messagebox("ok error", "Wrong number of checkboxes", "MoveTab script")
	quit
endif 

local v = vec.createfromwords(Hand)

if(not v) do
	messagebox("ok error", "Vector not created", "VEC plugin error")
	quit
endif 

if(win.top(v[0]) > win.top(v[1]))
	v.swap(0, 1)

Lock = v[0]
SemiLock = v[1]

Hand = win.sendmessage(Lock, 240, 0, 0)
Parent = win.sendmessage(SemiLock, 240, 0, 0)

keys {esc}
if(Hand)
	win.sendmessage(hwnd, 0x400+51, 3010, 0)

if(Parent)
	win.sendmessage(hwnd, 0x400+51, 3012, 0)

win.sendmessage(hwnd, 0x400+51, 3007, 0)

Комментарии:

Внимание! Скрипт не работает в Total Commander 7.5 pb1 и pb2!

Версия данного скрипта для Total Commander 7.0 и старше.

В контекстном меню вкладок (cm_DirTabsShowMenu) есть команда "Copy tab to other panel". Ее можно выполнить, как известно, простым перетаскиванием. Логика подсказывает, что если есть команда "Copy...", то рядом должна быть ее младшая сестра - "Move...". Уместен был бы и крысиный аналог - скажем, перетаскивание с нажатым Ctrl-ом. Но логика нас подводит - нет такой команды. А жаль. Редко когда нужно иметь две одинаковые вкладки на разных панелях.

Я повесил скрипт на клавишу [Alt+F6], чего и всем желаю.


На главную Все о Total Commander PowerPro PowerPro & Total Commander