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 Previous  1, 2, 3, 4, 5 ... 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: Tue Feb 02, 2010 12:37    Post subject: Reply with quote

GGS wrote:
MVV wrote:
для удаленных exe и lnk значки все равно не изменились...

Есть такое. У меня ещё удалённые папки "без креста"

Ты имеешь в виду ссылки на папки или именно папки?

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

Но если ты создаешь ссылку на папку командой <add <имя_папки> <путь_к_физической_папке> (обычным способом их создать невозможно, т.к. ТК сам дублирует структуру, создавая виртуальные папки) - тут создается лишь один элемент виртуальной структуры - ссылка на папку. Она имеет значок обычной папки, и при входе в нее ты всегда видишь реальное содержимое папки-источника, можешь изменять его (при удалении файлов будет предупреждение). Такие папки независимо от их объема занимают одну строчку в файле сохраненного состояния. И только для таких папок имеет смысл значок перечеркнутой папки.

Прошу не использовать внутренние команды с ? вместо параметров, а также не удлиннять скрипт командой <edit в версии 1.0.0.340 - вылетит. Smile
_________________
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: Tue Feb 02, 2010 17:45    Post subject: Reply with quote

MVV
Теперь получилось!
Спасибо за терпеливое разжёвывание азов. Пытаюсь освоить работу с VP, но не во всё сразу могу врубиться. Надеюсь этот ликбез будет полезен не только мне.
Back to top
View user's profile Send private message
Вахмурка



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

Post (Separately) Posted: Tue Feb 02, 2010 18:22    Post subject: Reply with quote

Quote:
Есть в <? описание параметров
Виноват. Глаза надо было разуть. Но в readme.txt точно нет.
_________________
Сайт 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: Tue Feb 02, 2010 18:51    Post subject: Reply with quote

Эх, я тут такую телегу накатал, как вдруг форум сдох, и до конца рабочего дня...

Мысли, которые остались неопубликованными:

Разделить команду del на команды del и rd, удаляющие только файлы или только каталоги, тогда можно будет для команды del сделать флаг рекурсивного удаления файлов по маске;
Добавить команду типа for [/d] %i (<маска>) <скрипт для выполнения> - это позволит, например, применять скрипт рекурсивно для подкаталогов (флаг /d для обработки папок, а не файлов) - в частности, удалять определенные файлы.

Но это планы на будущее, которые будут рады комментариям. Пока выложу слегка обновленную версию, позволяющую использовать команду edit и показывающую правильные значки для удаленных EXE и LNK.

В общем, VirtualPanel 1.0.0.342 готова. Very Happy
_________________
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: Tue Feb 02, 2010 19:52    Post subject: Reply with quote

В WinCmd.ini имею запись:

[FileSystemPlugins]
Virtual Panel=%Commander_Path%\Plugins\wfx\VirtualPanel\VirtualPanel.wfx

При установке новой версии VP получаю сообщение:
---------------------------
plugins
---------------------------
Был найден плагин с тем же именем, но установленный в другой каталог.
Вы хотите удалить его?
---------------------------
Да Нет
---------------------------

Приходится говорить [Да] и в WinCmd.ini прописывается абсолютный путь:

[FileSystemPlugins]
Virtual Panel=F:\Program Files\TotalCmd\Plugins\wfx\VirtualPanel\VirtualPanel.wfx

"Кто виноват и что делать", чтобы понимался и оставался %Commander_Path%
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Tue Feb 02, 2010 20:11    Post subject: Reply with quote

Точно не я и не панелька моя. Very Happy

Кстати, на днях тоже замечал это. Видимо, ТК неверно сравнивает пути. Но он вроде позволяет при этом ставить модуль в ту же папку.

А вообще, проще вручную кидать VirtualPanel.wfx в папку, где установлен модуль. Перед этим необходимо (если панель использовалась после запуска ТК) закрыть все вкладки с виртуальной панелью и выполнить команду cm_UnloadPlugins - у меня она в главном меню) - и можно заменять файл.
_________________
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: Tue Feb 02, 2010 20:49    Post subject: Reply with quote

1. Создаю папку F:\WINDOWS\TEMP\xxx\
2. В панели VP выполняю команду: <add TESTxxx {F:\WINDOWS\TEMP\xxx\}
2.1 Папка TESTxxx создалась в VP
3. Удаляю папку F:\WINDOWS\TEMP\xxx\
3.1 Команда cm_Rereadsource в VP не меняет иконку TESTxxx
4. Вышел/зашел из/в VP
4.1 Иконка TESTxxx "с крестом"

