FlashFolder - access TC dir menu from any Open/Save dialog

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

Moderators: white, Hacker, petermad, Stefan2

zett42
Junior Member
Junior Member
Posts: 9
Joined: 2007-05-01, 13:48 UTC
Contact:

FlashFolder - access TC dir menu from any Open/Save dialog

Post by *zett42 »

Introduction

I'm proud to announce the first public release of FlashFolder (Version 1.7.26 BETA) to the Total Commander community.

FlashFolder is an open source tool that extends the file-related common dialogs (e.g. open/save dialog) seen in most Windows applications. A small toolbar docks onto these dialogs that provides menus for quick access to recently-used folders, favorite folders and more.

There are two features that should make it potentially interesting for Total Commander users:
  • access the TC directory menu from the file dialogs of most programs
  • quickly navigate the file dialog to the left / right current directories of TC
Read more about FlashFolder features at the FlashFolder Homepage...


Links
Similar tools

There is at least one similar freeware tool I know of: FavMenu 2.0


Issues

I want to address some issues that where posted on another thread (http://ghisler.ch/board/viewtopic.php?t=137&start=1113):
Your program seems to have serious issues with directory hotlist and history of TC.

Directory hotlist is empty (it seems you are not aware of TC 7 redirect section in wincmd.ini). Adding a new item with your program erases this line in wincmd.ini: Code:
RedirectSection=%COMMANDER_PATH%\Settings\redirected\DirMenu.ini
I have added the redirect-issue to the bug tracker.
The history of visited locations displays some items but I realy don't get where they are taken from...
I'm planning to add documentation/program help to make it clearer what the buttons do. For now:
  • 1st button: navigate to most recently used folder
  • 2nd button: show list of recently used folders
  • 3rd button: show list of currently open directories (taken from all files currently open in the program you are working with, directly opened by you or indirectly opened by the program / OS, e.g. loaded DLLs)
  • 4th button: your favorite directories (taken from TC dir menu by default or optionally favorites only defined for FlashFolder)
  • 5th button: set the *.* filter (show all files)
  • 6th button: options / about box
But why you did it as service? It makes using this tool from flash drives almost impossible.
The service is necessary if you are working on a restricted user account (which is strongly suggested anyway).
If you start a program with admin privileges from this account (via "run as"), the program wouldn't show the FlashFolder toolbar unless FF has been started with admin privileges too. For autostart functionality under restricted user accounts, it is only possible for FF to get admin privileges if it is run as a service.
But I'm thinking about making this feature optional and allow the FF EXE to be executed "as is" (I added this to feature request tracker).
I also suggest not to modify TC .ini files directly. It can be quite dangerous operation. Please, leave this work to TC.
Better way is allowing to user define own favorites in addition to TC favorites. This additional group of favorites could be safely handled by your program in your configuration file.
If you don't like FlashFolder to edit your wincmd.ini, you don't need to use the favorites editor of FF but edit your favs with TC as usually. Then FF would only read the wincmd.ini.
But then, what is so bad about FF to edit wincmd.ini? The feature has been implemented so that you can have your TC favs everywhere - and edit them everywhere. Do it in TC when you are working in TC, do it in FF if you are working in any other program. Still there may be bugs in the editor, but these can be fixed.
It seems you forgot about "Target Path" field in TC Hotlist. It contains folder name for the second panel.
Agree to this. "Target path" should be editable if TC directory menu is used. I added this to the feature tracker.
User avatar
joeyeti
Junior Member
Junior Member
Posts: 53
Joined: 2004-04-15, 10:17 UTC

Post by *joeyeti »

Nice!

One question: are there also programs/dialogs, it can't attach to?

Joe
zett42
Junior Member
Junior Member
Posts: 9
Joined: 2007-05-01, 13:48 UTC
Contact:

Post by *zett42 »

Yes, this is one reason while FF is still beta.

Currently unsupported dialogs include:
- old-style "browse for folder" dialog (the one that is not resizable and contains no "new folder" button)
- various versions of the MS Office dialogs, except MSO 2003

MS Office is difficult to handle since they don't use the standard open/save dialog, but have rather developed their own, propietary dialog, which changes on nearly every product version.
I have tested it successfully only with the open/save dialogs of the 2003-series of office products. This includes Visual Studio 2003 and Outlook 2003. It may work with other office versions too, if they use the same version of the open/save dialog.

I would like to work together with users for whom it does not work to fix more of these dialogs.
User avatar
m^2
Power Member
Power Member
Posts: 1413
Joined: 2006-07-12, 10:02 UTC
Location: Poland
Contact:

Post by *m^2 »

One question: Can this be done with a program that doesn't require administrative rights? I'm considering a fork...
zett42
Junior Member
Junior Member
Posts: 9
Joined: 2007-05-01, 13:48 UTC
Contact:

Post by *zett42 »

2m^2 The basic operations can be done without admin rights.
Admin privileges are required to
- change permissions of the HKLM\Software\zett42\FlashFolder\Shared regkey if you select "Shared profile" during install
- attach to a program that is started with admin rights from a restricted user account (via "run as")
User avatar
m^2
Power Member
Power Member
Posts: 1413
Joined: 2006-07-12, 10:02 UTC
Location: Poland
Contact:

Post by *m^2 »

zett42 wrote:2m^2 The basic operations can be done without admin rights.
Admin privileges are required to
- change permissions of the HKLM\Software\zett42\FlashFolder\Shared regkey if you select "Shared profile" during install
- attach to a program that is started with admin rights from a restricted user account (via "run as")
Thanks.
VadiMGP
Power Member
Power Member
Posts: 672
Joined: 2003-04-05, 12:11 UTC
Location: Israel

Post by *VadiMGP »

2zett42
But then, what is so bad about FF to edit wincmd.ini?
I just think it is a little dangerous. It is very easy to corrupt wincmd.ini or write to wincmd.ini of another TC instance. What about unicode? What about simultaneous running two instances of TC with different .ini files? What if TC will write file not using INI-file API but rather as text file?

Too many questions? isn't? :wink:

Therefore I suggested to separate favorite list in two parts:
- TC independant favorites edited by FF
- TC-specific favorites edited by TC

And according to checked options FF will show in it's menu any part or both together.

This approach gives flexibility and safety.
If you start a program with admin privileges from this account (via "run as"), the program wouldn't show the FlashFolder toolbar unless FF has been started with admin privileges too.
Can you explain what is the reason for this?

Another suggestions:
1. Add path autocompletion feature to FF.
2. Introduce program-specific settings. For example, when I open file from PhotoShop I want "Open File" dialog to be resized to whole screen and turn folder view in thumbnail view.

And I want to say again: Thanks for this tool!
User avatar
m^2
Power Member
Power Member
Posts: 1413
Joined: 2006-07-12, 10:02 UTC
Location: Poland
Contact:

Post by *m^2 »

VadiMGP wrote:It is very easy to corrupt wincmd.ini or write to wincmd.ini of another TC instance. (...) What about simultaneous running two instances of TC with different .ini files?
TC's plugins know which ini is correct. So writing one that communicates with FF would solve this problem.
VadiMGP
Power Member
Power Member
Posts: 672
Joined: 2003-04-05, 12:11 UTC
Location: Israel

Post by *VadiMGP »

2m^2
I didn't say "It is impossible". I say "a little dangerous". Do you feel the difference?

In general - I don't speak at all about what possible to do and what is impossible.
I don't recommend to do this to avoid needs to solve unexpected problems (becasuse I myself alredy falled in them) and therefore to avoid unneseccary wasting time by programmer.

I prefer to avoid the problem instead of solve it.
So writing one that communicates with FF would solve this problem.
Hm, May be, but I'm not sure. What communication mechanism you thought about? What about autostart in this case? It isn't obvious.
User avatar
m^2
Power Member
Power Member
Posts: 1413
Joined: 2006-07-12, 10:02 UTC
Location: Poland
Contact:

Post by *m^2 »

VadiMGP wrote:
So writing one that communicates with FF would solve this problem.
Hm, May be, but I'm not sure. What communication mechanism you thought about? What about autostart in this case? It isn't obvious.
Communication? Pipes, windows messages, DDE, whatever.
Autostart is problematic, but there are 2 bad solutions:
- wdx that's used in files coloring (wasn't it you who suggested this solution?)
- wbx (wbx interface is on the way)
There's also a good solution that doesn't use a plugin - code injection.
User avatar
Sir_SiLvA
Power Member
Power Member
Posts: 3311
Joined: 2003-05-06, 11:46 UTC

