Вбок и Ctrl+PgUp/PgDn для Tree panel

Вам не хватает чего-то в Far? Вы считаете, что вашу идею стоит услышать? Пишите сюда.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by techie »

Было бы удобненько, если бы на деревянной панели кнопки вбок и Ctrl+PgUp/PgDn помогали прыгать вверх и вниз по иерархии папок.
User avatar
John Doe
Бюрократ
Posts: 13853
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by John Doe »

Можно намакросить.
  1. local active = 0
  2.  
  3. local noRE = true --plain search
  4.  
  5.  
  6.  
  7. Macro { description="Level up";
  8.  
  9.   area="Tree"; key="CtrlPgUp Left";
  10.  
  11.   uid="859F9257-467F-4E57-9C3B-0B619C08345D";
  12.  
  13.   action=function()
  14.  
  15.     local pos = APanel.CurPos
  16.  
  17.     local path = APanel.Current
  18.  
  19.     for i=1,pos-1 do
  20.  
  21.       if path:match(Panel.Item(active,pos-i).."\\",1,noRE) then
  22.  
  23.         Panel.SetPosIdx(active,pos-i)
  24.  
  25.         break
  26.  
  27.       end
  28.  
  29.     end
  30.  
  31.     Keys"Enter"
  32.  
  33.   end;
  34.  
  35. }
  36.  
  37.  
  38.  
  39. Macro { description="Level down";
  40.  
  41.   area="Tree"; key="CtrlPgDn Right";
  42.  
  43.   uid="1D7A9503-8116-434D-B952-EA602C79C4BA";
  44.  
  45.   action=function()
  46.  
  47.     local pos = APanel.CurPos
  48.  
  49.     local path = pos<APanel.ItemCount and Panel.Item(active,pos+1)
  50.  
  51.     if path and path:match(APanel.Current.."\\",1,noRE) then
  52.  
  53.       Keys"Down"
  54.  
  55.     end
  56.  
  57.     Keys"Enter"
  58.  
  59.   end;
  60.  
  61. }
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by techie »

OMG!!! Lua!

А можно как-нибудь без магии (гуиды уж больно страшно выглядят)? Просто кнопки добавить, чтобы юзабилити по умолчанию совпадала с файловой панелью.
User avatar
John Doe
Бюрократ
Posts: 13853
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by John Doe »

Будет работать и без гуидов.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by techie »

Зачем тогда гуид?
User avatar
John Doe
Бюрократ
Posts: 13853
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by John Doe »

Чтобы однозначно идентифицировать макрос.
Это даёт возможность в дальнейшем изменять его параметры в диалоге, не затрагивая макрофайл.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by techie »

Чем комбинация area="Tree"; key="CtrlPgUp Left"; за идентификатор не катит? Это же то, что люди используют для того, чтобы его вызывать и находить.
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by zg »

techie wrote:Чем комбинация area="Tree"; key="CtrlPgUp Left"; за идентификатор не катит?
нет, она не уникальна.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by techie »

Чего не хватает для уникальности?
User avatar
zg
zero-gravity
Posts: 6035
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by zg »

techie wrote:Чего не хватает для уникальности?
гуида.
User avatar
t-rex
Страшный и ужасный
Posts: 4910
Joined: Tue 15 Mar, 2005 16:17
Location: Tel-Aviv
Has thanked: 1 time
Been thanked: 8 times
Contact:

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by t-rex »

срочно надо лайки в форум добавить :)
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by gotar »

techie wrote:Чего не хватает для уникальности?
На одну клавишу можно повесить несколько макросов. Рекомендую по слову guid поискать этот форум и посмотреть прошлые обсуждения этого вопроса.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by techie »

gotar wrote:
techie wrote:Чего не хватает для уникальности?
На одну клавишу можно повесить несколько макросов. Рекомендую по слову guid поискать этот форум и посмотреть прошлые обсуждения этого вопроса.
Только что попробовал записать. Повторная попытка записи макроса на одну и ту же комбинацию удаляет старый макрос. Допустим, API позволяет это обойти. Как в таком случае Far определяет в какой последовательности выполнять эти макросы? Как это используется?
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by Shmuel »

techie wrote:Только что попробовал записать. Повторная попытка записи макроса на одну и ту же комбинацию удаляет старый макрос.
Клавиатурные макросы не могут быть более одного на сочетание {area,key}. Стационарные могут. Читайте документацию.
gotar
Posts: 420
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Re: Вбок и Ctrl+PgUp/PgDn для Tree panel

Post by gotar »

Если Вы вешаете несколько макросов на одну клавишу с одинаковым приоритетом появляется меню, иначе выполняется макрос с большим приоритетом. Попробуйте, это очень просто. Клавиатурные макросы хранятся в %FARPROFILE%\Macros\internal. Их легко преобразовать в стационарные. Lua очень маленький язык. Его синтаксис умещается на одну станицу. Посмотрев несколько примеров Вы сможете на нем писать простые макросы.
Post Reply

Return to “Предложения и идеи”