Revision history for Tk-JFileDialog
1.00 Date/time
First version, released on an unsuspecting world.
...
1.5 Add <Alt-s> binding to file listbox to select current file
(like <space>).
This is so that when selecting multiple files and keyboard focus is
on the File listbox and an item is already highlighted, one can
select that item with the keyboard, since <space> will toggle the
selection OFF.
1.6 Added -SortButton and -SortButtonLabel options.
1.61 Removed requirement for Tk::JDialog (use built-in Tk::Dialog instead).
1.62 Changed 3 instances of special variable to "$_" at lines 723, 724, and
726 to eliminate perl v5.20 warning: "Use of literal control
characters in variable names is deprecated".
1.63 Clean up some window-manager grab and geometry issues.
2.0 * Fixed and closed rt.cpan bugs# 125539, 125544, 125552, and 125555.
* Fixed several problems with enforcement of -Create option,
particularly on MS-Windows (closes bug# 125539).
* Fixed "-ShowAll" option / checkbox not showing hidden files /
directories on M$-Windows (closes bug# 125544).
* Fixed relative paths on Windows, ie. "C:FILE" by making JFileDialog
"remember" the "CWD" for EACH drive-letter (Linux only has one CWD,
closes bug# 125552).
* Added options to show/hide the file and / or directory listboxes,
and to forbid the user from changing directories. (-SgiwFileList and
-ShowDirList (replaces -Chdir)).
* Added a filter "list" (-FPatList) option and the ability to specify
multiple file-extension filters in a single filter, separated by "|".
* Added an option (-FPatOnly) to force user to select a file who's
extension matches the fie-extension filter in effect.
* Added a separate "Reset" button to restore the default path
and / or file presented when opening the selection dialog and made
these default values work properly.
* Added an option (-maxwidth) to prevent the widget from growing very
wide when a long list of files are selected, then added to the
history dropdown. Default is 60 average character widths.
* -Path and -File can now be set to initial (default) files.
(Closes bug# 125555).
* -SelDir is no longer a boolean flag, but numeric: Added options:
-1 means user can't change directories, but must pick from the
directory shown. 2 means user can select either files OR a directory.
(0 and 1 still mean select File(s) or select a directory, as before).
* -SelectMode = "single" or "browse" are now enforced when set, not
allowing user to select more than one file. They are also the same
mode ("browse") in the listboxes.
* Converted the Filter entry to a JBrowseEntry to allow for a list
of filters (new filter list option).
* On M$-Windows, one can also specify a "Windows Favorites"
folder as the -PathFile argument so that the links in that folder
become the "Favorite Paths" drop-down list in the "Path" field
instead of specifying a text file containing a list of "favorite"
paths. ie. "c:/Users/uname/AppData/Roaming/Microsoft/Windows/Recent/".
* Simplified window-appearance by combining the file / history and
path / favorite path entry / dropdown lists by switching to
JBrowseEntry widgets. (Tk::JBrowseEntry is now a prerequisite!)
* Cleaned up some key bindings and default focusing for better
keyboard usage.
The -Chdir option has been changed to "-ShowDirList", as there is
now also a similar "-ShowFileList" option. Developers using this
option will need to change "-Chdir => 'YES'" to "-ShowDirList => 1).
The -EDlgText option (user-set file error dialog message) is now
depreciated (ignored - so developers don't have to change code)
as the error dialog can now have several different messages.
* The -DirLBCaption option now defaults to "Folders:" instead of
"Directories:" on M$-Windows.
2.01 * Fixed: "Changes" file missing from MANIFEST, thus missing from
MetaCPAN.
2.10 * Fixed critical bug that sometimes locked up application when
path selected from the path history drop-down list.
* Added -FNameList => arrayref option to allow developer to
specify a reference to a specific list of filenames to display in
the listbox for the user to select from.
2.20 * Added -nonLatinFilenames flag for use with international (non-
low ASCII characters) file and directory-names to address a Perl
UTF-8/unicode bug. Closes cpan bug (Feature-request)# 128958.
* Added official license text and touched up docs.
2.30 * Add effort to make the popup dialog window transient (for window-
managers).
* Allow and clarify (document) the use of most regex characters in
file patterns and pattern list (-FPat & -FPatList options).
* Will now use Tk::JDialog in lieu of Tk::Dialog, if the former is
installed.
2.31 2023/06/21
* Fix strict catch of undefined variable added in v2.30. :-/
* (Hopefully) Fixed Tk-errors in edge-cases where Tk suddenly "can't
autoload the listbox functions" after turning off (hiding) the
directory list and re-show()ing the window (we now always create both
the file & directory listboxes and hide any that are not to be shown).
* (Preemptive) - Make sure strict won't complain about undefined home
directory variables (which differ between Windows and Linux).
* Add test to test harness to test for and report on the availibility
and usage of the optional Tk::JDialog module (for error dialogs).
2.40 2024/08/22
* Add new option: "-PreserveSelection" (boolean) to (if true) NOT
replace any selected text in the PRIMARY selection cut-buffer with
the selected/highlighted file chosen by this widget (Use case: text-
editing applications with option to save selected text to a file
(then chosen by JFileDialog), etc. Default is 0 (False) - replace
selection w/selected file name as has previously been the case.
* Automatically default-bind the <Esc> key to the "Cancel button", if
one is defined.
* Update copyright year & touch up pod docs.