Review Request 114271: drawFloatFrame for QtQuick menus

Martin Gräßlin mgraesslin at kde.org
Thu Dec 5 10:24:18 UTC 2013



> On Dec. 3, 2013, 3:39 p.m., David Edmundson wrote:
> >
> 
> Yichao Yu wrote:
>     May I ask if how did you get the rounded corner?
>     
>     I have got this[1] kind of white frame for menu with rounded corder and haven't found a good way to get rid of it (without interfering with other things) yet.
>     
>     [1] http://wstaw.org/m/2013/12/03/plasma-desktopuj5572.png
>
> 
> Martin Gräßlin wrote:
>     It still has the white frame - might not be visible in the screenshot. The problem seems to me like an RGB window is created, though I haven't verified yet.
> 
> Yichao Yu wrote:
>     I think the problem is that the window has an opaque clear color (which also means that it is a RGB window) but I'm not sure what is the best way to fix it.
>
> 
> Martin Gräßlin wrote:
>     yes that's clearly the problem and I'm also not sure yet how to fix it. For QWidget based menus it's AFAIK done by the style. But with the QWindow the style isn't asked to operate on it. I want to try whether we can do something like having a style hint to create ARGB menus.
> 
> Yichao Yu wrote:
>     One thing I am trying, which is also necessary to get translucent background in Qt5 at all, is to set the correct clear colors on the QQuickWindow (which is a method of QQuickWindow and therefore need direct link to QtQuick) in a event callback. (More specifically, menus and combobox lists are QQuickMenuPopupWindow's, setting the clear color to #0000 does give me a real rounded corner and this also allows me to add shadow and blur properties to them)
>     
>     Two problems for this:
>     1. I'm not sure if this is acceptable in KDE at all..... (too hacky). However, sth like this has to be done in order to get the rounded corner or (correct me if I'm wrong) is it possible with the default 24bit's GL window?
>     2. QtQuickControl seems to be VERY inconsistent on how it fills background. e.g. I don't think PE_Widget is used at all for the main window and QtQuickControl simply uses the clear colors on it, also the region in menu under items is filled with an opaque color after PE_PanelMenu is called (filling it with #0000 in PE_PanelMenu only makes a difference on the edge) so I can neither get any gradient or transparency on menus.
>     
>     My hope is that some of you who can directly talk to Qt ppl can patch that up to allow polishing QQuickItem/Window and/or make it respect background rendering of the styles. :-)
>

> I don't think PE_Widget is used at all for the main window and QtQuickControl simply uses the clear colors on it
yes, the ApplicationWindow control doesn't have any style integration yet. It's on the TODO list...


- Martin


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/114271/#review45041
-----------------------------------------------------------


On Dec. 3, 2013, 2:57 p.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/114271/
> -----------------------------------------------------------
> 
> (Updated Dec. 3, 2013, 2:57 p.m.)
> 
> 
> Review request for Plasma, David Edmundson and Hugo Pereira Da Costa.
> 
> 
> Repository: kde-workspace
> 
> 
> Description
> -------
> 
> drawFrameMenuPrimitive is entered with a null QWidget if a QQuickMenu is rendered. By handling this case we get the menu to render with a frame. Unfortunately we cannot render the widget background as that really needs a non-null QWidget and we also do not yet get shadows.
> 
> 
> Diffs
> -----
> 
>   kstyles/oxygen/oxygenstyle.cpp 50c217f 
> 
> Diff: http://git.reviewboard.kde.org/r/114271/diff/
> 
> 
> Testing
> -------
> 
> I'm not sure whether this can affect other areas if QWidget is null.
> 
> 
> File Attachments
> ----------------
> 
> QtQuick menu with fix
>   http://git.reviewboard.kde.org/media/uploaded/files/2013/12/03/32336a9f-5bd7-4f47-974f-3420882f7cc3__qml-menu-fixed.png
> QtQuick menu without fix
>   http://git.reviewboard.kde.org/media/uploaded/files/2013/12/03/45e57c8b-324d-4d9a-8fc8-52211f2e8f8d__qml-menu-broken.png
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

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


More information about the Plasma-devel mailing list