Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[WFX] VirtualPanel - временная панель для ТК (Unicode)
Goto page 1, 2, 3 ... 39, 40, 41  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sat Jan 23, 2010 16:47    Post subject: [WFX] VirtualPanel - временная панель для ТК (Unicode) Reply with quote

VirtualPanel - это реализация временной панели для Total Commander. Это что-то вроде виртуальной папки для хранения ссылок на часто используемые файлы и взаимодействия с ними как с реальными файлами, а не как ссылками. Она не хранит файлы, она хранит только ссылки на них в специальных файлах-списках.
VP можно использовать как временное хранилище кучи файлов, которую нужно скопировать куда-то ещё. Также её можно использовать для каталогизации медиа файлов и для других целей. В частности, можно настроить папку для автоматического сбора файлов из нескольких каталогов компьютера.

Рад представить вам свою реализацию модуля временной панели. Появилась она по причине того, что существовавшие ранее аналоги не позволяли в полной мере использовать возможности подобных панелей. Обзор и примеры использования временных панелей в тотале можно найти здесь.

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

Временная панель позволяет хранить ссылки файлы и папки, к которым приходится часто обращаться, и собственно обращаться к ним, как к обычным файлам (в меру возможностей интерфейса файловых систем ТК).

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

Информация о последней версии

Версия: 2.0.7 32/64
URL: VirtualPanel на wincmd.ru / VirtualPanel на totalcmd.net

Требования: Windows 2000 и выше, Total Commander Smile

Возможности:

+ хранение ссылок на файлы и каталоги, а также виртуальные каталоги
+ сохранение содержимого VP при выходе, завершении работы Windows, по таймеру или после модификации
+ импорт/экспорт содержимого всей VP или отдельных папок
+ импорт/экспорт списков имен файлов (например, m3u)
+ корректная обработка операций копирования/перемещения
+ удаление файлов физически при зажатой клавише Shift
+ протоколирование операций с файлами
+ внутренние команды, расширяющие возможности (выполните команду ? для списка команд)
+ возможность выполнять команды блоками, а также создавать файлы скриптов
+ автовыполняемые скрипты при загрузке состояния или при входе в каталог
+ возможность удалённого запуска скриптов
+ виртуальный браузер с поддержкой перетаскивания файлов
+ поддержка многопоточности (фоновые операции в ТК 7.55 и более поздних)
+ поддержка внутренних ассоциаций в ТК 7.51 и более поздних
+ поддержка стандартной в ТК команды cd
+ полная поддержка Юникода

Общая информация:

Файловая система модуля может содержать три обобщенных типа объектов: виртуальный объект (файл/папка, не имеет реального источника), ссылка на реальный объект (файл/папку, хранит ссылку на источник) и реальный объект (отображаются при входе в папку-ссылку). Виртуальные файлы могут содержать скрипты (последовательности команд для выполнения), виртуальные папки обычно используются для упорядочения ссылок на реальные объекты, их можно создавать/копировать/переименовать/удалять. Для объектов-ссылок доступны привычные операции - обзор папки, запуск (открыть папки по ссылке можно через Ctlr+Enter + Enter), просмотр содержимого, открытие окна свойств, удаление, копирование/перемещение на обычную панель или в другую папку VP. При удалении объекта-ссылки удаляется только ссылка. Для удаления также и объекта-источника необходимо удержать клавишу Shift до появления диалога подтверждения. При удалении объектов внутри реальных папок запрос отображается в любом случае.

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

При копировании файлов во временную панель действие зависит от типа текущей папки назначения. Если файлы копируются в папку-ссылку, происходит физическое копирование. Если же это чисто виртуальная папка (такие показаны специальным значком папки с красной окантовкой, причем значок может быть указан пользователем в файле конфигурации), файлы добавляются к содержимому виртуальной папки (если копируется структура, ТК дублирует ее, создавая виртуальные папки). Добавление физической папки как ссылки возможно только с использованием внутренней команды <add (иное ТК пока не позволяет).

Виртуальный браузер позволяет выполнять самые базовые действия с файлами - запуск, переименование, удаление и перетаскивание во внешние окна или другие окна браузера. Поддерживаемые комбинации клавиш перечислены в файле Readme.txt.

Полную справку по параметрам, командам и скриптам смотрите в файле Readme.txt, входящему в дистрибутив модуля.