Вроде всё как надо (кроме 3.1), но...
пытаюсь удалить TESTxxx "с крестом" F8 или Del - не удалить.
"Крестатые" ссылки на файлы удаляются, на папки - нет
---
VP 1.0.0.342
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Tue Feb 02, 2010 21:32    Post subject: Reply with quote

GGS wrote:
3.1 Команда cm_Rereadsource в VP не меняет иконку TESTxxx

Да, я видел, ТК не всегда по F2 запрашивает значки для объектов на панели. После захода в другую папку и возврата значки становятся правильными.

GGS wrote:
пытаюсь удалить TESTxxx "с крестом" F8 или Del - не удалить.
"Крестатые" ссылки на файлы удаляются, на папки - нет

Спасибо, вижу, разберемся.

Кстати, удалять можно командой del (особенно удобна при удалении большой структуры виртуальных папок, т.к. при удалении не использует рекурсию и пофайловый подход ТК, а сразу удаляет объект - при этом подобъекты уничтожаются автоматически).

Посмотрел я, понял, в чем причина. ТК при удалении вначале удаляет содержимое папки, а потом только папку. Здесь же он дважды (!) пытается прочитать содержимое папки, потом успокаивается, не посылая ни одной команды на удаление. Если интересно, включи лог и посмотри, увидишь примерно следующее:
Code:
FsStatusInfo:   delete operation (8) is started in "\"
FsFindFirst:   FFFFFFFF, "", for "\TESTxxx"
FsFindFirst:   FFFFFFFF, "", for "\TESTxxx"
FsStatusInfo:   delete operation (8) is finished in "\"

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



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

Post (Separately) Posted: Thu Feb 04, 2010 01:18    Post subject: Reply with quote

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

Например, ранее невозможное, удаление всех файлов заданного типа в папке и ее подпапках, теперь выполняется запуском скрипта с указанием маски файлов для удаления в качестве параметра. Создать такой скрипт можно командой (приведена в Readme):
Code:
<add \>rdelete { <for %%f . "%1" { <del "%%f" } <for /d! %%d . * { <cd "%%d" <exec \>rdelete "%1" } }


В общем,

VirtualPanel 1.0.0.370:
+ поддержка передачи параметров файлам скриптов (%0 для вставки текста всего скрипта, %1-%9 для вставки параметров)
+ улучшенная команда del: удаление только файлов, только папок, или всех подряд
+ условные команды ifexist, ifdef and ifok
+ команда for, позволяющая запускать скрипт для каждого найденного объекта (только файлов, только папок, или всех подряд)
+ команда cd для изменения текущей папки в пределах скрипта
+ защита от зацикливания скриптов
* для недоступных EXE and LNK отображались неправильные значки
* сбой после ввода текста в запрашивающий диалог ТК
* другие исправления, которых и не упомнить Smile

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


Ну и напоследок маленькая шалость:
Code:
MIME-Version: 1.0
Content-Type: application/octet-stream; name="1049u.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="1049u.7z"

