Page 1 of 1

Режим по-умолчанию в быстром просмотре.

Posted: Fri 11 Dec, 2015 04:57
by patrinvv
Предлагаю сделать настраиваемым режим по-умолчания для панели быстрого просмотра (Quick view).
Сейчас там текст. А хотелось-бы иногда HEX.

Режим по-умолчанию в быстром просмотре.

Posted: Fri 11 Dec, 2015 11:03
by cmd.exe
Поставьте ассоциацию на F3 Hiew. И будет вам счастье.

Режим по-умолчанию в быстром просмотре.

Posted: Fri 11 Dec, 2015 17:30
by ccaid
patrinvv wrote: Сейчас там текст. А хотелось-бы иногда HEX.
CtrlQ Tab ShiftF4 H

Режим по-умолчанию в быстром просмотре.

Posted: Mon 14 Dec, 2015 08:10
by patrinvv
Спасибо за быстрые советы.
Когда периодически приходится СРАВНИВАТЬ заголовки нескольких файлов (потому речь и идет о быстром просмотре, на AltF3 у меня уже есть старенький Qview), надоедает для КАЖДОГО файла делать CtrlQ Tab F4. И это работает только при вкл. опции "запоминание позиции" (что не всегда нужно).
Хотелось бы это автоматизировать (данном случае означает вообще исключить).
А т.к. в разработке FARа я не участвую, вот и предложил кому-нибудь сделать это для общего блага.
Даже удивляет, что за 20 лет это не сделали те, кто с исходниками работает.
Значит мало кому такое надо.

Режим по-умолчанию в быстром просмотре.

Posted: Mon 14 Dec, 2015 09:13
by Smitis
patrinvv wrote:надоедает для КАЖДОГО файла делать CtrlQ Tab F4. И это работает только при вкл. опции "запоминание позиции" (что не всегда нужно).
Хотелось бы это автоматизировать (данном случае означает вообще исключить).
Для этого даже не нужно ничего просить, всё уже есть для самостоятельного решения
  1. Macro {
  2.  
  3.     description="CtrlQ Hex";
  4.  
  5.     area="Shell Search";
  6.  
  7.     key="CtrlQ";
  8.  
  9.     action=function()
  10.  
  11.         if APanel.FilePanel and not APanel.Folder and PPanel.Type~=2 then
  12.  
  13.             Keys "CtrlQ Tab ShiftF4 Home Down Enter Home Tab"
  14.  
  15.         else
  16.  
  17.             Keys "CtrlQ "
  18.  
  19.         end
  20.  
  21.     end;
  22.  
  23. }

Режим по-умолчанию в быстром просмотре.

Posted: Mon 14 Dec, 2015 10:05
by Shmuel
Smitis, человек хочет ещё и перемещаться между файлами (Up, Down и т.д.), в вашем макросе это не учтено.

Режим по-умолчанию в быстром просмотре.

Posted: Mon 14 Dec, 2015 13:02
by Smitis
Ну, тогда, что-то вроде такого
  1. local qviewmode
  2.  
  3. Macro {
  4.  
  5.     description="CtrlQ Hex Open";
  6.  
  7.     area="Shell Search";
  8.  
  9.     key="CtrlQ";
  10.  
  11.     action=function()
  12.  
  13.         if APanel.FilePanel and not APanel.Folder and PPanel.Type~=2 then
  14.  
  15.             Keys "CtrlQ Tab ShiftF4 Home Down"
  16.  
  17.             qviewmode = Menu.Value
  18.  
  19.             Keys "Enter Home Tab"
  20.  
  21.         else
  22.  
  23.             qviewmode = false
  24.  
  25.             Keys "CtrlQ"
  26.  
  27.         end
  28.  
  29.     end;
  30.  
  31. }
  32.  
  33. Macro {
  34.  
  35.     description="CtrlQ Hex Browse";
  36.  
  37.     area="Shell Search";
  38.  
  39.     key="/(Shift)?(Up|Down|PgUp|PgDn|Home|End)/ Ins";
  40.  
  41.     condition=function()
  42.  
  43.         return APanel.FilePanel and PPanel.Type==2
  44.  
  45.     end;
  46.  
  47.     action=function()
  48.  
  49.         if not APanel.Folder then
  50.  
  51.             Keys "Tab ShiftF4"
  52.  
  53.             qviewmode = Menu.Value
  54.  
  55.             Keys "Esc Tab"
  56.  
  57.         end
  58.  
  59.         Keys "AKey"
  60.  
  61.         if not APanel.Folder then
  62.  
  63.             Keys "Tab ShiftF4"
  64.  
  65.             if qviewmode then
  66.  
  67.                 Menu.Select(qviewmode)
  68.  
  69.             else
  70.  
  71.                 Keys "Home Down"
  72.  
  73.                 qviewmode = Menu.Value
  74.  
  75.             end
  76.  
  77.             Keys "Enter Tab"
  78.  
  79.         end
  80.  
  81.     end;
  82.  
  83. }
