|
|
| Название | 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 |