|
Название | 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 | Все скрипты |