N3q8ryccAAPr4T6zlQMAAAAAAABUAAAAAAAAAB4jeqwAf7+DJQD3wOYTeCa7Ssrfk3+Q52MQa4fG
J34qz9FHhemtsoHUt4LzYgy8O8R2sf6QCuTdWkwftaEZ19tiSfoFzEW/sTAx8InZysfEtfLI8YtR
xFeP270HD10juxn5rSZGapwpNam2eD6iBClOsKffOdyIaZwbWkpiup9hnNKQnUNQRNhL2QmCwyoc
ALM5SEoCi7HcXHi5do0Ssv6TH/kStoWb766cZDwkiEtuRHela4Q2KjhtBrEhMlycWa6KfnKALmvQ
eWCtd/HoMaQIq6hTpsQBHtNCERLm9m/1C1sH+I5AgIsB4L5iLhedvHJMmlS4iAG/RTWEq/xz/jDW
FIECKcKsBQCAo2MnXtqpoKLaE42UHmcaRI9gauRIqGT8PxhTLRdgpb+3qIlF0l22SpEcuyIrMo7w
HKwPHGmtgiiLYCt5TGqBwdIOHtVYq0I8ybNrnxGJbL4bvQtoqlgcaEGYa/aJ5gvmb2ylcjOZqlDX
TnYxlzn8/tDFb+7G6sTZNbtTR1vPrEKTJw5Yhq2MtXX1Fd8Js6kjgjydxVwardGkXFzCacyW73p3
eFBRhcLrBF3W1Q+G3G4q6QLgmWOtXj/ps9THlvPDDkTqNqR0kheRbW0hkJFR6pEoZ1MfvezUSqz0
YLwUUHNKd0C29KB9mQ3HhzqRlKaACQ5IVA0nFqVhrVWmFZvcJT3Bipa18Td/0tW8LTl47liiC9P+
Vp0eF254plvlXbB3cnj55L5oFLlZs9pC+QFsVa4q8B1orEBtkdfqlwNYCjJqBuqswgiJuYWBxUV4
zsbutvxpNCil71rDMj000dFxOLDA5AhZOAzEb7u2yUoP6ICI9IllHU3SaHW1rnUouzNRvN3ULxOd
X6aCZ/1+wryyfwdgfDgTRtNFhonD26/jh4llmp9lJe0RT9yVyojfJzsNB0xx0bLHEsqIuQoqZ3xC
4fyrSnnsTyb52USnCcjOkdHtosyzhQydh12dvs3rX6LdChmXp0Y2Qp0aa37VFhxH/s20eAHsGzxU
qIa7IT9RZMx0xu4MTt9oKS1ARC+xZKgKkZ8grSBdxoGolt9ovbJ+Wm27/RfWUCkeMzsaYEkxDLQP
vHFzMSvCNZ9iovb5H9vTCUbxetbTiV7niRbkunrMAUYHXqET+UW8QJeO2TVXH13u5Kgm1Yk1Uui+
TW6M4MFK4VSdnnIlk5Sdd/rEo38pSHU6WW/0KP9wZS7w/AMw1AEEBgABCYOVAAcLAQABIwMBAQVd
AAABAAyJ6AAICgEDpNZrAAAFAREVADEAMAA0ADkAdQAuAGwAbgBnAAAAFAoBAK7Gz24WpcoBFQYB
ACAIAAAAAA==

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



Joined: 29 Jan 2010
Posts: 131
Location: Одесса

Post (Separately) Posted: Thu Feb 04, 2010 14:54    Post subject: Reply with quote

Этот файлик можно и в набор по умолчанию ложить Very Happy
Кое-что изменил...
Код:
Code:

MIME-Version: 1.0
Content-Type: application/octet-stream; name="1049u.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="1049u.7z"

N3q8ryccAAPdYeZrngMAAAAAAABsAAAAAAAAAN9lUFMAf7+DJQD3wOYTeCa7Ssrfk3+Q52MQa4fG
J34qz9FHhemtsoHUt4LzYgy8O8R2sf6QCuTdWkwftaEZ19tiSfoFzEW/sTAx8InZysfEtfLI8YtR
xFeP270HD10juxn5rSZGapwpNam2eD6iBClOr8ZTmJGIHSMZMBpeinGeY+M0N1H0FqYzOLVsTIMP
Bf/DkDKOw074yWA+HLdBbZ2pSgpeZDb2uHCZAv576wQyQ4l65AGVTz80WgkquOHBg85dOXRQpvR3
OthpGQoxVNfHSsIfHUflb3jzIilExnWySquiCObqPRb3IVfI9lnTFVSAP//yOkFzNcdRHTQuANQB
75P+betDRrx3s8ACsM/yoJuCSQRLuLMJ/8LKLM+3+iFTxwKa4HIgFvdk2nxc4SFfeVvNOfDHPZm1
7kosb+xDO6BD31vb7M2cjypxsTLq4zZoIuc214GPTyhrufCMojxhD49y6+z4wKvKqFEnckBD3CMk
GGL2oCxnMoylg1q/izDEd+vvk7f5OqygbxHQdiADsPNTReXQQkyQeVkJbyH3yZOX+b0sgdY5xF0L
muH50pdxSqKjQA/1PqJgbbmgiMWV1N8vuQ41vOLFWSKCJbgwIq6p2GjJSB+fbEri+lYnNeFDLcPa
tArdagjRVMk1FpOoUUEdG6jv2V31u8UHzW4WHML4jEavjET1ZtFwCWWrUn+rSawM2iG6senXSRGl
yzGUdxybJlMoPpqmwE9g7nZaM55UHoHwAMD5gzxuBZ35iWtre6oEM9vWc4C+gVhCjl0bOjLbKKKv
XQ8+pgyjuOcPff3yhGObKRsltsr6NmZgtuSittVITJVS9DrT4brXp7qXW2uJVpti/VgVNs8xHAY6
GWbGk9aDV+OX5hMxsnNek+KKy2xGUmUJARmoSpb6K108kq4ta03JOZ8wxAOmlXoSY2OUrUD28I7d
DjsWFezSLckQMvZOzkHdK/RKXhsZoXh355O1/GrjxFWWvZAi53Az1PHzp2Lw8igyq8DLDYVfRV+J
DgFJmTTvivLYPxsEqMX1E9Ik/cEq8/W2vwpeQY7G0z3TUv9cViGJDxqlk0rj4/qDRuSiFMYlZXYQ
6GSSn4MUPVTsxX2EYZBFPSnNNouDrW1I/+CeolF9x/Nz9W1siHsTq73J2MlYcOE8G7hHpPeCKnfI
V2hqOVifqOTWyMNGDbaK3Lea/4dQNhOgJSyLGZdfK3LJR1Lfquo/HClorK8vAAEEBgABCYOeAAcL
AQABIwMBAQVdAAABAAyKDAAICgGN1hOlAAAFAREVADEAMAA0ADkAdQAuAGwAbgBnAAAAEgoBAIKh
sMOHpcoBEwoBAIKhsMOHpcoBFAoBAKorqb6HpcoBFQYBACAAAAAAAA==
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Thu Feb 04, 2010 15:27    Post subject: Reply with quote

