View Issue Details

IDProjectCategoryView StatusLast Update
0002406Far ManagerMacropublic2018-01-05 16:11
ReporterJohnDoeAssigned Tozg 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionreopened 
Product Version3.0 
Target VersionFixed in Version 
Summary0002406: Panel.SetPath не работает
DescriptionВ редакторе/вьювере (т.е. при неактивных панелях) функция успешно позицинирется на файл только если указанная папка уже открыта в панелях.
Panel.SetPath(0,"c:\\","pagefile.sys")

Соответствующая функция LuaFAR - panel.SetPanelDirectory - в этой ситуации работает нормально (т.е. независимо от "активности" панелей открывает на них указанную папку).
panel.SetPanelDirectory (nil, 1, "c:\\")

Предлагаю поправить Panel.SetPath
TagsNo tags attached.
Build5106

Relationships

related to 0002737 closedzg Wishes FCTL_SETPANELDIR напрасно закрывает панели плагинов. 
related to 0001678 closed Wishes Тихое поведение panel.setpath() при несуществующем пути 
related to 0001681 assignedvskirdin Far Manager panel.setpath() не работает с плагинами 

Activities

JohnDoe

2014-06-10 13:50

updater   bugnote:0012494

Описанная особенность свойственна и прочим функциям макроязыка.
Если это менять, то как-то глобально.

Данный тикет стоит закрыть.

JohnDoe

2017-09-03 14:53

updater   bugnote:0015550

Наблюдаю и другую особенность, которая точно баг.
Запускаю фар (без макросов), открываю любой редактор/вьювер, возвращаюсь в панели (CtrlTab)
На панели должен быть любой путь, кроме того, который буду пытаться установить, т.е. не C:\

Выполняю в командной строке:
lua:Keys"F12 2"; Panel.SetPath(0,"C:\\"); Keys"F12 1";
Наюлюдаю, что судя по заголовку панели папка изменилась, а вот содержимое панели нет. И это не просто визуальный глюк, перерисовка панели не помогает:
lua:panel.RedrawPanel(nil,1)


CtrlR исправляет проблему

JohnDoe

2017-09-05 11:48

updater   bugnote:0015552

Last edited: 2017-11-20 21:06

View 2 revisions

Перенёс к багам, проблема очень неприятная.

zg

2017-11-26 18:06

developer   bugnote:0015849

630.

JohnDoe

2017-11-27 12:24

updater   bugnote:0015850

В случае, если не удалось перейти в path раньше выдавалась ошибка:
╔═════════════════ Error ══════════════════╗

║                  Xxxxxx                  ║
║ Системе не удается найти указанный путь. ║
╟──────────────────────────────────────────╢

║                  { OK }                  ║
╚══════════════════════════════════════════╝

zg

2017-11-27 12:39

developer   bugnote:0015851

в документации этого не было, при этом есть результат, который об этом сообщает. не очень понятно, было ли сообщение об ошибке задуманным поведением.

DrKnS

2017-11-27 12:49

administrator   bugnote:0015852

Результата достаточно, заодно и #0001678 можно закрыть.

JohnDoe

2017-11-27 13:37

updater   bugnote:0015853

zg wrote

не очень понятно, было ли сообщение об ошибке задуманным поведением.
Это характерно и для других функций макро апи (уточню), возможно для единообразия определённый смысл есть.

JohnDoe

2017-11-27 13:48

updater   bugnote:0015854

Last edited: 2017-11-27 13:49

View 2 revisions

Panel.SetPath ранее работал с плагиновыми панелями
lua:=Panel.SetPath(0,[[HKEY_CURRENT_USER\SOFTWARE\7-Zip\Compression]])


Если на панели был открыт RegistryBrowser, то всё работало.

zg

2017-11-28 19:04

developer   bugnote:0015855

631.

JohnDoe

2017-11-29 13:04

updater   bugnote:0015857

Last edited: 2017-11-29 13:18

View 4 revisions

Если в плагиновой панели использовать относительные пути ("..","\\"), то она закрывается, и работа идёт с реальной панелью.
Раньше работало с плагиновой.

И ещё одно различие.
В панели regbrowser пытаюсь перейти в несуществующий путь:
lua:=Panel.SetPath(0,[[HKEY_CURRENT_USER\SOFTWARE\7-Zip\Compression1]])
Вижу сообщение "Элемент не найден." на фоне погашенной панели.
Раньше панель не гасилась.
Но суть не в гашении, а в том, что раньше работа проводилась в открытой панели, с её элементами, а сейчас похоже открывается новая панель, со всеми вытекающими.

zg

2017-11-29 14:54

developer   bugnote:0015858

JohnDoe wrote

Раньше работало с плагиновой.
это можно исправить.
JohnDoe wrote

Вижу сообщение "Элемент не найден." на фоне погашенной панели.
это баг в regbrowsere, OPM_SILENT — передаётся.
JohnDoe wrote

а сейчас похоже открывается новая панель, со всеми вытекающими.
да. либо так, либо могу вернуть как было, за следующие 4.5 года может кто-нибудь и исправит.

