Review Request: Allow KUrlRequest file dialog to be non-modal

Darío Andrés andresbajotierra at
Tue Oct 13 14:19:19 BST 2009

This is an automatically generated e-mail. To reply, visit:

(Updated 2009-10-13 13:19:19.763348)

Review request for kdelibs.


This should be the last one....
Code adapted according to David suggestions


The current KUrlRequester behavior is to use modal dialogs (for both selecting files and directories)
This is sometimes not desirable as it causes blocks like the one described in bug 162616

This patch introduces two public functions: setModalFileDialog and modalFileDialog

The default behavior is to use modal=true (legacy)

I have adapted the code the set the modality of the file dialog and to use (or not) show() + signals and slots instead of exec()

- Known problem (fix later):

When KUrlRequester is set to select Directories, the static function "KFileDialog::getExistingDirectory" is used; so I tried different approaches to replace it:
- Setting the KFileDialog to the directory mode will have a different GUI ("KFileDialog::getExistingDirectory" uses KDirSelectDialog; when KFileDialog with a directory mode uses a simple file dialog but hiding the file listing....). Using this method is going to change the "behavior" as another kind of dialog is going to be used. Also, the apidox of the class states that in Directory mode the KDirSelectDialog is used; and I think we shouldn't change this for compatibility reasons.
- Using KDirSelectDialog + show() + signals and slots (I wasn't really sure about this; the first time I tried it, the linker complained; and I didn't wanted to add another link library and mess with KIO/KFile dependencies)

gkiakia commented that KFileDialog with a Directory mode having a different GUI than KDirSelectDialog could be a bug/inconsistency; but we don't know the code that much in order to try to fix it.

As I didn't found a better implementation I left the modal dialog for directories. (It should probably be commented in the apidox...)

This addresses bug 162616.

Diffs (updated)

  svn:// 1034418 
  svn:// 1034418 



Now the Picture Frame file selector do not block Plasma anymore :)
Further testing would be needed



More information about the kde-core-devel mailing list