|
 |
 |
::
::
|
|
|
Filesystem Dialogs Library
Enhanced file and folder selector (file browser component) for the Win32 and Win64 platform. It is call compatible with comdlg32.dll.
Filesystem Dialogs is an Open File/Save File/Folder selector replacement and file/folder browser component.
It's purpose is to provide the most powerful user-friendly file and folder selection options and simple file managament tools for the session.
Filesystem Dialogs is ideal for audio, picture and multimedia related applications.
Delphi and VC++ example included.
If you like this library, see the Vanga Rengi Mangaro Project, which is a project to patch every process to use Filesystem Dialogs dialogs instead of the default Windows dialogs.
- NEW in version 2.1.3: unicode file name support.
- NEW in version 2.1.3.5283: supports both BASS 2.3 and 2.4.
- NEW in version 2.1.3.5399: option to display custom file information for every file with a callback function.
- NEW in version 2.1.3.5416: video preview support.
- NEW in version 2.1.3.5736: thumbnailer is multi threaded (more than 300% speed increase on a 4 core system) and JPEG2000 support.
- NEW in version 2.1.3.5916: Win64 version.
|
Features
- All window/column position/size & sorting settings are saved for every application and/or the user can choose to always use his/her favorite dialog settings
- Has a very hiqh quality multi threaded thumbnail mode (that supports much more formats then the default Windows dialog, supports EXIF thumbnails and displays audio files too Taged with ID3v2 and containing a SESC frame)
- Drag&Drop for files/folders (you can drop files from Windows explorer onto the window too)
- If bass.dll is found initialized in the process space thumbnails are generated from all audio files (all file formats that BASS actually supports, or there is plugin loaded for BASS for the particular format - see http://www.un4seen.com/bass.html for details) quite an option to BASS using applications
- FreeImage.dll is supported also (adds many more formats)
- Can give back multiple files from different folders (that comdlg32.dll's can't) for example when loading multiple recent documents (not available with comdlg32.dll interface)
- Has a recent document list on a per-application basis available with one click
- You can use all your existing comdlg32.dll calls, just call the FilesystemDialogs_GetOpenFileNameA-W() and FilesystemDialogs_GetSaveFileNameA-W() respectively (own interface suggested though to use the full power of Filesytem Dialogs)
- Implements by far the best folder selector
- Has option to cache the thumbnails on a per folder basis
- Automatically decodes URL encoded filanames and underscores and false characters
- And the most important: Has a customizable favorite folders and recent folder list on the left
- File viewer (previewer) pictures/images & web browser for the rest of the files (a secondary display mode - for dual display setups)
- Around 30MB in process space
- Option to call the dialogs not modally, but like an ordinary form
- Option to integrate the dialog into a parent handle and trigger an event on file selection
- Option to display custom file information for every file with a callback function
- On Windows Vista and up supports jumbo size icons
- Full unicode file name support
Compatibility
- Windows 2000
- Windows XP
- Windows Vista
- Windows 7
Pre-configuring the dialog for a fresh install
When opening the dialogs for the first time default values are used. If you want to customize the dialogs, you can set the wanted registry values prior opening it for the first time.
Global settings are in:
HKEY_CURRENT_USER\Software\3delite\Filesystem Dialogs
If you want to customize your dialog you have to specify a GUID value when invoking it by code. Then before invoking the dialog set the registry values for the wanted GUID (for example):
HKEY_CURRENT_USER\Software\3delite\Filesystem Dialogs\App settings\{00000000-0000-0000-0000-000000000001}
For example, using the thumbnail mode as the default when invoking the dialog for the first time:
'HKEY_CURRENT_USER\Software\3delite\Filesystem Dialogs\App settings\{00000000-0000-0000-0000-000000000001}\Thumbnail mode' (REG_DWORD) set to 1
For getting the optional values available, open a dialog, set everything as you want, then close the dialog with selecting a file and clicking 'Open', the values will be saved in the registry. Open a registry editor (for example regedit.exe) and see the set values in the above given branch. The options and values are quite self-explanatory.
Changing the settings on the fly
When using Filesystem Dialogs in ofIntegrate mode it can be usefull to change settings on the fly.
Adjust the registry settings and then send a FDM_NAME_SETTINGS_CHANGED (defined in FilesystemDialogsDefs.pas) message to the dialog handle (or register the window message with RegisterWindowMessage('Filesystem Dialogs Settings Changed') and use SendMessage/PostMessage to update the settings).
Using Filesystem Dialogs with a BASS using app.
If you want to display audio thumbnails for more file types, load the BASS format plugin and set the "Audio File Types" registry key.
For example to add WavPack file format:
'HKEY_CURRENT_USER\Software\3delite\Filesystem Dialogs\Audio file extension types' (REG_SZ) set to: [Default types already specified] + , WV
Filesystem Dialogs will try to create a BASS channel for all .wv extension files and creating audio thumbnails for them and also support playing them.
Using the custom file information option
Optionally the Windows standard 'File description' column can be customized to display custom information for every file.
Add the ofCustomFileInfo flag to the open/save function and also assign a callback function to the structure and specify a column name to display.
Filesystem Dialogs will call the callback function giving it the full file name to the function. The callback function then can give back to Filesystem Dialogs a customized unicode string (max. 256 characters long) to display any information.
The custom information will be also visible in thumbnail mode in the balloon hint.
The callback should be as fast as possible becouse it affects how fast the list is updated.
Note
Mulitple dialogs are supported per .dll. If you want to use multiple dialogs just call the functions multiple times (preferably with the ofNotModal flag).
If you are using the ofIntegrate mode and not using a Delphi host application, specify the ofCompatibilityMode flag.
Filesystem Dialogs will treat the integration into a parent handle a little differently.
Drawbacks
- Subclassing used for comdlg32.dll's dialogs will not work
Requirements
- Delphi (TOpen/SaveDialog compatible) component and C++ header included, VB, C# or any developer environment that supports the stdcall calling convention.
Installation
- Unpack the Filesystem Dialogs package ("Filesystem Dialogs x.x.x.zip").
- In Delphi menu: Component: Install component.
- Unit file name: select "FilesystemDialogsDefs.pas".
- Compile and save package.
If everything went smooth you can access Filesystem Dialogs's dialog component on 3delite's tab.
- Other language developers see the "FilesystemDialogsDynamic.pas" source for the simple structures (two needed) that can be converted to your language.
Filesystem Dialogs Library in shareware and commercial software?
The component is free for use in free software. If you like it and want to use it in a (shareware or) commercial product you have to buy a license.
Supported thumbnail and viewer file formats
Pictures:
- JPG images (*.jpg, *.jpeg)
- JPEG2000 images (*.jp2, *.j2k, *.jpc)
- TIFF images (*.tif, *.tiff) (You need a license to use the LZW compressed format)
- GFI fax images (*.fax)
- SGI images (*.bw, *.rgb, *.rgba, *.sgi)
- Autodesk images files (*.cel, *.pic) old style only
- Truevision images (*.tga, *.vst, *.icb, *.vda, *.win)
- ZSoft Paintbrush images (*.pcx, *.pcc)
- Word 5.x screen capture files (*.scr)
- Kodak Photo-CD images (*.pcd)
- Portable pixel/gray map images (*.ppm, *.pgm, *.pbm)
- Dr. Halo images (*.cut, *.pal)
- CompuServe images (*.gif)
- SGI Wavefront images (*.rla, *.rpf)
- Standard Windows bitmap images (*.bmp, *.rle, *.dib),
- Photoshop images (*.psd, *.pdd)
- Paintshop Pro images (*.psp)
- Portable network graphic images (*.png)
If Free Image Library (FreeImage.dll) is found in the process space or in the file system path, additional formats are available, - also there is a twice chance that special non-ordinary formats are recognised too:
- Amiga (*.iff, *.lbm)
- DirectDraw Surface (*.dds)
- Raw Fax format CCITT G3 (*.g3)
- High Dynamic Range (*.hdr)
- JPEG Network Graphics (*.jng)
- Commodore 64 Koala format (*.koa)
- Multiple Network Graphics (*.mng)
- Sun Rasterfile (*.ras)
- Truevision Targa files (*.tga, *.targa)
- Wireless Bitmap (*.wbmp)
- X11 Bitmap Format (*.xbm)
- X11 Pixmap Format (*.xpm)
See the homepage for all the supported files.
Audios:
- MPEG audio Tag-ed with ID3v2 containing SESC frame (*.mp3, *.mp2, *.mp1)
- Free Lossless Audio Codec audio file Taged with ID3v2 containing SESC frame (*.flac)
- But every file is checked, if it contains a SESC frame it is displayed as an audio file.
- Furthermore if bass.dll is found in the process space or in the file system path, thumbnails are generated for all audio files that BASS can open (all the file formats that BASS supports or there is a BASS plugin loaded for the particular format).
Webpages:
- HTML files (*.html, *.htm, *.mht)
- URL files (links) (*.url)
- Flash files (*.swf)
Text:
- Text files (*.txt, *.text, *.log)
Keyboard shortcuts
- F1: Online help (this page)
- F3: Viewer on/off
- F7: Create new folder
- Esc: Close the dialog & cancel
- Ctrl + A: Select all
When navigating in the lister:
- F2: Rename selected item
- Left arrow: Up one folder
- Right arrow: If on folder go into it
- Up arrow: Navigate on the list up and wraps down if reaches top
- Down arrow: Navigate on the list down and wraps up if reaches bottom
- Any character: The usual quick jump to the file name beggining with that letter
- Ctrl + D: Copy selected file name to the clipboard
While pre-viewing:
- Left mouse button: Hold down and drag image
- Middle mouse button: Reset all view
- Mouse wheel: Zoom in and zoom out
- Right mouse button: Full context menu for the file
- PageUp: Previous file
- PageDown: Advance to the next file
Secondary full-screen viewer:
- Esc: Close
- Space: Audio Play/Pause
Settings
- Automatically go into folders after creating them
Go into folders after creating them. Quite a reasonable event. You can disable it for backward compatibility though.
- Milisecond precise time display
Timestamp will display ms (milliseconds) too.
- Display Artist - Title in Description field for ID3 Tag-ed files
Display ID3 data in the Description field. First ID3v2 is checked if non existent, falls back to ID3v1. This does take longer time to update the list though.
Formats checked: .MP1 .MP2 .MP3 .MP4 .M4A .WAV .MPC .AAC .APE .VQF .FLAC
- Disable tree view until first use (greatly increases performance)
The tree-view won't be refreshed/updated until the first use (clicking on it etc.) this results about twice the speed when changing folders.
- Always use last used folder (per app.)
Always use last used folder when the dialog pops up. That is from where you last browsed for files.
- Remember only one dialog setting and use it for every application
Only one dialog appeareance will be used for every application. That is: the new dialog will be opened at the same place and will use the same settings where you last left it.
- Save settings on "Cancel" too, not only on "Open" and "Save"
Save dialog's settings (column layout, filters, view mode etc.) every time the window is closed, not only when an "OK" type button or event is commited, but on "Cancel" or when the user simpli closes the window with the close button (X) too.
- Show Scrollbars on Recent Folders List and Drives and Favorites List
You should use an app. like Wheeler to gain control over the lister with the mouse wheel.
- Font for Lister
Select a font for lister display. User's preference.
Warning: Draging is a bit broken with another font!
- Recent folders to remember
Number of visited folders to remember.
- Don't display file extensions
Only for those who don't like seeing the .jpg extension.
- When saving files force extension case to
Force extension case to lower or upper case. Select for convinience.
Upper case: Pic.Jpg -> Pic.JPG
Lower case: Pic.Jpg -> Pic.jpg
- Display file extensions converted too
Display file extensions converted to the selected case.
- Use Lanczos filter for thumbnails (slow filter but gives highest quality)
Using Lanczos filter will result the highest, most crisp quality for the generated images, but will take more time to generate the thumbnails. Recommended though. Without Use Lanczos filter for thumbnails checked the most simple and fastest linear mode is used which results pixely thumbnails. But is much more faster though.
- Generate thumbnails for folders which contain pictures
Little thumbnails will be generated and shown on top of folder icons in thumbnail mode, so you can see the first pictures inside the folder.
- Generate thumbnails for recognised audio files
Unique feature, only available with BASS. If BASS library is found in the process space and is in an initialized state, thumbnails will be generated from all audio files supported by BASS (and it's plugins). Very usefull feature for applications dealing with sound and audio files.
Note that you still get thumbnails for audio files even without BASS, if they are Taged with ID3v2 and contain sample cache (SESC frame).
- Save SESC (cache for sample graphics) into ID3v2 (+0.35% file size)
Save the "thumbnail graphics" data into the file, in an ID3v2 Tag. This sample cache is very small, it's about 0.35% size of the file (for example: ~30KB for an ordinary MP3 file), and the next time when a thumbnail is needed for the audio file this cache will be used which means no sampling is needed, which means nearly instant thumbnail display (this is even faster then generating a thumbnail for a picture file).
- Cache the thumbnails (~1MB on every ~100MB)
Save the thumbnail cache (inside Thumbs Filesystem Dialogs.db in every folder) and obtain instantenous loading of non audio thumbnails.
- Zoom small images x2
Will magnify small images two times (to the double), that can fit with this double size into the thumbnail. This is the opposite what should happen as the thumbnails are about creating small pictures.
- Center folder names on folder thumbnails (else aligned to the left)
Folder names will be centered on folder thumbnails (recommended as it is more perspicuous), if you uncheck this, the text is aligned to the left.
You can use the above text in your application's documentation, if you want.
Useful Programs that work well together with Filesystem Dialogs
- BASS - Audio library. If Filesystem Dialogs finds one it will make use of it.
- Free Image Library - If FreeImage.dll is found in the process space or in the file system path, additional formats are available, - also there is a twice chance that special non-ordinary formats are recognised too.
- Wheeler - A free program that enhances the behavior of your mouse wheel.
- Hard Disk Sentinel - A hard disk monitoring application to find possible hard disk problems, performance degradations and failures.
It can alert if a problem detected or if temperature is too high and it has other reporting options.
- XnView Shell Extension - Is a graphic file option extension for windows explorer.
Useful information
|
|
|
|
|
|