Афи wrote:
Этот файлик можно и в набор по умолчанию ложить Very Happy
Кое-что изменил...

Тоже вариант. Very Happy
Но тогда наверное лучше не "Ага", а "Угу". Smile
А вообще, полет фантазии безграничен. Cool

Забыл я, что файл в Юникоде, в ANSI бы лучше ужался, код был бы короче.
_________________
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: Thu Feb 04, 2010 18:47    Post subject: Reply with quote

При удалении файла с VP и файла на диске (Shift при запросе), этот Shift срабатывает и для удаления мимо карзины.
Как-то неправильно это.
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Thu Feb 04, 2010 19:53    Post subject: Reply with quote

GGS wrote:
При удалении файла с VP и файла на диске (Shift при запросе), этот Shift срабатывает и для удаления мимо карзины.
Как-то неправильно это.

Дык при чем тут корзина? Об удалении в корзину не было и речи, ведь удаление выполняет не ТК, а VP.

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

По желанию трудящихся сделал по умолчанию удаление в корзину, если при подтверждении физического удаления не зажата клавиша Shift. Но опять же, при удалении в корзине будут появляться отдельные файлы, а не папки целиком, как со времен Windows 98 модно у Микрософта.
_________________
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: Thu Feb 04, 2010 22:10    Post subject: Reply with quote

MVV wrote:
Об удалении в корзину не было и речи, ведь удаление выполняет не ТК, а VP

Мне кажется естественным ожидать, что плагин для TC будет использовать метод удаления заданный в настройках TC.
MVV wrote:
Но если удаление файла в корзину еще можно сделать, то удаление папки - только по файлам.

Дык... TC удаляет папки пофайлово, не надо пристёгивать "фичи" проводника.

Кстати, про папки я не говорил, просто обратил внимание на игнорирование настроек, собственно, TC.
Извините, если "достал".
Back to top
View user's profile Send private message
MVV



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

Post (Separately) Posted: Thu Feb 04, 2010 22:39    Post subject: Reply with quote

GGS wrote:
Кстати, про папки я не говорил, просто обратил внимание на игнорирование настроек, собственно, TC.

Не ну если я еще и тоталовский INI буду парсить...
ОК, сделал проверку значения параметра UseTrash в тоталовском INI. Путь к INI беру из переменной окружения COMMANDER_INI, которая появилась где-то начиная с 7 версии. Если ключ не найден, или не равен 0, и при этом клавиша Shift в момент подтверждения удаления зажата не была, удаляю в корзину.

Quote:
Извините, если "достал".

Ну почему же, критика по делу приветствуется. Smile
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
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 Previous  1, 2, 3, 4, 5 ... 39, 40, 41  Next
Page 4 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