;сохраняется и восстанавливается только содержимое ком. строки и позиции курсора.
;те не сохраняется и не восстанавливается выделение в ком строке.
"%%CmdSave"="$If (!CmdLine.Empty) %Flg_Cmd=1; %CmdCurPos=CmdLine.ItemCount-CmdLine.CurPos+1; %CmdVal=CmdLine.Value; Esc $End"
"%%CmdRestore"="$If (%Flg_Cmd==1) $Text %CmdVal %Flg_Cmd=0; %Num=%CmdCurPos; $While (%Num!=0) %Num=%Num-1; CtrlS $End $End"
;показать пассивную панель если она скрыта
"%%ShowPPanel"="$If (!PPanel.Visible) $If (APanel.Left) CtrlF2 $Else CtrlF1 $End $End"
;увеличение размера панели Qview для большей видимости информации
;к сожалению если позволить работать для папок то по ESC
;нельзя будет прервать процесс:
;╔═ Быстрый просмотр ═╗
;║ Просмотр папки ║
;║ Folder ║
;╚════════════════════╝
;учитывается режим сортировки для TempPanel
Eval(%%ShowPPanel)
Eval(%%CmdSave)
Tab
$If (QView)
Tab Ctrl2
$If (APanel.OPIFlags & 0x20)
ShiftF6
$If (Dialog)
Esc Ctrl4
$End
$End
Tab CtrlClear
$Else
Tab Ctrl6 Tab
$If (APanel.Left)
$Rep (APanel.Width-15)
CtrlRight
$End
$Else
$Rep (APanel.Width-15)
CtrlLeft
$End
$End
$End
Tab CtrlQ Tab
$If (Viewer.State & 0x08)
F2
$End
Tab Eval(%%CmdRestore)
Те не менее, макрос глючит.
Update 2
Одна из причин странного поведения макроса, это различие в режиме панели 6.
Макрос рассчитан на фиксированную ширину первой колонки Column widths: 12,0
Но сейчас в фаре по умолчанию другие значения Column widths: 40%,0
Как с этим разобраться - не знаю. По нормальному надо использовать свой режим, но его же ещё создать надо...
Плюс не обрабатывается закрытие по CtrlQ в Area.QView.
А что это за переменная загадочная QVIEW - она нигде не инициализируется.
Re: Улучшение макросов из поставки фара
Posted: Wed 04 Jun, 2014 21:02
by John Doe
local QVIEW = 2
Константа для макроязыка, тип панели "быстрый просмотр"
Случайно удалил, уже исправлено.
Re: Улучшение макросов из поставки фара
Posted: Thu 05 Jun, 2014 08:23
by John Doe
Заметил, что макрос ощутимо тормозит в случае если на пассивной панели много файлов.
Исправил, теперь сначала включается QView, а потом только меняется ширина панели.
Re: Улучшение макросов из поставки фара
Posted: Wed 11 Jun, 2014 10:59
by Wave
А обязательно для QVIEW сначала настройки какие-то вносить? Интересней был бы более универсальный вариант. А то получаю 'CtrlQ' macro requires custom view mode to be set и хошь-нехошь вынужден разбираться с тем, что эти режимы дают и как и зачем их менять.
Re: Улучшение макросов из поставки фара
Posted: Wed 11 Jun, 2014 11:07
by John Doe
Wave wrote:А обязательно для QVIEW сначала настройки какие-то вносить?
Фар предоставляет апи только для переключения, а изменять или создавать приходится пользователю. Можно импортом: http://forum.farmanager.com/viewtopic.p ... 57#p119457
Или макросом из командной строки: lua:Keys"F9 O m Ins" print"~QView~" Keys"CtrlEnter Esc"
Теоретически эту последовательность можно внести в сам макрос, но это тоже не очень хорошо: что если 2 макроса захотят воспользоваться первым пользовательским режимом?
Re: Улучшение макросов из поставки фара
Posted: Wed 11 Jun, 2014 11:48
by Wave
Пара мелочей:
В конфиге для импорта name ~QView
В вышеуказанном макросе (который работает для английского интерфейса) ~QView~
(я как-то не понял, имеет ли имя значение, и почему режим задан числом 10)
В целом — создаётся пользовательский режим (разово), а при выполнении макрос переключает в него, делает что угодно с панелями (или там уже всё сделано?), а потом возвращает в тот режим что был (у меня второй), так?
Re: Улучшение макросов из поставки фара
Posted: Wed 11 Jun, 2014 11:58
by John Doe
Wave wrote:(я как-то не понял, имеет ли имя значение, и почему режим задан числом 10)
Имя значения не имеет (ненадёжно, но что поделаешь), 10 это первый пользовательский режим (встроенные нумеруются 0-9).
Wave wrote:при выполнении макрос [...] делает что угодно с панелями
Цель макроса: максимально увеличить панель быстрого просмотра.
Отдельный режим используется для того, чтобы файловую панель можно было красиво уменьшить до одного столбца.
Re: Улучшение макросов из поставки фара
Posted: Wed 11 Jun, 2014 12:15
by Wave
А, один столбик, теперь допёрло, зачем нужен отдельный режим. Спасибо за пояснения.
Сложно. Но разобрался.
Закрытие QView во время использования макроса просмотра картинок http://forum.farmanager.com/viewtopic.p ... 8&start=32 так и не возвращает предыдущее состояние панели на место.
Пока отказался от использования расширения области.