APanel.Path0 -- как получить аналог из плагина?

Место, где разработчики плагинов могут поделиться своим опытом.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by NightRoman »

Latest post of the previous page:

zg wrote: Mon 25 Dec, 2017 17:08а каков вообще сценарий использования Path0?
Для сохранения на диск чего-то с панели папка по умолчанию была бы очень полезна. В своем плагине пока запоминаю текущую папку при старте панели. В принципе, так жить можно. Но есть проблема, если панель сама запускается из плагиновой панели, тогда непонятно, как эту папку получить.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by John Doe »

NightRoman wrote: Tue 26 Dec, 2017 07:15Но есть проблема, если панель сама запускается из плагиновой панели, тогда непонятно, как эту папку получить.
getcurrentdirectory не оно?
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by zg »

2useven10 wrote: Tue 26 Dec, 2017 06:24Если открывать через префикс, этой информации всё равно не будет ?
не очень понятно, о чем речь. если про ком строку, то там вложенный архив через префикс не откроешь. если про ассоциации — то там сейчас всё в любом случае плохо, фар контекст теряет и например внешний архив не обновляет.
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

zg wrote: Tue 26 Dec, 2017 11:32не очень понятно, о чем речь.
О комстроке.
При открытии обычного (не вложенного) архива через префикс информация о родительской панели из AnaliseInfo будет недоступна.
В OpenCommandLineInfo тоже надо будет добавлять?
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

А также OpenShortcutInfo и м.б. ещё какие-то инфо.
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by zg »

зачем? в чём польза?
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

Как мне казалось суть предложения было в добавлении информации о родительской панели при открытии панели плагина.
Если добавлять, то везде. Если это делать только для детекта вложенного архива - добавлять надо флаг 'вложенный архив'.
Как-то так, если конечно мы говорим об одном и том же...
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by zg »

2useven10 wrote: Tue 26 Dec, 2017 13:11Как мне казалось суть предложения было в добавлении информации о родительской панели при открытии панели плагина.
предложение было — возвращать хендл родительской панели. для фаровской там будет nullptr. при вызове из комстроки, по шорткату и т.д. там всегда будет nullptr — смысл добавлять поле с константным значением.
2useven10 wrote: Tue 26 Dec, 2017 13:11Если это делать только для детекта вложенного архива - добавлять надо флаг 'вложенный архив'.
а скажите пожалуйста, как для флага вызвать FCTL_GETPANELINFO и узнать состояние флага PFLAGS_REALNAMES? это вот вам для арклайта прямо нужно. для хендла — очевидно как.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by NightRoman »

John Doe wrote: Tue 26 Dec, 2017 10:16
NightRoman wrote: Tue 26 Dec, 2017 07:15Но есть проблема, если панель сама запускается из плагиновой панели, тогда непонятно, как эту папку получить.
getcurrentdirectory не оно?
Там все, что угодно может быть, в зависимости от того, что у плагина панели является файловой системой.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by John Doe »

NightRoman wrote: Tue 26 Dec, 2017 13:42Там все, что угодно может быть
Да нет же, там реальный путь, как и в Path0
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

zg wrote: Tue 26 Dec, 2017 13:38там всегда будет nullptr
Т.е. вложенность возможна только при открытии через Analize, тогда да - смысла нет.
Для меня это не очевидно...

Посмотрел, и в самом деле:
открыл архив из временной панели через arc:, при выходе оказываешься не во временной, а в обычной файловой панели.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by NightRoman »

John Doe wrote: Tue 26 Dec, 2017 13:58
NightRoman wrote: Tue 26 Dec, 2017 13:42Там все, что угодно может быть
Да нет же, там реальный путь, как и в Path0
А, тогда я проглядел слона-то. Надо будет задействовать. Спасибо.
2useven10
Posts: 5205
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

APanel.Path0 -- как получить аналог из плагина?

Post by 2useven10 »

zg, Наверное можно ничего не добавлять.
Ту же информацию можно получить в ф-и OpenW() плагина (до создания его панели) через FCTL_GETPANELINFO, PANEL_ACTIVE.
Или я не прав?
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

APanel.Path0 -- как получить аналог из плагина?

Post by zg »

2useven10 wrote: Tue 26 Dec, 2017 16:44Ту же информацию можно получить в ф-и OpenW() плагина (до создания его панели) через FCTL_GETPANELINFO, PANEL_ACTIVE.
скорее всего — да.
Post Reply

Return to “Разработка плагинов”