Панель инструментов, позволяющая использовать основные команды VirtualPanel:
Code:
[Buttonbar]
Buttoncount=18
button1=WCMICONS.dll,3
cmd1=%COMMANDER_PATH%\Plugins\FileSystem\VirtualPanel\VPBatch.exe
param1=^explore .
iconic1=0
menu1=V>V  Virtual Explorer
button2=
iconic2=0
button3=WCMICONS.dll,65
cmd3=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param3=/c"Добавление ссылки на временную панель" /t"%%${}Path%%\"%N /p"Добавить "%N" как:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^add "%%1" %P%N
iconic3=0
menu3=P>V  Добавить объект на временную панель...
button4=WCMICONS.dll,63
cmd4=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param4=/c"Перемещение внутри временной панели" /t"%T"%S1 /p"Переместить "%S1" в:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^exec { ^move %S1 "%%1" }
iconic4=0
menu4=V>V  Переместить объект...
button5=WCMICONS.dll,64
cmd5=%COMMANDER_PATH%\Plugins\FileSystem\VirtualPanel\VPBatch.exe
param5=^ifok "Удалить %%${}Path%%\"%S1" из виртуальной панели?" { ^del /rd "%%${}Path%%\"%S1 }
iconic5=0
menu5=V>X  Удалить объект из временной панели...
button6=WCMICONS.dll,28
cmd6=%COMMANDER_PATH%\Plugins\FileSystem\VirtualPanel\VPBatch.exe
param6=^edit "%S1"
iconic6=0
menu6=V>V  Редактировать целевой объект/скрипт...
button7=
iconic7=0
button8=WCMICONS.dll,63
cmd8=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param8=/c"Перемещение целевого объекта" /t%P%N /p"Переместить целевой объект "%S1" в:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^tgmove %S1 "%%1"
iconic8=0
menu8=V*P  Переместить целевой объект...
button9=WCMICONS.dll,32
cmd9=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param9=/c"Переименование ссылки и целевого объекта" /t%S1 /p"Переименовать "%S1" и целевой объект в:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^tgmove %S1 "%%1" ^move %S1 "%%1"
iconic9=0
menu9=V*P  Переименовать вместе с целевым объектом...
button10=
iconic10=0
button11=WCMICONS.dll,4
cmd11=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param11=/c"Загрузка файла состояния" /t%P%N /p"Укажите путь к файлу состояния:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^load "%%1"
iconic11=0
menu11=P>V  Загрузить файл состояния...
button12=WCMICONS.dll,76
cmd12=%COMMANDER_PATH%\Plugins\FileSystem\VirtualPanel\VPBatch.exe
param12=^ifok "Удалить всё содержимое папки %%${}Path%%?" { ^del /rd "%%${}Path%%\*" }
iconic12=0
menu12=V>X  Очистить текущую папку...
button13=WCMICONS.dll,51
cmd13=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param13=/c"Загрузка файла состояния в папку" /t%P%N /p"Файл состояния для загрузки в %%${}Path%%:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^load "%%1" .
iconic13=0
menu13=P>V  Загрузить содержимое файла состояния в текущую папку...
button14=
iconic14=0
button15=WCMICONS.dll,50
cmd15=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
param15=/c"Экспорт списка имен файлов" /t%P"%O".m3u /p"Создаваемый список MP3-файлов из %%${}Path%%:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^export /a "%%1" . *.mp3
iconic15=0
menu15=P<V  Создать M3U-список из MP3-файлов текущей виртуальной папки...
button16=
iconic16=0
button17=WCMICONS.dll,34
cmd17=%COMMANDER_PATH%\Plugins\FileSystem\VirtualPanel\VPBatch.exe
param17=^prop
iconic17=0
menu17=Параметры
button18=WCMICONS.dll,34
cmd18=%COMMANDER_PATH%\Plugins\FileSystem\VirtualPanel\VPBatch.exe
param18=^config
iconic18=0
menu18=Настройки

Сохраните как VirtualPanel.bar и добавьте на панель инструментов. Пути к VPBatch.exe и AskParam.exe нужно прописать свои.


Last edited by MVV on Wed May 01, 2019 22:25; edited 45 times in total
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Sat Jan 23, 2010 17:00    Post subject: Reply with quote

http://forum.wincmd.ru/viewtopic.php?t=12825
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
GGS



Joined: 02 May 2009
Posts: 322

Post (Separately) Posted: Sat Jan 23, 2010 17:54    Post subject: Reply with quote

MVV wrote:
Также постараюсь ответить на любые вопросы касательно модуля и его взаимодействия с ТК.

Возможно ли сделать поддержку имён в unicode?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sat Jan 23, 2010 20:21    Post subject: Reply with quote

GGS wrote:
Возможно ли сделать поддержку имён в unicode?

Пока не планирую, т.к. придется все переделывать. Возможно только в отдельной версии модуля - UWFX, поддерживающего Юникод. Хотя, с учетом того, что возврата к 9x уже не будет, наверное переведу на Unicode.

