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