Post by *Sir_SiLvA »

m^2 wrote:- wbx (wbx interface is on the way)
And does what ???
Hoecker sie sind raus!
User avatar
m^2
Power Member
Power Member
Posts: 1413
Joined: 2006-07-12, 10:02 UTC
Location: Poland
Contact:

Post by *m^2 »

Sir_SiLvA wrote:
m^2 wrote:- wbx (wbx interface is on the way)
And does what ???
Sorry, maybe this name wasn't written on this forum before (although the idea was).
B means background.
VadiMGP
Power Member
Power Member
Posts: 672
Joined: 2003-04-05, 12:11 UTC
Location: Israel

Post by *VadiMGP »

Communication? Pipes, windows messages, DDE, whatever.
Whatever - it is indeed very good mechanism! :lol: It always works!
But it seems you don't understand my question (or I need to clarify). I didn't asked who should be message carrier. I'm quite familiar with Windows. I've asked about robust communication mechanism at application level (independant from choosen message carrier!). There is doubth.

Well, I think we are going to OT here. You still trying to prove me that solution exists. :wink: But you knock at an open door! I know how to solve problem. I dont see reason to create the problem.
- wbx (wbx interface is on the way)
What is wbx interface?
VadiMGP
Power Member
Power Member
Posts: 672
Joined: 2003-04-05, 12:11 UTC
Location: Israel

Post by *VadiMGP »

Ok, I see what it wbx. So you've decided to implement it? Great! When we can expect to see it?
User avatar
m^2
Power Member
Power Member
Posts: 1413
Joined: 2006-07-12, 10:02 UTC
Location: Poland
Contact:

Post by *m^2 »

VadiMGP wrote:Well, I think we are going to OT here. You still trying to prove me that solution exists. :wink: But you knock at an open door! I know how to solve problem. I dont see reason to create the problem.
Because of better integration. I think it'd be nice to see this as a part of TC.
[OT]
VadiMGP wrote:Ok, I see what it wbx. So you've decided to implement it? Great! When we can expect to see it?
It's not a big thing...and it's working already. It needs just 1 fix, 1 addition and some pimp (icon etc.). Everything - several hours. But I hardly have time for it.
All I can say is "probably this month".
ADDED: If sb. wants more info, my ICQ no. can be found in my profile.
[/OT]
EDIT: I merged 2 messages.
Last edited by m^2 on 2007-05-07, 12:20 UTC, edited 2 times in total.
Post Reply