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