Вахмурка wrote:
http://forum.wincmd.ru/viewtopic.php?t=12825

Бли-и-ин, спасибо, я видел эту тему, и писал в нее бооольшое сообщение.... но видимо заморочился с окнами в браузере и закрыл его... Sad Придется восстанавливать...
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
GGS



Joined: 02 May 2009
Posts: 322

Post (Separately) Posted: Sat Jan 23, 2010 22:37    Post subject: Reply with quote

Когда я кидаю на VP файл с CD, он имеет атрибут только для чтения и удалить эту запись с VP очень проблематично.
Приходится вручную редактировать файл указанный в DefFileList=

Или я не всё понимаю и есть цивилизованный способ?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sat Jan 23, 2010 23:11    Post subject: Reply with quote

Ну почему же, можно снять атрибут через стандартное тоталовское окно изменения атрибутов, сразу для всех выделенных файлов - только диск вытащить перед этим. А вообще, щас посмотрю, что можно сделать.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
GGS



Joined: 02 May 2009
Posts: 322

Post (Separately) Posted: Sat Jan 23, 2010 23:32    Post subject: Reply with quote

Этот атрибут не снимается Sad
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sat Jan 23, 2010 23:37    Post subject: Reply with quote

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

Но это извращение. В новой версии при удалении из интерфейса ТК атрибут будет сниматься автоматически перед удалением. Также добавил ключ для команды <del для форсированного удаления.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…


Last edited by MVV on Sat Jan 23, 2010 23:53; edited 3 times in total
Back to top
View user's profile Send private message
GGS



Joined: 02 May 2009
Posts: 322

Post (Separately) Posted: Sat Jan 23, 2010 23:45    Post subject: Reply with quote

Да, виноват, не вынул диск.

Но как-то не удобно, для удаления записи надо:
1. Вынуть исходный диск
2. Снять атрибут R
3. Собственно, удалить запись

А если исходный файл на HDD, то снятие атрибута R воздействует на сам файл. Это не есть хорошо.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Sun Jan 24, 2010 00:49    Post subject: Reply with quote

Я уже понял, что это не есть хорошоSmile скоро выложу обновленную версию.

Во время отладки заметил дикую фичу винды: она умудряется найти файл с именем <? Shocked (ну, создал скрипт с таким содержимым, а винда, оказывается, возвращает успех на FindFirstFile).


VirtualPanel 1.0.0.200: исправлено перемещение файла по ссылке в физическую папку, убран запрет на удаление файлов только для чтения (кроме файлов-скриптов).
Back to top
View user's profile Send private message
GGS



Joined: 02 May 2009
Posts: 322

Post (Separately) Posted: Sun Jan 24, 2010 03:45    Post subject: Reply with quote

Спасибо, теперь с удалением всё в порядке.

Заметил непривычное поведение в диалоге изменения атрибутов (arhs).
При работе с одной ссылкой предлагаются три варианта (установить, снять, без изменений), а не два (установить, снять), т.е. так как при работе с несколькими выделенными.
В штатных панелях TC эти варианты различаются и есть соответствующая привычка.
Можно ли исправить?
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Mon Jan 25, 2010 08:48    Post subject: Reply with quote

GGS wrote:
При работе с одной ссылкой предлагаются три варианта (установить, снять, без изменений), а не два (установить, снять), т.е. так как при работе с несколькими выделенными.
В штатных панелях TC эти варианты различаются и есть соответствующая привычка.

Да, я тоже обращал внимание на это, но не в моих силах что-то сделать, ТК просто сообщает мне, что надо такому-то файлу установить такой-то набор атрибутов. Пожалуй, я спрошу Гислера, почему так, может, он исправит.

Помимо этого, в следующей версии можно ожидать (был разговор), что корректно заработают параметры %P, %L и им подобные (пока они передают внутримодульные имена, с которых вне ТК толку 0). Также в следующей версии должны заработать внутренние ассоциации (нужно просто дать ТК запустить приложение - но пока он при этом извлекает его во временную папку, что недопустимо).
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Mon Jan 25, 2010 13:31    Post subject: Reply with quote

2MVV
Ты мне прислал письмо; отчасти отвечаю на него здесь, потому что остальным тоже может быть интересно и полезно.

1. Скачал и установил последнюю версию. Кстати, как узнать номер версии? Обычно в ридми пишут "Программа такая -то, v1.23". По истории догадаться можно, но ее далеко не все читают. Так что лучше указать версию открытым текстом.

2. Перемещение работает.

3.
Quote:
Странно, что русские символы не читаются в диалоге подтверждения удаления
Ничего не изменилось. Кракозябры как при перемещении, так и при удалении.

