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

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

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

Post 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. }
Last edited by John Doe on Fri 06 Oct, 2017 07:49, edited 1 time in total.
Reason: descriptions

Shmuel
Posts: 5960
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 24 times
Been thanked: 256 times

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

Post by Shmuel »

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

User avatar
HaRT
Moderator
Posts: 9229
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 91 times
Been thanked: 192 times

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

Post by HaRT »

Спасибо!
Из списка сообщений luacheck почему-то не копируются восклицательные знаки из начала элементов списка…
Shmuel wrote: Назначить на другие сочетания, например, добавить Alt.
Я себе назначил на [b]CtrlAltShiftC[/b] и [b]CtrlAltShiftIns[/b] соответственно.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
John Doe
Бюрократ
Posts: 12589
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 34 times
Been thanked: 256 times

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

Post by John Doe »

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

User avatar
John Doe
Бюрократ
Posts: 12589
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 34 times
Been thanked: 256 times

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

Post by John Doe »

Обновил макросы. Теперь работают в любых меню и списках.

User avatar
HaRT
Moderator
Posts: 9229
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 91 times
Been thanked: 192 times

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

Post by HaRT »

John Doe wrote: Теперь работают в любых меню и списках.
Спасибо!
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
Xerox
Posts: 393
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 8 times

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

Post by Xerox »

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

citRiks
Posts: 168
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 26 times
Been thanked: 21 times

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

Post by citRiks »

Xerox,

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

User avatar
Xerox
Posts: 393
Joined: Sun 20 Oct, 2019 15:50
Has thanked: 354 times
Been thanked: 8 times

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

Post by Xerox »

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

Post Reply

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