Review Request: Correctly handle the cases where a directory (without filename) is passed to KFileDialog::getSave*
Jonathan Marten
jjm at keelhaul.me.uk
Mon Jun 8 11:20:44 BST 2009
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/803/
-----------------------------------------------------------
Review request for kdelibs.
Summary
-------
Fix bug 194900 by simplifying the code in KFileDialog. For the getSaveFileName/getSaveUrl cases, this originally used to create a KFileDialog and then used setSelection() on it to set the starting location and/or initial file name. Doing this seems to always insert the basename of the setSelection() argument into the file name field of the dialogue - even if it is not present or is a directory.
Now the starting or special directory is passed directly to the KFileDialog constructor, which handles the cases where this is a directory correctly. (The KFileWidget constructor does a KIO::stat() to check the filename/path, and decides what to do based on that). This simplifies the code in KFileDialog too.
Extend the test cases (tests/kfiledialogtest.cpp) to check for these cases. Since this test has grown quite a bit, add a caption to the dialogue of each sub-test to indicate what is being tested.
This addresses bug 194900.
https://bugs.kde.org/show_bug.cgi?id=194900
Diffs
-----
/trunk/KDE/kdelibs/kio/kfile/kfiledialog.cpp 977959
/trunk/KDE/kdelibs/kio/kfile/tests/kfiledialogtest.cpp 977959
Diff: http://reviewboard.kde.org/r/803/diff
Testing
-------
Checked operation of the file dialogue using the test case and the code in the bug report, correct operation observed.
Thanks,
Jonathan
More information about the kde-core-devel
mailing list