Review Request 123335: Fix native file dialogs from widgets QFileDialog

David Rosca nowrep at gmail.com
Sat Apr 11 20:57:00 UTC 2015



> On April 11, 2015, 8:15 p.m., Lukáš Tinkl wrote:
> > This is weird, I've explicitely tested both cases here on Qt 5.4 and they worked fine

QFileDialog *d = new QFileDialog(parent);
d->open();

This one just cannot work, because it will fall to the (parent && !parent->inherits("QWidgetWindow") check that will evaluate false and thus show() won't be called.
If you get the dialog here, then the show() call must be somewhere else (which doesn't seem to be).


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/123335/#review78835
-----------------------------------------------------------


On April 11, 2015, 6:34 p.m., David Rosca wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/123335/
> -----------------------------------------------------------
> 
> (Updated April 11, 2015, 6:34 p.m.)
> 
> 
> Review request for KDE Frameworks, David Faure and Lukáš Tinkl.
> 
> 
> Repository: frameworkintegration
> 
> 
> Description
> -------
> 
> 9814e4b773b2b34afafa0c5d242594bbb4f9a6ae fixed QML file dialogs but broke QtWidgets dialogs.
> 
> QFileDialog static functions - dialog would open, but any user interaction is blocked (cannot select files or click on anything).
> QFileDialog *d = new QFileDialog(parent); d->open(); - dialog would not open at all
> 
> The first issue occurs because exec() is called on already shown dialog. This is fixed by explicit hide() before calling exec() - kind of hacky :/
> The second issue is fixed by always calling show().
> 
> 
> Diffs
> -----
> 
>   src/platformtheme/kdeplatformfiledialoghelper.cpp 92ab107 
> 
> Diff: https://git.reviewboard.kde.org/r/123335/diff/
> 
> 
> Testing
> -------
> 
> QML dialogs: 
> example from bug 334963 works fine
> file dialog from plasma desktop settings -> wallpapers works fine
> 
> QtWidgets dialogs:
> static dialogs from qtbase/examples/widgets/dialogs/standarddialogs works fine
> QFileDialog *d = new QFileDialog(parent); d->open(); works fine
> test app: https://paste.kde.org/psddcng5n
> 
> I'm running Qt 5.4.1.
> 
> Are there any other types of dialogs that I forgot (and possibly broke)?
> 
> 
> Thanks,
> 
> David Rosca
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20150411/2c799efa/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list