|   | 
 | 
| Название | TabFileTools | 
| Имя файла (*.txt) | TabFileTools.txt | 
| Описание | Обеспечивает основные операции с tab-файлами: просмотр, удаление, открытие | 
| Автор | Вахмурка | 
| Параметры | - | 
| Вызываемые плагины | win, file, ini | 
| Иконка |  | 
| Версия | 1.1 | 
| Дата обновления | 15.11.2017 | 
local hh = win.handle("c=TTOTAL_CMD")
static Path = file.folder(win.exepath(hh))
local List = file.listfiles(Path ++ "\Tabs\*.tab")
local Elem, Str, Temp, Count
static T = cl.Create("Tabs", 1)
static Width = 150
T.Insert(0)
T.SetLabel(0, "Close")
T.AddLeft(0, "*Bar close Tabs")
T.SetTooltip(0, "Close bar")
T.SetHeight(0, 30)
T.Insert(0)
T.SetLabel(0, "Delete")
T.AddLeft(0, cb("@Delete"))
T.SetTooltip(0, "Delete selected tab file")
T.SetHeight(0, 30)
T.Insert(0)
T.SetLabel(0, "View")
T.AddLeft(0, cb("@View"))
T.SetTooltip(0, "View selected tab file")
T.SetHeight(0, 30)
T.Insert(0)
T.SetLabel(0, "Add / Replace")
T.SetTooltip(0, "Left: Add tabs/Right: Replace tabs")
T.SetHeight(0, 30)
T.AddLeft(0, cb("@UseTabs", 1))
T.AddRight(0, cb("@UseTabs", 0))
T.Insert(0)
T.SetLabel(0, ?+*control combobox dropdownlist scroll border+)
T.SetWidth(0, Width)
T.SetTooltip(0, "Choose tab file")
T.SetHeight(0, 25)
T.SetProperties("Format=barsize samesize position: FixedTopLeft vertical tooltips border topmost textcenter")
Temp = T.length
for each line Elem in List
	Str = file.name(Elem)
	T.Insert(Temp)
	T.AddLeft(Temp, cb("@View", Elem))
	T.SetLabel(Temp, Str)
	Count = 0
	for(ini.check_exists(Elem, "activetabs", Count ++ "_path") == 3)
		Count++
	endfor
	T.SetTooltip(Temp, Count ++ " tabs")
	Temp++
endfor
T.show
for each line Elem in List
	Str = file.name(Elem)
	T.AddCtrlListItem(0, Str)
endfor
quit
//===================================================
Function View(TabFile)
if(!TabFile) do
	if(T.GetCtrlValue(0)) do
		TabFile = Path ++ "\Tabs\" ++ T.GetCtrlValue(0) ++ ".tab"
	else
		messagebox("ok error", "First select tab file from dropdown list", "TabFileTools Script")
		quit
	endif
endif
local ATs = "activetabs"
local Active = ini.get(TabFile, ATs, "activetab")
local Keys = ini.enum_keys(TabFile, ATs)
local Values = line(Keys, 0)
local TabChar = esc(?+\t+, ?+\+)
static CR = esc(?+\n+, ?+\+)
local OpQuote = esc(?+\d171+, ?+\+)
local ClQuote = esc(?+\d187+, ?+\+)
local i, Temp
local Message = "File size:" ++ TabChar ++ file.size(TabFile) ++ " bytes" ++ CR
Message ++= "Created:" ++ TabChar ++ TimeDate(file.getdate(TabFile, "c"))
Message ++= "Modified:" ++ TabChar ++ TimeDate(file.getdate(TabFile, "m")) ++ CR
local Keys = ini.enum_keys(TabFile, ATs)
local Values = line(Keys, 0)
for(i = Values/3; i <= Values/2; i++)
	if(ini.check_exists(TabFile, ATs, i ++ "_path") != 3) do
		Temp = i - 1
		break
	endif
endfor
for(i = 0; i <= Temp; i++)
	Values = ini.get(TabFile, ATs, i ++ "_path")
	Message ++= i ++ ifelse(i == Active, "*:", ":") ++ TabChar ++ Values
	if(ini.check_exists(TabFile, ATs, i ++ "_caption") == 3) do
		Values = ini.get(TabFile, ATs, i ++ "_caption")
		Message ++= TabChar ++ OpQuote ++ Values ++ ClQuote
	endif
	Message ++= CR
endfor
messagebox("ok info", Message, "Tab file: " ++ TabFile)
quit
//===================================================
Function TimeDate(Str)
local Result = formatdate("longdate", select(Str, 8)) ++ ", " ++ formattime("HH:mm:ss", select(Str, -6)) ++ CR
quit(Result)
//===================================================
Function UseTabs(Key)
if(T.GetCtrlValue(0)) do
	.OpenTabs(Path ++ "\Tabs\" ++ T.GetCtrlValue(0) ++ ".tab", Key)
else
	messagebox("ok error", "First select tab file from dropdown list", "TabFileTools Script")
endif
quit
//===================================================
Function Delete
if(T.GetCtrlValue(0)) do
	file.delete(Path ++ "\Tabs\" ++ T.GetCtrlValue(0) ++ ".tab")
	T.close
else
	messagebox("ok error", "First select tab file from dropdown list", "TabFileTools Script")
endif
quit
Нижняя содержит кнопки, по одной на каждый tab-файл. Нажатие на такую кнопку вызывает соответствующий файл к просмотру. Выводятся не только пути к вкладкам, но и описания, если они есть. Активная вкладка отмечается звездочкой.
Удаление файлов, а также замена и добавление вкладок (команды OPENTABS и APPENDTABS) в нижней части панели в целях безопасности не предусмотрены.
Для этого предназначена верхняя часть панели. Самым первым ее элементом является раскрывающийся список (dropdown list), содержащий те же tab-файлы, что и на кнопках ниже. Необходимо сначала выбрать один из них в списке, а затем нажать одну их кнопок под ним. Они отличаются от кнопок, соответствующих tab-фалам, во-первых, самими надписями, во-вторых, их размещением по центру, а в-третьих, чуть большей высотой.
Первая кнопка Add/Replace производит добавление (левая кнопка мыши) или замену (правая) текущего набора вкладок на выбранный в раскрывающемся списке. Вторая кнопка View работает так же, как кнопка с именем соответствующего tab-файла в нижней части. Кнопка Delete удаляет tab-файл. Наконец, кнопка Close закрывает панель.
|   | На главную |   | Все о Total Commander |   | PowerPro |   | PowerPro & Total Commander |