[WFX] VirtualPanel: Temporary panel for TC

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: Hacker, petermad, Stefan2, white

Post Reply
dsscicin
Junior Member
Junior Member
Posts: 19
Joined: 2009-11-03, 13:15 UTC

Post by *dsscicin »

Thanks for your plugin, but could you think of handling files or folders in VP = in real paths, not just keep links to them? That is the file collection, as the library in Win7. For example, I rename a real file and then it changes name in VP too. I think it will be more usefull.
MVV wrote:VirtualPanel 1.0.0.700a: 8)
+ put, renmove, mkdir operations create absent intermediate folders
* Ctrl+Tab didn't work after pressing Apply button
* focus bug in confirmation dialog
* <exec command bug if parameter was in braces [1.0.0.700a]
    User avatar
    MVV
    Power Member
    Power Member
    Posts: 8711
    Joined: 2008-08-03, 12:51 UTC
    Location: Russian Federation

    Post by *MVV »

    Hi, dsscicin,

    I think you may add links to real folders into VP, so you will see real contents of this folder - and changes will be made in real folder.

    I don't use library in Win7, so I don't know about it almost nothing. But if file rename applies to real file, so you can't have file in library under another name? Virtual Panel allows to add file under any name.

    If you write all actions you wish to perform with files in virtual panel, maybe I will add possibility to perform theese actions (e.g. some special way to rename physical file within virtual panel).
    dsscicin
    Junior Member
    Junior Member
    Posts: 19
    Joined: 2009-11-03, 13:15 UTC

    Post by *dsscicin »

    Thanks again for your hardwork on VP. I think it's a so good plugin so I wish it to be better.
    "I don't use library in Win7"-you said and I don't use Win7 too, but indeed library is a great "Files Managing Method"(At least I think it is). Maybe we could also call library "tag" to a certain extent.
    To give a example, now I have so many photos in different folders of different paths (classed by shot date). I create a new library "my dog" and then put all photos of my dog into it (the photo-file system classed by date don't change). So whenever I want to see the photos of my dog, I just enter "my dog" library.
    ++In this library, two different photos could have a same name but different real paths, and I could see the real paths of them.
    ++In this library, the virtual files = the real files. Whatever I do with the virtual files in library works on the real files at the same time, and visa verse. In fact, they are almost the same, but the only difference is that I could remove a virtual file from the library. In a word, the virtual files are not just links but the real files themselves.
    I'm Chinese. So maybe my poor English couldn't express very clearly, but I do wish VP to be a great tool. The suggestions to VP are contained in the sentences after "++".
    MVV wrote:Hi, dsscicin,

    I think you may add links to real folders into VP, so you will see real contents of this folder - and changes will be made in real folder.

    I don't use library in Win7, so I don't know about it almost nothing. But if file rename applies to real file, so you can't have file in library under another name? Virtual Panel allows to add file under any name.

    If you write all actions you wish to perform with files in virtual panel, maybe I will add possibility to perform theese actions (e.g. some special way to rename physical file within virtual panel).
      User avatar
      MVV
      Power Member
      Power Member
      Posts: 8711
      Joined: 2008-08-03, 12:51 UTC
      Location: Russian Federation

      Post by *MVV »

      It is impossible to have two files with same name in VP, and also in TC plugin. I don't know how OS distinguishes them but if you launch such file how VP will determine the one you need by its path?

      You may change file and its attrubutes using link from VP, the only thing you can't do is changing name and path of file, so I think I may add special internal command to rename/move target file of link in VP (currently you may open file properties to see file name and path) - but I can't rename target by default - it is not VP conception, and in this case it will be impossible to have two files with same name in one VP folder (currently they may have different VP names), also rename may fail e.g. because of insufficient rights.
      User avatar
      MVV
      Power Member
      Power Member
      Posts: 8711
      Joined: 2008-08-03, 12:51 UTC
      Location: Russian Federation

      Post by *MVV »

      VirtualPanel 1.0.0.760: 8)
      + flag f for <save and <export commands to overwrite existing file
      + may execute special >Shutdown script on plugin unload
      + configuration is saved to INI when user clicks OK button in configuration fialog
      + new INI parameter SaveIniOnExit allows to disable saving INI on exit
      + <flush command to manual save configuration to INI file
      + <tgmove command to rename/move target object (link is fixed automatically)
      + log event flag for scripts execution
      + status log message for VPBatch commands

      Updated BAR file for VP menu:

      Code: Select all

      [Buttonbar]
      Buttoncount=15
      button1=WCMICONS.dll,65
      cmd1=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
      param1=/c"Add as link to virtual panel" /t"%%${}Path%%"%N /p"Add "%N" as:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^add "%%1" %P%N
      path1=%COMMANDER_PATH%\Plugins\FileSystem\VirtualPanel\
      iconic1=0
      menu1=P>V  Add object to virtual panel...
      button2=WCMICONS.dll,63
      cmd2=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
      param2=/c"Move within virtual panel" /t"%T"%S1 /p"Move "%S1" to:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^exec { ^move %S1 "%%1" }
      iconic2=0
      menu2=V>V  Move object...
      button3=WCMICONS.dll,64
      cmd3=%COMMANDER_PATH%\Plugins\FileSystem\VirtualPanel\VPBatch.exe
      param3=^ifok "Remove %%${}Path%%"%S1" from virtual panel?" { ^del /rd %S1 }
      iconic3=0
      menu3=V>X  Remove virtual panel object
      button4=
      iconic4=0
      button5=WCMICONS.dll,63
      cmd5=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
      param5=/c"Move target object" /t%P%N /p"Move target for "%S1" to:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^tgmove %S1 "%%1"
      iconic5=0
      menu5=V*P  Move target object...
      button6=WCMICONS.dll,32
      cmd6=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
      param6=/c"Rename object with target" /t%S1 /p"Rename "%S1" with target to:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^tgmove %S1 "%%1" ^move %S1 "%%1"
      iconic6=0
      menu6=V*P  Rename object with target...
      button7=
      iconic7=0
      button8=WCMICONS.dll,4
      cmd8=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
      param8=/c"Loading state file" /t%P%N /p"Enter state file path:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^load "%%1"
      iconic8=0
      menu8=P>V  Load state file...
      button9=WCMICONS.dll,76
      cmd9=%COMMANDER_PATH%\Plugins\FileSystem\VirtualPanel\VPBatch.exe
      param9=^ifok "Remove all contents of %%${}Path%%?" { ^del /rd "%%${}Path%%\*" }
      iconic9=0
      menu9=V>X  Clear current folder...
      button10=WCMICONS.dll,51
      cmd10=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
      param10=/c"Loading state file into folder" /t%P%N /p"Enter state file path to add to %%${}Path%%:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^load "%%1" .
      iconic10=0
      menu10=P>V  Load state file contents to current folder...
      button11=
      iconic11=0
      button12=WCMICONS.dll,50
      cmd12=%COMMANDER_PATH%\Addons\AskParam\AskParam.exe
      param12=/c"Export file paths list" /t%P"%O".m3u /p"Path to list of MP3-files from %%${}Path%%:" "%%COMMANDER_PATH%%\Plugins\FileSystem\VirtualPanel\VPBatch.exe" ^export /a "%%1" . *.mp3
      iconic12=0
      menu12=P<V  Create M3U-list with MP3-files from current virtual folder...
      button13=
      iconic13=0
      button14=WCMICONS.dll,34
      cmd14=%COMMANDER_PATH%\Plugins\FileSystem\VirtualPanel\VPBatch.exe
      param14=^prop
      iconic14=0
      menu14=Preferences
      button15=WCMICONS.dll,34
      cmd15=%COMMANDER_PATH%\Plugins\FileSystem\VirtualPanel\VPBatch.exe
      param15=^config
      iconic15=0
      menu15=Settings
      
      Please note that for move button source panel must be updated after target (currently TC 7.55b2 has no other way). And, replace paths to AskParam and VPBatch with yours.

      I will repeat, first letter ('V' or 'P') of button tooltip prefix, if exists, tells which panel should be active when clicking button. And other letters of prefix tell approx action direction.
      dsscicin wrote:I rename a real file and then it changes name in VP too.
      Now you may use "V*P Rename object with target..." button of my bar file to rename both link and physical file (you may also create em_command and bind it to any shortcut to call it via keypress).
      But it is impossible to track file system changes to autofix link when local file is being renamed.
      User avatar
      ehab
      Senior Member
      Senior Member
      Posts: 271
      Joined: 2007-10-29, 07:41 UTC
      Location: Libya

      Post by *ehab »

      i just liked to say thanks for your work and time for updating and caring
      #181344 Personal licence
      User avatar
      roentgen
      Power Member
      Power Member
      Posts: 757
      Joined: 2005-12-03, 19:58 UTC

      Post by *roentgen »

      In Win7 pressing Alt+Enter or right-click > Properties on a virtual *directory* opens "Control Panel\All Control Panel Items\Personalization" in explorer (same as right-click on Desktop > Personalize for non-en OS).
      TC for Linux please!
      User avatar
      MVV
      Power Member
      Power Member
      Posts: 8711
      Joined: 2008-08-03, 12:51 UTC
      Location: Russian Federation

      Post by *MVV »

      roentgen wrote:In Win7 pressing Alt+Enter or right-click > Properties on a virtual *directory* opens "Control Panel\All Control Panel Items\Personalization" in explorer (same as right-click on Desktop > Personalize for non-en OS).
      That's strange because properties just should not work for virtual folders - there are no physical object to show properties.

      Hm-m... Properties are shown for all virtual objects in 7 and XP, but object is unpredictable. Thanks, I will check it.


      VirtualPanel 1.0.0.780 (changes since 1.0.0.770): :)
      * wrong properties dialog for pure virtual objects
      lansh
      Junior Member
      Junior Member
      Posts: 4
      Joined: 2010-04-08, 06:19 UTC

      Post by *lansh »

      Hi, I found if I only add a directory(for example: "Test") into virtual panel (not include the sub files in this folder), and I click this directory shortcut in virtual panel, total command can't jump to real folder, just jump to such as: \\\virtual Panel\Test\.

      So do you have any way to jump to the real physical object?

      Thanks.
      alfa
      Junior Member
      Junior Member
      Posts: 9
      Joined: 2010-04-26, 21:25 UTC

      Post by *alfa »

      Hi,

      I am sorry i still didnt understand how to see my subfolders in a folder with script.

      I mean, i keep movies in folder in a movies folder. With the script <add ">Load Movies" {<silent<put . h:\Movies\*.*<put . "g:\Movies\*.*"<put"}
      I cant get the to see the folders.

      Did i understand something totaly wrong or you cant do subfolders with script ?
      User avatar
      MVV
      Power Member
      Power Member
      Posts: 8711
      Joined: 2008-08-03, 12:51 UTC
      Location: Russian Federation

      Post by *MVV »

      lansh wrote:Hi, I found if I only add a directory(for example: "Test") into virtual panel (not include the sub files in this folder), and I click this directory shortcut in virtual panel, total command can't jump to real folder, just jump to such as: \\\virtual Panel\Test\.

      So do you have any way to jump to the real physical object?
      If you want to assign physical folder with virtual one, you should use <add command (of button from button bar suggested above) - in this case you can see real folder contents when you enter its link. If you just copy folder to VP, you get virtual folder that has no target.

      TC doesn't allow to jump to target folder but allows to jump to target file. So if you put focus onto file and press Ctrl+Left (if right panel has focus, or Ctrl+Right if left one is active), TC will jump to target file in target panel.

      BTW I can suggest some way to create user-command to open folder in TC. Use theese steps:
      1. Create file gotovf.bat in VP install folder (near VPBatch.exe file) with contents:

      Code: Select all

      start "" %0\..\VPBatch.exe ^^exec cd %cd%
      2. Make gotovf.lnk for gotovf.bat file and set 'run minimized', also clear field 'working directory' in its properties (or folder change won't work!).
      3. Add gotovf.lnk to root of virtual panel.
      4. Create buttonbar button or usercommand with:
      Command: <full_path_to_VPBatch.exe>
      Parameters: ^ifcond { valid @ %P%N } { ^cd %P%N ^exec \gotovf.lnk } { ^exec cd %P%N }

      That's all! When you click button, TC will open focused folder's target if folder is a link (else just virtual folder). Now you may assign any hotkey and enjoy:)

      alfa wrote:I am sorry i still didnt understand how to see my subfolders in a folder with script.

      I mean, i keep movies in folder in a movies folder. With the script <add ">Load Movies" {<silent<put . h:\Movies\*.*<put . "g:\Movies\*.*"<put"}
      I cant get the to see the folders.

      Did i understand something totaly wrong or you cant do subfolders with script ?
      1. You need to use autoexecuted script to update folder contents automatically (or you will need to start your script manually to refresh folder contents). Each virtual folder can contain such script, you may setup its name in preferences (e.g. >Refresh or >Update) and enable corresponding checkbox.
      2. Your command will create script in current virtual folder that will add to current folder files from specified folders. I think you should remove all items from folder before adding new ones else you will see deleted items always.

      I will describe how to get what you want. First of all, you need to create video folder. E.g. "\Video" (i.e. "\\\Virtual Panel\Video"). Next, go to that folder and paste and execute following command line (I assume that auto-update scripts have name >Refresh):

      Code: Select all

      <add ">Refresh" { <silent <for %%f . * { <ifcond { !script @ %%f } { <del "%f" } } <put /a . "G:\Movies\*" <put /a . "H:\Movies\*" }
      This command will create script >Refresh that will delete all files except scripts in current folder and then add links to all files from G:\Movies and H:\Movies. So when you will open this folder, you will see actual contents of both folders together (files with same names will be renamed automatically, also old links to removed files will be removed automatically).
      alfa
      Junior Member
      Junior Member
      Posts: 9
      Joined: 2010-04-26, 21:25 UTC

      Post by *alfa »

      MVV wrote:

      Code: Select all

      <add ">Refresh" { <silent <for %%f . * { <ifcond { !script @ %%f } { <del "%f" } } <put /a . "G:\Movies\*" <put /a . "H:\Movies\*" }
      This command will create script >Refresh that will delete all files except scripts in current folder and then add links to all files from G:\Movies and H:\Movies. So when you will open this folder, you will see actual contents of both folders together (files with same names will be renamed automatically, also old links to removed files will be removed automatically).
      Will this code all so let me see the subfolders? My only problem is with subfolders. I wasnt able to add the subfolders with scripts. I can add subfolders with simple copying.
      User avatar
      MVV
      Power Member
      Power Member
      Posts: 8711
      Joined: 2008-08-03, 12:51 UTC
      Location: Russian Federation

      Post by *MVV »

      I repeat, if you copy folder to VP, TC will recreate its structure and place files into it. This structure will not reflect actual folder contents since deleted files will be left and new files won't be added. But if you use <add or <put command to add folder(s), you will get folder link that will show actual folder contents.

      If you want to merge two folders with subfolders into some virtual folder, you need more complex script like >movx (you may find its code in Examples section of Readme - end of 3rd section) - you may call it from refresh script for each top-level folder. Also, you may add files from G:\Movies and H:\Movies with their subfolders into one virtual folder mixed together w/o folder structure.

      Just tell me what do you want exactly, and we'll find approriate solution. :wink:
      alfa
      Junior Member
      Junior Member
      Posts: 9
      Joined: 2010-04-26, 21:25 UTC

      Post by *alfa »

      What i want is ,

      To have both h:\movies and g:\movies with all files and subfolders with folder struckture in \\\Virtual Panel\Movies
      and ability to autoupdate

      :D

      :D
      User avatar
      MVV
      Power Member
      Power Member
      Posts: 8711
      Joined: 2008-08-03, 12:51 UTC
      Location: Russian Federation

      Post by *MVV »

      Code: Select all

      <add /f ">Refresh" { <silent <for /d %%f . * { <ifcond { !script @ %%f } { <del /rfd "%%f" } } <put /ad . "G:\Movies\*" <put /ad . "H:\Movies\*" }
      This will clear virtual folder (except scripts) and put into it files and folders from both video folders with auto-renaming new objects if exist.

      Note that this script will autorename folders too, it will not merge them. If you need to merge them, you need to load second folder into temp virtual folder and move it into virtual video folder using >movx script.
      Post Reply