Another problem with FS interface. When user tries to delete link to inaccessible folder, TC tries (twice!

) to read folder contents and stops deletion. So plugin doesn't receive deletion command and can't remove link. I suggested to add possibility to pass direct put/delete whole folder commands to plugin before, it might solve this problem.
MVV wrote:B add function to put/delete folder with subfolders (if plugin can't perform operation, use usual method);
I have one simple idea. You need to add one little function like
Code: Select all
int FsOperationFlags(LPCTSTR Source, LPCTSTR Target, int InfoOperation);
int FsOperationFlagsW(const WCHAR* Source, const WCHAR* Target, int InfoOperation);
(params will allow to determine what TC will do - for delete only source will be used, for put source is real path and target is virtual, for get - vice versa) - you may call it immediately after calling
FsStatusInfo(, FS_STATUS_START,) - and plugin will return to TC some flags for current operation. E.g. for put/delete operations such flag may be FS_COPYFLAGS_RECURSE/FS_DELETEFLAGS_RECURSE - if TC receives such flags, it sends to plugin ONLY ONE put/delete operation for each top-level folder to allow plugin to do the rest. This will solve problem of adding links to folders and to remove inaccessible for TC folders. Also maybe some way to change flags during operation (e.g. to call FsOperationFlags before processing every top-level object to allow to copy some folders by plugin itself and some - by TC itself).
What do you think? Is it a good change in FS plugin interface?
Some things that can be realized w/o troubles (I think so):
2 fill time field when user opening attributes dialog for file in FS/TP;
7 beep if FsExecuteFile(, , "properties")==0 instead of displaying version dialog w/o any information in FS/TP;
9 do not show "to: " label in delete dialog;
A correct handling of flag FILE_ATTRIBUTE_REPARSE_POINT for FS/TP objects (e.g. deleting);
C allow to execute FS commands via buttonbar buttons (I mean passing command "quote ..." to FS plugin), if plugin folder is specified as working dir e.g. (this would be useful for creating plugin-specific user-commands, bar buttons etc);
D not to return 1 in ProcessProc every time after user press Cancel, return 1 only when user presses Escape/Cancel button again - this is necessary in order to allow user to continue operation on false cancel;
E when I use Shift+F4 inside vrtual folder, I expect that TC will call RemoteNameToLocal and create new file according to returned path, but not that TC will create file in TOTALCMD.exe's current directory;
G disable drop-down hints when start cmdline param with \ or ..\ in FS plugin - TC suggests wrong items from its current real folder. But don't disable hints when user types full path from real drive like "F:\..." (in any path of command line);