Review Request 127646: Add a placement property to Menu and make use of it in a new openRelative() invokable

Marco Martin notmart at gmail.com
Thu Apr 14 07:25:00 UTC 2016


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127646/#review94601
-----------------------------------------------------------


Ship it!




Ship It!

- Marco Martin


On April 13, 2016, 9:23 p.m., Eike Hein wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127646/
> -----------------------------------------------------------
> 
> (Updated April 13, 2016, 9:23 p.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Repository: plasma-framework
> 
> 
> Description
> -------
> 
> This adds a property of Plasma::Types::PopupPlacement to Menu as well as an openRelative() method that implements alternative popup placement behavior, making use of the property value (which defaults to top-left). Whereas open(x, y) falls trough to traditional QMenu placement which will try to extend the menu past the bottom-right of the coordinates as much as it can (up to bumping against the screen edge, and possibly covering the visualParent), openRelative(placement) interprets the values of the PopupPlacement enum as requesting collision/alignment against the specified corner of the visualParent, allowing users of the item to avoid the menu covering the visualParent.
> 
> The Task Manager applet will use this to provide smart context menu placement for task items, as done in the past.
> 
> A property instead of a method parameter was used because it's not possible to use enums from a different class in method parameters in QML (QTBUG-20639).
> 
> An openRelative() was added instead of using the placement property if open() falls back to parameter default values to keep open() behavior unchanged.
> 
> 
> Diffs
> -----
> 
>   src/declarativeimports/plasmacomponents/qmenu.h 34efe67 
>   src/declarativeimports/plasmacomponents/qmenu.cpp 8ec1464 
> 
> Diff: https://git.reviewboard.kde.org/r/127646/diff/
> 
> 
> Testing
> -------
> 
> Tested with rtl locales as well.
> 
> 
> Thanks,
> 
> Eike Hein
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20160414/1880c429/attachment.html>


More information about the Plasma-devel mailing list