Клики мышкой, удаление файлов, переходы по уровням (CtrlPgUp, CtrlPgDn) специально не обрабатываются, режим просмотра может быть нарушен, но это вроде и не требуется.

Режим по-умолчанию в быстром просмотре.

Posted: Mon 14 Dec, 2015 13:24
by zg
а почему так сложно-то?
  1. local F=far.Flags
  2.  
  3. Event
  4.  
  5. {
  6.  
  7.   group="ViewerEvent";
  8.  
  9.   action=function(id,event,param)
  10.  
  11.     if F.VE_READ==event and F.WTYPE_PANELS==far.AdvControl(F.ACTL_GETWINDOWTYPE).Type and F.PTYPE_QVIEWPANEL==panel.GetPanelInfo(nil,0).PanelType then
  12.  
  13.       viewer.SetMode(id,{Type=F.VSMT_VIEWMODE;iParam=F.VMT_HEX;Flags=F.VSMFL_REDRAW})
  14.  
  15.     end
  16.  
  17.   end
  18.  
  19. }

Режим по-умолчанию в быстром просмотре.

Posted: Mon 14 Dec, 2015 15:04
by Smitis
Действительно, так проще. Однако, позволю себе усложнить - открываем всегда в hex, а при перемещении сохраняем режим просмотра предыдущего файла.
  1. local F=far.Flags
  2.  
  3. local viewmode
  4.  
  5. Event
  6.  
  7. {
  8.  
  9.     group="ViewerEvent";
  10.  
  11.     action=function(id,event,param)
  12.  
  13.         if far.AdvControl(F.ACTL_GETWINDOWTYPE).Type==F.WTYPE_PANELS and panel.GetPanelInfo(nil,0).PanelType==F.PTYPE_QVIEWPANEL then
  14.  
  15.             if event==F.VE_READ then
  16.  
  17.                 viewmode = viewmode or F.VMT_HEX
  18.  
  19.                 viewer.SetMode(id,{Type=F.VSMT_VIEWMODE;iParam=viewmode;Flags=F.VSMFL_REDRAW})
  20.  
  21.             elseif event==F.VE_CLOSE then
  22.  
  23.                 viewmode = viewer.GetInfo(id).CurMode.ViewMode
  24.  
  25.             end
  26.  
  27.         end
  28.  
  29.     end;
  30.  
  31. }
  32.  
  33. Macro {
  34.  
  35.     area="Shell Search";
  36.  
  37.     key="CtrlQ";
  38.  
  39.     action=function()
  40.  
  41.         viewmode = false
  42.  
  43.         Keys "CtrlQ"
  44.  
  45.     end;
  46.  
  47. }

Режим по-умолчанию в быстром просмотре.

Posted: Tue 15 Dec, 2015 08:23
by patrinvv
Спасибо, поразбираюсь!
Теперь вспомнил, что когда-то давно в мануале к FARу попадалось загадочное слово lua, и там-же говорилось о макросах.

Режим по-умолчанию в быстром просмотре.

Posted: Thu 17 Dec, 2015 04:53
by patrinvv
Простите кто помогал, так и не добрался до макросов.
Понял, что дело не в быстром просмотре, в самом вьюере.
Удивляет при наличии десятка настроек отсутствие выбора режима по умолчанию.
У меня на виртуалке есть VS2010, оказалось FAR под ней можно собрать (самая старая из возможных версий).
Даже удивился, когда FAR скомпилироваля и собрался без ошибок.
Добавить опцию для меня не по силам, а привязать начальный режим к редко нужному скроллингу оказалось легко.
В файле viewer.cpp заменил
if (!m_DisplayMode.touched())
m_DisplayMode = m_DumpTextMode? VMT_DUMP : VMT_TEXT;
на
if (!m_DisplayMode.touched())
{if (!ViOpt.ShowScrollbar) m_DisplayMode = m_DumpTextMode? VMT_DUMP : VMT_TEXT;
else m_DisplayMode = VMT_HEX;}
и получилось то что надо (пока не вис и не вылетал).
А что такое .touched() - для меня загадка за семью печатями... :(

Режим по-умолчанию в быстром просмотре.

Posted: Thu 17 Dec, 2015 05:22
by patrinvv
Поправка:
if (!m_DisplayMode.touched()) пришлось все-же закомментарить, чтобы работало.

Режим по-умолчанию в быстром просмотре.

Posted: Thu 17 Dec, 2015 14:08
by zg
patrinvv wrote:Удивляет при наличии десятка настроек отсутствие выбора режима по умолчанию.
видимо те настройки более востребованы, при том что режим по умолчанию легко реализуется макросом.

Режим по-умолчанию в быстром просмотре.

Posted: Fri 23 Nov, 2018 15:19
by 2useven10
5326 - дамп отключаемый