From kde-panel-devel Thu Dec 31 18:47:19 2015 From: "Martin Klapetek" Date: Thu, 31 Dec 2015 18:47:19 +0000 To: kde-panel-devel Subject: Re: Review Request 126463: Allow applets to set full ToolTip item Message-Id: <20151231184719.13270.48370 () mimi ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-panel-devel&m=145158765708556 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============7724290547488063894==" --===============7724290547488063894== Content-Type: multipart/alternative; boundary="===============6524053527385688593==" --===============6524053527385688593== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/126463/ ----------------------------------------------------------- (Updated Dec. 31, 2015, 7:47 p.m.) Review request for KDE Frameworks and Plasma. Changes ------- * Use QPointer * Emit the changed signal also on object deletion Repository: plasma-framework Description ------- Adds new property available as Plasmoid.toolTipItem that allows to set a full custom item as the tooltip. The main motivation is to have a custom Item tooltip for digital clock to properly format the list of timezones (version of https://git.reviewboard.kde.org/r/124047/). Adding a custom PlasmaCore.ToolTipArea to the compact representation does not work well because then it's a ToolTipArea nested inside another ToolTipArea (from CompactApplet.qml), this causes a sliding effect as it changes visual parents when hovering. I dunno if this could perhaps be fixed, but seems redundant to have two ToolTipAreas anyway, so instead this exposes the main applet's ToolTipArea's mainItem property through Plasmoid.toolTipItem which the appelts can use to set a custom item. This has a part2 patch which goes of plasma-desktop: https://git.reviewboard.kde.org/r/126464/ Diffs (updated) ----- src/scriptengines/qml/plasmoid/appletinterface.h 40016b1 src/scriptengines/qml/plasmoid/appletinterface.cpp 60b7fa5 Diff: https://git.reviewboard.kde.org/r/126463/diff/ Testing ------- I can have custom tooltip item in digital clock without any artifacts while all other applets still have correct tooltips. Thanks, Martin Klapetek --===============6524053527385688593== MIME-Version: 1.0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: 7bit
This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/126463/

Review request for KDE Frameworks and Plasma.
By Martin Klapetek.

Updated Dec. 31, 2015, 7:47 p.m.

Changes

* Use QPointer
* Emit the changed signal also on object deletion
Repository: plasma-framework

Description

Adds new property available as Plasmoid.toolTipItem that allows to set a full custom item as the tooltip.

The main motivation is to have a custom Item tooltip for digital clock to properly format the list of timezones (version of https://git.reviewboard.kde.org/r/124047/). Adding a custom PlasmaCore.ToolTipArea to the compact representation does not work well because then it's a ToolTipArea nested inside another ToolTipArea (from CompactApplet.qml), this causes a sliding effect as it changes visual parents when hovering.

I dunno if this could perhaps be fixed, but seems redundant to have two ToolTipAreas anyway, so instead this exposes the main applet's ToolTipArea's mainItem property through Plasmoid.toolTipItem which the appelts can use to set a custom item.

This has a part2 patch which goes of plasma-desktop: https://git.reviewboard.kde.org/r/126464/

Testing

I can have custom tooltip item in digital clock without any artifacts while all other applets still have correct tooltips.

Diffs (updated)

  • src/scriptengines/qml/plasmoid/appletinterface.h (40016b1)
  • src/scriptengines/qml/plasmoid/appletinterface.cpp (60b7fa5)

View Diff

--===============6524053527385688593==-- --===============7724290547488063894== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KUGxhc21hLWRl dmVsIG1haWxpbmcgbGlzdApQbGFzbWEtZGV2ZWxAa2RlLm9yZwpodHRwczovL21haWwua2RlLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3BsYXNtYS1kZXZlbAo= --===============7724290547488063894==--