From kde-panel-devel Wed Apr 30 13:04:24 2014 From: "Eike Hein" Date: Wed, 30 Apr 2014 13:04:24 +0000 To: kde-panel-devel Subject: Re: Review Request 117897: Don't hide Dialog with hideOnWindowDeactivate==true on focus out when dia Message-Id: <20140430130424.1393.97341 () probe ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-panel-devel&m=139886309521800 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============2557409321528922907==" --===============2557409321528922907== Content-Type: multipart/alternative; boundary="===============0725315058074060224==" --===============0725315058074060224== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/117897/ ----------------------------------------------------------- (Updated April 30, 2014, 1:04 p.m.) Status ------ This change has been marked as submitted. Review request for Plasma and Marco Martin. Repository: plasma-framework Description ------- Dialog::hideOnWindowDeactivate is evaluated in Dialog::focusOutEvent, i.e. if it's true and the dialog loses focus, the dialog will hide. This means dialogs that open sub windows (sub dialogs, or QMenusfor that matter) need to carefully manage hideOnWindowDeactivate to be false for the duration of the sub window being open. This can mean a lot of scaffolding, and duplication thereof across various applets. For example, Kickoff manages hideOnWindowDeactivate for its context menus. So does Kicker, and Kicker also has to concern itself with sub dialogs, where it needs to interact in complicated ways with open/close management for subdialogs. This patch introduces the assumption that if the focus loss is due to a child window of the dialog gaining focus, the dialog shouldn't actually be hidden, simplifying applet code. Diffs ----- src/plasmaquick/dialog.cpp 58de55b Diff: https://git.reviewboard.kde.org/r/117897/diff/ Testing ------- Thanks, Eike Hein --===============0725315058074060224== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit
This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/117897/

This change has been marked as submitted.


Review request for Plasma and Marco Martin.
By Eike Hein.

Updated April 30, 2014, 1:04 p.m.

Repository: plasma-framework

Description

Dialog::hideOnWindowDeactivate is evaluated in Dialog::focusOutEvent, i.e. if it's true and the dialog loses focus, the dialog will hide.

This means dialogs that open sub windows (sub dialogs, or QMenusfor that matter) need to carefully manage hideOnWindowDeactivate to be false for the duration of the sub window being open.

This can mean a lot of scaffolding, and duplication thereof across various applets. For example, Kickoff manages hideOnWindowDeactivate for its context menus. So does Kicker, and Kicker also has to concern itself with sub dialogs, where it needs to interact in complicated ways with open/close management for subdialogs.

This patch introduces the assumption that if the focus loss is due to a child window of the dialog gaining focus, the dialog shouldn't actually be hidden, simplifying applet code.

Diffs

  • src/plasmaquick/dialog.cpp (58de55b)

View Diff

--===============0725315058074060224==-- --===============2557409321528922907== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel --===============2557409321528922907==--