Позиционирование после выхода из панели плагина

Место, где разработчики плагинов могут поделиться своим опытом.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Позиционирование после выхода из панели плагина

Post by Shmuel »

Если открыть *.temp файл плагином TmpPanel, а затем нажать Enter на .. - возвращаемся в панель Фара, но курсор уже стоит не на файле в который мы входили, а на .. панели Фара (что раздражает). В то же время плагин arclite, при входе в файл и выходе по .., позиционирует курсор снова на этот файл (что логично и удобно).

Вроде для TmpPanel при нажатии на .. SetDirectoryW не вызывается...

Вопрос: это забота плагина или Фара вернуться на исходный файл? И если плагина, то откуда он знает, что панель закрыта именно нажатием на .., если SetDirectoryW не вызывается?
User avatar
HaRT
Moderator
Posts: 10858
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Re: Позиционирование после выхода из панели плагина

Post by HaRT »

Shmuel
Так это жалоба на TmpPanel или вопрос, как управлять этим в своём панельном плагине?
Фар есть инструмент, а не нянька. © 2009 DrKnS
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Позиционирование после выхода из панели плагина

Post by Shmuel »

Второе. Но и в TmpPanel не мешало бы поправить.
User avatar
SlashNet
Posts: 638
Joined: Fri 20 Mar, 2009 09:43
Location: Львов
Has thanked: 16 times
Been thanked: 16 times

Re: Позиционирование после выхода из панели плагина

Post by SlashNet »

А в *.temp, случайно, не префиксом заходится?
Если в архивы (как Мультиарк так и Арклайт) заходить через ком строку, то курсор при выходе тоже сбрасывается на .. .

UPD: Пардон. Сбрасывается выделение.
ədиw wo⊥є ʚ o⊥ʎнdəʚədəu əɔʚ
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Позиционирование после выхода из панели плагина

Post by NightRoman »

HaRT wrote:Shmuel
Так это жалоба на TmpPanel или вопрос, как управлять этим в своём панельном плагине?
Думается, второе. Хотя если в Фаре механизм не предусмотрен, то можно TmpPanel попросить и доработать, весьма популярный плагин, а такой занудный недочет имеет.

Обсуждалось. Ни к чему вроде не пришло. Тикет есть (там же и ссылка на форум)
http://bugs.farmanager.com/view.php?id=1114

В Фарнет панелях я это решил. Панели Фарнет модулей могут об этом не беспокоится, все восстанавливается автоматически. Но поведение нативного плагина TmpPanel анноит.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Позиционирование после выхода из панели плагина

Post by Shmuel »

SlashNet wrote:А в *.temp, случайно, не префиксом заходится?
Если в архивы (как Мультиарк так и Арклайт) заходить через ком строку, то курсор при выходе тоже сбрасывается на .. .
Нет, не префиксом.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Позиционирование после выхода из панели плагина

Post by Shmuel »

NightRoman wrote:Тикет есть (там же и ссылка на форум)
http://bugs.farmanager.com/view.php?id=1114

В Фарнет панелях я это решил. Панели Фарнет модулей могут об этом не беспокоится, все восстанавливается автоматически.
Ого, тикету уже больше двух лет.
А как Фарнет узнаёт, что его панель была закрыта именно по .. ? Перехватом нажатий клавиш?
User avatar
Alexey Samlyukov
Posts: 1765
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 7 times
Contact:

Re: Позиционирование после выхода из панели плагина

Post by Alexey Samlyukov »

я когда то правил TmpPanel,
делал так:

Code: Select all

+    // по выходу с панели по <..> вернемся откуда пришли
+    if (Ret && !lstrcmp(CurFileName,_T("..")))
+    {
+      SetDirectory(StartupCurDir,0);
+      return(TRUE);
+    }
можно посмотреть у меня на свн. можно дальше доработать.
User avatar
NightRoman
Posts: 6184
Joined: Fri 18 Aug, 2006 13:52
Location: Cambridge, UK
Has thanked: 32 times
Been thanked: 62 times
Contact:

Re: Позиционирование после выхода из панели плагина

Post by NightRoman »

Shmuel wrote:А как Фарнет узнаёт, что его панель была закрыта именно по .. ? Перехватом нажатий клавиш?
А... Там я выкрутился тем, что панели там в основном по Esc закрываются (при пустой комстроке). То есть закрывает, суть, плагин. А потому перед запуском панели все запоминается, а по выходу восстанавливается.

Может, в TmpPanel и не просто это будет сделать, но все равно все можно, если захотеть.

Но вообще Фар должен этим заниматься, а не плагины. Тикет есть...
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Позиционирование после выхода из панели плагина

Post by Shmuel »

Alexey Samlyukov wrote:я когда то правил TmpPanel,
делал так:

Code: Select all

+    // по выходу с панели по <..> вернемся откуда пришли
+    if (Ret && !lstrcmp(CurFileName,_T("..")))
+    {
+      SetDirectory(StartupCurDir,0);
+      return(TRUE);
+    }
можно посмотреть у меня на свн. можно дальше доработать.
Взял с SVN, перевёл на API 3-го Фара, - поведение не изменилось. То-есть FCTL_CLOSEPANEL работает (специально подставлял разные папки), но позиционирования на исходный файл - нет.
User avatar
chupakabra
Posts: 1023
Joined: Wed 27 Jul, 2005 19:36
Contact:

Re: Позиционирование после выхода из панели плагина

Post by chupakabra »

Восстанавливает позицию Far. Вроде надо в OpenPanelInfo::HostFile полный путь указывать.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Позиционирование после выхода из панели плагина

Post by Shmuel »

chupakabra wrote:Восстанавливает позицию Far. Вроде надо в OpenPanelInfo::HostFile полный путь указывать.
Вот это - сработало !!! Большое спасибо.
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Позиционирование после выхода из панели плагина

Post by John Doe »

Сработало - хорошо.
Но ведь по сути тот самый файл вовсе не связан с панелью, и уж тем более не является её хостфайлом.
Shmuel
Posts: 6834
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Позиционирование после выхода из панели плагина

Post by Shmuel »

John Doe wrote:Сработало - хорошо.
Но ведь по сути тот самый файл вовсе не связан с панелью, и уж тем более не является её хостфайлом.
:?:
User avatar
John Doe
Бюрократ
Posts: 13851
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Позиционирование после выхода из панели плагина

Post by John Doe »

:!:
Post Reply

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