Копирование содержимого меню и списков

Здесь обсуждается всё, что касается макросов.
Post Reply
User avatar
John Doe
Бюрократ
Posts: 13847
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Копирование содержимого меню и списков

Post by John Doe »

По мотивам http://forum.farmanager.com/viewtopic.p ... 13#p131013
  • CtrlAltShiftIns — копировать в буфер обмена элемент под курсором

    CtrlAltShiftC — копировать в буфер обмена все элементы списка
  1. local function isList()
  2.  
  3.   return not Area.Dialog or Dlg.ItemType==far.Flags.DI_LISTBOX
  4.  
  5. end
  6.  
  7.  
  8.  
  9. Macro { description="Copy list's item to clipboard";
  10.  
  11.   area="Menu MainMenu UserMenu Dialog"; key="CtrlAltShiftIns";
  12.  
  13.   id="01B81353-4AE6-41A9-8DAE-B37CF1718EBE";
  14.  
  15.   condition=isList;
  16.  
  17.   action=function()
  18.  
  19.     far.CopyToClipboard(Menu.Value)
  20.  
  21.   end;
  22.  
  23. }
  24.  
  25.  
  26.  
  27. Macro { description="Copy all list's items to clipboard";
  28.  
  29.   area="Menu MainMenu UserMenu Dialog"; key="CtrlAltShiftC";
  30.  
  31.   id="2DD088FB-C840-43A3-9D58-B9B8C03D5174";
  32.  
  33.   condition=isList;
  34.  
  35.   action=function()
  36.  
  37.     local hDlg = far.AdvControl("ACTL_GETWINDOWINFO").Id
  38.  
  39.     if hDlg==0 then Keys"AKey"; return end --HMenu
  40.  
  41.     local list = far.GetDlgItem(hDlg,1)[6]
  42.  
  43.     local txt = {}
  44.  
  45.     for i=1,#list do
  46.  
  47.       txt[i] = list[i].Text:gsub("^&","")
  48.  
  49.     end
  50.  
  51.     far.CopyToClipboard(table.concat(txt,"\n"))
  52.  
  53.   end;
  54.  
  55. }
Last edited by John Doe on Fri 06 Oct, 2017 07:49, edited 1 time in total.
Reason: descriptions
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Копирование содержимого меню

Post by Shmuel »

John Doe wrote: Однако есть загвоздка: назначив такие общие макросы мы потеряем возможность обрабатывать CtrlIns и CtrlC в диалогах/меню...
Назначить на другие сочетания, например, добавить Alt.
User avatar
HaRT
Moderator
Posts: 10854
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Копирование содержимого меню

Post by HaRT »

Спасибо!
Из списка сообщений luacheck почему-то не копируются восклицательные знаки из начала элементов списка…
Shmuel wrote: Назначить на другие сочетания, например, добавить Alt.
Я себе назначил на CtrlAltShiftC и CtrlAltShiftIns соответственно.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13847
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Копирование содержимого меню

Post by John Doe »

HaRT wrote: Из списка сообщений luacheck почему-то не копируются восклицательные знаки из начала элементов списка…
Потому что они не являются частью текста.
(я их вообще для себя добавляю, luacheck ничего такого не выдаёт)
User avatar
John Doe
Бюрократ
Posts: 13847
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Копирование содержимого меню

Post by John Doe »

Обновил макросы. Теперь работают в любых меню и списках.
User avatar
HaRT
Moderator
Posts: 10854
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Копирование содержимого меню и списков

Post by HaRT »

John Doe wrote: Теперь работают в любых меню и списках.
Спасибо!
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
Xerox
Posts: 395
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Копирование содержимого меню и списков

Post by Xerox »

Я вот что не понимаю
Я как-то думал что КтрлАльтШифт делает временное исчезание (до отпускания) текущего окна
НАпример, если мы в панелях шелла, то это убират панели и видно окно вывода.
Если же мы стоим на меню, то менюс убирается таким же образом.
и вот я когда делаю КТрлАЛЬтШифт+C, то у меня окно и исчезает (как бы не дожидаясЬ "C") и копирования не происxодит
КТрлАЛЬтШифт - это системная же прибамбасина, нe так ли?
Что с этим делать?
User avatar
Xerox
Posts: 395
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 9 times

Копирование содержимого меню и списков

Post by Xerox »

citRiks, вот оно чо, михалыч ..
но это не по умолчанию получаются настройки,
поэтому надо бы предупреждать как-то! )
Post Reply

Return to “Обсуждение макросов”