4.
Quote:
А если все равно не читаются, использовать английский
В директории Language - только 1033.lng. Пишу <lang 1033 - ругается "Error downloading language file...". ОСь английская, ТС тоже.

5. Три раза из четырех при попытке зайти в VP (через Сетевое окружение или напрямую - безразлично) выдается вот что:
Code:

---------------------------
Total Commander 7.50RC2
---------------------------
Access violation at address 77821345. Write of address 00000000.

Please report this error to the Author, with a description
of what you were doing when this error occurred!

Windows exception: C0000005
Stack trace:
77821345
650057  650318  623552  624B66  624BDB  5D5189
5D9291  443191  443C62  517242  443C85  441D21
441C5F  444016  443C62  >413EA4  443223  413EA4
413EA4  443191  413EA4  443C62  413EA4  443223
413EA4  419580  69DA0D 
Raw:
65006C  65006C  650057  69CEE9  650318  623552
624B66  624BDB  69A5C5  4D94E1  69A7CB  6773D8
61006B  61006B  657147  420C5A  420CA2  6650EB
69A5C5  66562C  69A6AF  6947E4  4E2C07  4E2C54
6ABFEA  443191  413EA4  443FDB  441D21  443F31
441D21  431C7F  4432E5  443C62  443C85  413EA4
443223  413EA4  5D5189  443191  413EA4  443FDB
441D21  443F31  431C7F  4432E5  443C62  443C85
413EA4  443223  413EA4  402235  4023B3  4023DB
4026A4  4036C7  4037B6  430F20  69A169  696ABB

Press Ctrl+C to copy this report!
Continue execution?
---------------------------
Yes   No   
---------------------------
Комп перезагружал.

Пока все.
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Mon Jan 25, 2010 19:07    Post subject: Reply with quote

Версия есть в свойствах файла (если для WFX винда не показывает вкладку Версия - это ее вина, но как минимум в FileInfo версию видно), а также показывается в заголовке диалога свойств модуля. Wink

Quote:
Ничего не изменилось. Кракозябры как при перемещении, так и при удалении.

Хм, ось, говоришь, английская? А кодировка 1251 у тебя вообще поддерживается? Если вместо нее используется 1252, то естественно будут кракозябры. У тебя какой язык выбран по умолчанию для программ в региональных стандартах? И вообще, ось какая? Попробуй открыть VirtualPanel.wfx в листере (в ANSI) и поискать русские строки (например, "файл") - найдутся? И что у тебя в системе возвращает системная функция GetUserDefaultLCID (выполни из любой среды, например, из скрипта)? Язык по умолчанию является русским тогда и только тогда, когда эта функция возвращает 1049.

Quote:
В директории Language - только 1033.lng. Пишу <lang 1033 - ругается "Error downloading language file...". ОСь английская, ТС тоже.

Ничего не понимаю. Написал у себя <lang 1033 - никаких проблем, сразу язык английский. Кстати, сообщение неспроста английское, и в нем неспроста указывается полный путь к файлу локализации - правильный ли файл ищет VP?

Quote:
Три раза из четырех при попытке зайти в VP (через Сетевое окружение или напрямую - безразлично) выдается вот что:

Хм, интресно... А на финалке поведение такое же? Пробовал очистить конфигурацию VP?
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Вахмурка



Joined: 27 Dec 2004
Posts: 2584
Location: Большая деревня Москва

Post (Separately) Posted: Mon Jan 25, 2010 19:45    Post subject: Reply with quote

Quote:
У тебя какой язык выбран по умолчанию для программ в региональных стандартах?
Локаль русская. Клава английская.
Quote:
И вообще, ось какая?
W2KSР3Eng.
Quote:
Попробуй открыть VirtualPanel.wfx в листере (в ANSI) и поискать русские строки (например, "файл") - найдутся?
Да.
Quote:
И что у тебя в системе возвращает системная функция GetUserDefaultLCID
1033.
Quote:
Написал у себя <lang 1033 - никаких проблем, сразу язык английский
Проверил бы, да панель твоя падает зело исправно, в нее не зайти никак.
Quote:
А на финалке поведение такое же?
Финалка - это кто? Если версия плагина (200), то только на ней и есть. С предыдущей (170) версией плагина проблемы были (и я о них писал), но, по крайней мере, ТС он не ронял.
Quote:
Пробовал очистить конфигурацию VP?
Да. Из меню удалил плагин, перегрузил ТС, снова прописал плагин. О результатах догадываешься?
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page 1, 2, 3 ... 39, 40, 41  Next
Page 1 of 41

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group