> 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
> 
>

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to