Review Request 119594: fix FileDialog size restorage
Thomas Lübking
thomas.luebking at gmail.com
Mon Aug 4 12:59:43 BST 2014
> On Aug. 3, 2014, 11:13 nachm., Lukáš Tinkl wrote:
> > No change here, ie. it doesn't restore the file dialog geometry.
>
> Thomas Lübking wrote:
> what is your precise testcase?
> a bit remote because of your other patches: did you check that the correct platformtheme lib is used? (ran into this in a custom installation. self compiled plugin ended up in a different path than the distro qt5 plugin path)
> is the size data updated in kdeglobals?
>
> Lukáš Tinkl wrote:
> Testcase: opening a filedialog in any Qt/KDE app, restarting the app -> default file/window size
>
> I guess I'm using the correct platformtheme, otherwise I wouldn't be seeing KDE fialogs right? Also, toplevel windows are not restored either
>
> Yup, the size is always correctly saved to the config files
>
> Martin Klapetek wrote:
> I can also confirm that file dialogs do not have their size restored with this patch (using tests/qfiledialogtest and also real dialogs around the workspace), however testing the dir selection does give me properly restored size dialog (./qfiledialogtest --staticFunction getExistingDirectory --modal on). Qt 5.3.1 here.
>
> Lukáš Tinkl wrote:
> Because KDirSelectDialog doesn't use KWindowConfig:
>
>
> void KDirSelectDialog::Private::readConfig(const KSharedConfig::Ptr &config, const QString &group)
> {
> m_urlCombo->clear();
>
> KConfigGroup conf(config, group);
> m_urlCombo->setHistoryItems(conf.readPathEntry("History Items", QStringList()));
>
> const QSize size = conf.readEntry("DirSelectDialog Size", QSize());
> if (size.isValid()) {
> m_parent->resize(size);
> }
> }
>
> Martin Klapetek wrote:
> Yup, didn't know that. Disabling this^ code breaks the resizing in dir selection too.
There're actually more issues - nevertheless both steps are (theoretically) required.
Creating the platform window *should* apply the widget size - I suspect a QWidget QPA bug here.
Creating the window handle, then restoring the window handle and then explicitly copying the QWindow size should work, though.
- Thomas
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119594/#review63726
-----------------------------------------------------------
On Aug. 4, 2014, 11:57 vorm., Thomas Lübking wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119594/
> -----------------------------------------------------------
>
> (Updated Aug. 4, 2014, 11:57 vorm.)
>
>
> Review request for KDE Frameworks, kdelibs, Aleix Pol Gonzalez, Lukáš Tinkl, and Martin Klapetek.
>
>
> Repository: frameworkintegration
>
>
> Description
> -------
>
> - saving in the deconstrutor is insufficient,
> the dialog might survive the runtime
> -> needs to be saved when the dialog is finished or just closed
> (the closeEvent is not invoked if at least a sync dialog is finished)
>
> - ensure a windowHandle and then restore the window size before calling ::exec()
>
> - workaround an apparent QWidget QPA bug where even for a created platform window
> the QWindow geometry is not applied on the QWidget
>
>
> Diffs
> -----
>
> src/platformtheme/kdeplatformfiledialogbase.cpp b823bc7
> src/platformtheme/kdeplatformfiledialogbase_p.h 8ef5b1e
> src/platformtheme/kdeplatformfiledialoghelper.h 406a4f1
> src/platformtheme/kdeplatformfiledialoghelper.cpp 520b6f5
>
> Diff: https://git.reviewboard.kde.org/r/119594/diff/
>
>
> Testing
> -------
>
> See
> https://git.reviewboard.kde.org/r/119512/
>
>
> Thanks,
>
> Thomas Lübking
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20140804/07c571a9/attachment.htm>
-------------- next part --------------
_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel at kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel
More information about the kde-core-devel
mailing list