From kde-core-devel Thu Sep 04 17:38:04 2014 From: =?utf-8?q?Thomas_L=C3=BCbking?= Date: Thu, 04 Sep 2014 17:38:04 +0000 To: kde-core-devel Subject: Re: Review Request 119594: fix FileDialog size restorage Message-Id: <20140904173804.11809.74046 () probe ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-core-devel&m=140985233016186 --===============2804791654100728756== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit > On Aug. 4, 2014, 1 nachm., Lukáš Tinkl wrote: > > Great, this works for me :) Now what about https://git.reviewboard.kde.org/r/119593/ Sorry, I somehow missed this comment. https://git.reviewboard.kde.org/r/119593/ will make processing more robust - as long as the restore happens while there's an event loop (and likely a platform window created with it when restoring) anything's fine w/ this patch (minus the Qt workarund) This will "fail" if you try to restore the size before QApplication::exec() was called (or some other eventloop started) Assuming the ship it still stands (and the Qt bug is inactive, so waiting for adjustment is pointless) i'll push this tomorrow (Friday) evening at ~19:00 UTC unless veto. - Thomas ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/119594/#review63770 ----------------------------------------------------------- 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 > > --===============2804791654100728756== MIME-Version: 1.0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: 8bit
This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/119594/

On August 4th, 2014, 1 nachm. UTC, Lukáš Tinkl wrote:

Great, this works for me :) Now what about https://git.reviewboard.kde.org/r/119593/

Sorry, I somehow missed this comment.

https://git.reviewboard.kde.org/r/119593/ will make processing more robust - as long as the restore happens while there's an event loop (and likely a platform window created with it when restoring) anything's fine w/ this patch (minus the Qt workarund)
This will "fail" if you try to restore the size before QApplication::exec() was called (or some other eventloop started)

Assuming the ship it still stands (and the Qt bug is inactive, so waiting for adjustment is pointless) i'll push this tomorrow (Friday) evening at ~19:00 UTC unless veto.


- Thomas


On August 4th, 2014, 11:57 vorm. UTC, Thomas Lübking wrote:

Review request for KDE Frameworks, kdelibs, Aleix Pol Gonzalez, Lukáš Tinkl, and Martin Klapetek.
By Thomas Lübking.

Updated Aug. 4, 2014, 11:57 vorm.

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

Testing

See
https://git.reviewboard.kde.org/r/119512/

Diffs

  • src/platformtheme/kdeplatformfiledialogbase.cpp (b823bc7)
  • src/platformtheme/kdeplatformfiledialogbase_p.h (8ef5b1e)
  • src/platformtheme/kdeplatformfiledialoghelper.h (406a4f1)
  • src/platformtheme/kdeplatformfiledialoghelper.cpp (520b6f5)

View Diff

--===============2804791654100728756==--