JohnDoe

2017-11-29 16:46

updater   bugnote:0015860

zg wrote

это баг в regbrowsere, OPM_SILENT — передаётся.
В tmppanel аналогично.
zg wrote

да. либо так, либо могу вернуть как было, за следующие 4.5 года может кто-нибудь и исправит.
Не берусь сейчас сказать как лучше, но на некоторых плагинах переоткрытие процесс длительный.
Не проверял, но также подозреваю, что старая функция могла работать и на панелях без OPIF_SHORTCUT.

Если пофантазировать, то чего не хватает сейчас в апи, чтобы ходить по чужой панели?

zg

2017-11-29 17:38

developer   bugnote:0015861

JohnDoe wrote

В tmppanel аналогично
там такая реализация, панель закрывается и переданный путь передаётся фару для установки. а он уже про OPM_SILENT ничего не знает. в regeditor, например, сообщений об ошибке не выдаёт.
JohnDoe wrote

Если пофантазировать, то чего не хватает сейчас в апи, чтобы ходить по чужой панели?
всего?
из простого решения, доработать FCTL_SETPANELDIRECTORY, что при условии совпадения всех параметров, кроме текущей папки, не переоткрывать плагин. на первый взгляд — решит все проблемы.

JohnDoe

2017-11-29 18:06

updater   bugnote:0015862

zg wrote

доработать FCTL_SETPANELDIRECTORY, что при условии совпадения всех параметров, кроме текущей папки, не переоткрывать плагин

Есть такой тикет 0002737

zg

2017-11-29 20:11

developer   bugnote:0015864

632.

JohnDoe

2017-11-30 10:46

updater   bugnote:0015871

Работает, кроме относительных путей.
lua:=Panel.SetPath(0,"..")

По этой команде плагиновая панель закрывается, и действие выполняется в реальной.

zg

2017-11-30 14:18

developer   bugnote:0015873

633.

JohnDoe

2017-12-01 19:31

updater   bugnote:0015882

lua:=Panel.SetPath(0,"\\Windows")

Закрывает панель плагина и выполняет действие в реальной.
Раньше такой путь (будучи относительным) обрабатывался внутри панели, и это как мне кажется было правильнее.

zg

2017-12-02 18:40

developer   bugnote:0015886

634.

Issue History

Date Modified Username Field Change
2013-05-03 18:07 JohnDoe New Issue
2014-06-10 13:50 JohnDoe Note Added: 0012494
2014-06-10 21:47 shmuel Build => 0
2014-06-10 21:47 shmuel Status new => closed
2014-06-10 21:47 shmuel Resolution open => suspended
2017-09-03 14:53 JohnDoe Note Added: 0015550
2017-09-03 14:53 JohnDoe Status closed => feedback
2017-09-03 14:53 JohnDoe Resolution suspended => reopened
2017-09-05 11:48 JohnDoe Note Added: 0015552
2017-09-05 11:48 JohnDoe Status feedback => new
2017-11-20 21:03 JohnDoe Project Wishes => Far Manager
2017-11-20 21:04 JohnDoe Summary Panel.SetPath при неактивных панелях => Panel.SetPath не работает
2017-11-20 21:06 JohnDoe Note Edited: 0015552 View Revisions
2017-11-26 18:06 zg Note Added: 0015849
2017-11-27 12:24 JohnDoe Note Added: 0015850
2017-11-27 12:39 zg Note Added: 0015851
2017-11-27 12:49 DrKnS Note Added: 0015852
2017-11-27 13:37 JohnDoe Note Added: 0015853
2017-11-27 13:38 JohnDoe Relationship added related to 0001678
2017-11-27 13:48 JohnDoe Note Added: 0015854
2017-11-27 13:49 JohnDoe Note Edited: 0015854 View Revisions
2017-11-28 19:04 zg Note Added: 0015855
2017-11-29 13:04 JohnDoe Note Added: 0015857
2017-11-29 13:05 JohnDoe Note Edited: 0015857 View Revisions
2017-11-29 13:15 JohnDoe Note Edited: 0015857 View Revisions
2017-11-29 13:18 JohnDoe Note Edited: 0015857 View Revisions
2017-11-29 14:54 zg Note Added: 0015858
2017-11-29 16:46 JohnDoe Note Added: 0015860
2017-11-29 17:38 zg Note Added: 0015861
2017-11-29 18:04 JohnDoe Relationship added related to 0002737
2017-11-29 18:06 JohnDoe Note Added: 0015862
2017-11-29 20:11 zg Note Added: 0015864
2017-11-30 10:46 JohnDoe Note Added: 0015871
2017-11-30 14:18 zg Note Added: 0015873
2017-12-01 19:31 JohnDoe Note Added: 0015882
2017-12-01 19:36 JohnDoe Relationship added related to 0001681
2017-12-02 18:40 zg Note Added: 0015886
2017-12-05 10:04 JohnDoe Status new => resolved
2018-01-05 16:11 zg Assigned To => zg
2018-01-05 16:11 zg Status resolved => closed
2018-01-05 16:11 zg Build 0 => 5106