Page 1 of 1

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

Posted: Tue 07 Jul, 2015 17:18
by John Doe
По мотивам http://forum.farmanager.com/viewtopic.p ... 13#p131013
  • CtrlAltShiftIns — копировать в буфер обмена элемент под курсором

    CtrlAltShiftC — копировать в буфер обмена все элементы списка
  1. local function isList()
  2.   return not Area.Dialog or Dlg.ItemType==far.Flags.DI_LISTBOX
  3. end
  4.  
  5. Macro { description="Copy list's item to clipboard";
  6.   area="Menu MainMenu UserMenu Dialog"; key="CtrlAltShiftIns";
  7.   id="01B81353-4AE6-41A9-8DAE-B37CF1718EBE";
  8.   condition=isList;
  9.   action=function()
  10.     far.CopyToClipboard(Menu.Value)
  11.   end;
  12. }
  13.  
  14. Macro { description="Copy all list's items to clipboard";
  15.   area="Menu MainMenu UserMenu Dialog"; key="CtrlAltShiftC";
  16.   id="2DD088FB-C840-43A3-9D58-B9B8C03D5174";
  17.   condition=isList;
  18.   action=function()
  19.     local hDlg = far.AdvControl("ACTL_GETWINDOWINFO").Id
  20.     if hDlg==0 then Keys"AKey"; return end --HMenu
  21.     local list = far.GetDlgItem(hDlg,1)[6]
  22.     local txt = {}
  23.     for i=1,#list do
  24.       txt[i] = list[i].Text:gsub("^&","")
  25.     end
  26.     far.CopyToClipboard(table.concat(txt,"\n"))
  27.   end;
  28. }

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

Posted: Tue 07 Jul, 2015 17:24
by Shmuel
John Doe wrote: Однако есть загвоздка: назначив такие общие макросы мы потеряем возможность обрабатывать CtrlIns и CtrlC в диалогах/меню...
Назначить на другие сочетания, например, добавить Alt.

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

Posted: Tue 07 Jul, 2015 18:15
by HaRT
Спасибо!
Из списка сообщений luacheck почему-то не копируются восклицательные знаки из начала элементов списка…
Shmuel wrote: Назначить на другие сочетания, например, добавить Alt.
Я себе назначил на CtrlAltShiftC и CtrlAltShiftIns соответственно.

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

Posted: Tue 07 Jul, 2015 18:24
by John Doe
HaRT wrote: Из списка сообщений luacheck почему-то не копируются восклицательные знаки из начала элементов списка…
Потому что они не являются частью текста.
(я их вообще для себя добавляю, luacheck ничего такого не выдаёт)

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

Posted: Wed 08 Jul, 2015 10:52
by John Doe
Обновил макросы. Теперь работают в любых меню и списках.

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

Posted: Wed 08 Jul, 2015 11:04
by HaRT
John Doe wrote: Теперь работают в любых меню и списках.
Спасибо!

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

Posted: Sat 28 Dec, 2019 05:21
by Xerox
Я вот что не понимаю
Я как-то думал что КтрлАльтШифт делает временное исчезание (до отпускания) текущего окна
НАпример, если мы в панелях шелла, то это убират панели и видно окно вывода.
Если же мы стоим на меню, то менюс убирается таким же образом.
и вот я когда делаю КТрлАЛЬтШифт+C, то у меня окно и исчезает (как бы не дожидаясЬ "C") и копирования не происxодит
КТрлАЛЬтШифт - это системная же прибамбасина, нe так ли?
Что с этим делать?

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

Posted: Sat 28 Dec, 2019 08:15
by citRiks
Xerox,

Насчёт Ctrl+Alt+Shift смотрите System.AllCtrlAltShiftRule и System.CASRule в far:config

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

Posted: Sat 28 Dec, 2019 10:46
by Xerox
citRiks, вот оно чо, михалыч ..
но это не по умолчанию получаются настройки,
поэтому надо бы предупреждать как-то! )