View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002270 | Wishes | User Menu | public | 2013-01-24 09:21 | 2017-12-17 11:13 |
Reporter | Smitis | Assigned To | |||
Priority | normal | Severity | feature | Reproducibility | have not tried |
Status | new | Resolution | reopened | ||
Product Version | 3.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0002270: Пользовательское меню из любого файла | ||||
Description | По F2 вызывается пользовательское меню из файла с фиксированым именем и фиксированым размещением (кроме локального, где фиксировано только имя). Предлагаю сделать возможным вызов из макросов пользовательского меню из любых файлов. Например так: Menu.Open(filemenu [,mode]) где filemenu - имя файла, содержащего меню mode - режим открытия: 0 - по умолчанию, если путь к файлу не задан, искать в текущей папке 1 - если путь к файлу не задан, искать в папке menu профиля 0x10 - запретить вносить изменения в меню и т.п. Возвращаемые значения: 0 - файл меню не найден 1 - меню закрыто по Esc 2 - выполнен пункт меню и т.д. Вызваное меню может редактироваться, как обычное пользовательское по F2 (вставка/удаление пунктов и подменю, изменение положение, AltF4) Расширение по умолчанию использовать .farmenu (что бы можно было повесить ассоциации). Можно изменить поведение F2 для локальных меню - если в текущей папке несколько файлов меню, выводить их список. | ||||
Additional Information | Обсуждение http://forum.farmanager.com/viewtopic.php?f=6&t=7649 | ||||
Tags | No tags attached. | ||||
Build | 3226 | ||||
related to | 0003570 | new | Действие клавиши BS в "Меню пользователя" сделать полновесным. |
|
build 3222. Часть 1: внутренняя реализация. Добавлен конструктор UserMenu(filename). Ожидается, что filename - полный путь к файлу с меню. Можно реализовывать упомянутую макрофункцию Menu.Open(filemenu [,mode]) :-) |
|
3223: добавлена макрофункция mf.usermenu(filename [,mode]). Если 'mode' равен 0 или не задан, файл открывается "как есть", т.е. по заданному 'filename'. Если 'mode' равен 1, файл открывается в %farprofile%\Menus (папка создаётся автоматически). |
|
3224: расширение функциональности mf.usermenu. Полное описание - в macroapi_manual.chm. |
|
Наверное, можно закрывать |
|
Закрываю. Если надо будет, всегда можно переоткрыть. |
|
Предлагается доработка - добавить необязательный третий параметр, выводимый в заголовок меню вместо непонятных "User menu". Diff в теме обсуждения http://forum.farmanager.com/viewtopic.php?f=15&t=7770&p=112771#p112771 |
|
Я смотрел ваш предыдущий патч и новый тоже сейчас. Предлагаемые изменения говорят о том, что вы не изучили usermenu.cpp в достаточной степени, в частности, моменты, связанные с реакцией меню на некоторые клавиши, кроме того, там есть завязки на Title==nullptr, - эти вещи поломаются. Да и в macros.cpp изменение не проверяет, есть ли достаточно аргументов, что может привести к падению. Не всё так просто. Как и раньше, у меня нет времени заниматься самим usermenu. Найдите кого-нибудь из Far-team, кто бы привёл usermenu.hpp/.cpp к нужному вам состоянию, остальное я сделаю. |
|
Именно так - если заголовок nullptr, выводится "User menu" или "Main menu". А мы теперь передаём значение, отличное от null и оно выводится в заголовок. А потом от него строится вся цепочка menu\submenu\subsubmenu выводимая в заголовок. При пустой строке всё остаётся по старому. Количество аргументов не проверяется, просто при создании меню вызывается соответствующий конструктор. Во всяком случае, я с мая месяца использую патченую версию (самые последние билды только не патчил, кроме 3625 к которому делал diff). Меню пользуюсь очень интенсивно (и глобальное и пользовательское). Никаких падений. |
|
Не буду спорить (нет времени). Юзерменю - не моя область Фара, вносить в неё изменения для меня означает будущую поддержку этих изменений - вот этого-то мне и не надо. Просто, чтобы вы поняли мою позицию. Есть живые и здравствующие члены Far-team, которые знают юзерменю вдоль и поперёк, вот пусть они это и делают, а я по части макросов доведу их изменения до конца. |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-01-24 09:21 | Smitis | New Issue | |
2013-01-29 22:50 | alexy | Project | Far Manager => Wishes |
2013-01-29 22:51 | alexy | Category | Macro => User Menu |
2013-02-28 07:53 | vskirdin | Note Added: 0010397 | |
2013-02-28 07:53 | vskirdin | Note Edited: 0010397 | |
2013-02-28 17:00 | shmuel | Note Added: 0010404 | |
2013-02-28 19:49 | shmuel | Note Added: 0010405 | |
2013-03-07 14:57 | shmuel | Assigned To | => shmuel |
2013-03-07 14:57 | shmuel | Status | new => feedback |
2013-03-07 20:57 | Smitis | Note Added: 0010483 | |
2013-03-07 20:57 | Smitis | Status | feedback => assigned |
2013-03-07 21:09 | shmuel | Build | => 3226 |
2013-03-07 21:09 | shmuel | Note Added: 0010484 | |
2013-03-07 21:09 | shmuel | Status | assigned => closed |
2013-03-07 21:09 | shmuel | Resolution | open => fixed |
2013-03-07 21:09 | shmuel | Fixed in Version | => 3.0 |
2013-08-29 14:06 | Smitis | Note Added: 0011369 | |
2013-08-29 14:06 | Smitis | Status | closed => feedback |
2013-08-29 14:06 | Smitis | Resolution | fixed => reopened |
2013-08-29 14:21 | shmuel | Note Added: 0011370 | |
2013-08-29 14:53 | shmuel | Status | feedback => new |
2013-08-29 14:53 | shmuel | Assigned To | shmuel => |
2013-08-30 15:36 | Smitis | Note Added: 0011387 | |
2013-08-30 15:37 | Smitis | Note Edited: 0011387 | |
2013-08-30 17:15 | shmuel | Note Added: 0011388 | |
2017-12-17 11:13 | JohnDoe | Relationship added | related to 0003570 |