[Okular-devel] Background in okular "shell" app

Hugo Pereira Da Costa hugo at oxygen-icons.org
Sun Jan 31 01:34:22 CET 2010


On 01/30/2010 05:24 PM, Pino Toscano wrote:
> Hi,
>
> Alle domenica 31 gennaio 2010, Hugo Pereira Da Costa ha scritto:
>    
>> On 01/30/2010 05:02 PM, Pino Toscano wrote:
>>      
>>> Alle venerdì 29 gennaio 2010, Hugo Pereira Da Costa ha scritto:
>>>        
>>>> Working on oxygen-style, though, I find it too bad its "main widget" has
>>>> a plain solid background color that therefore doesn't match with the
>>>> rest of the application. I understand, by discussing on IRC#oxygen that
>>>> it is for okular to properly work in embedded mode (right ?)
>>>>          
>>> Wasn't that a Qt bug, which just draws a solid background with no way of
>>> being done otherwise? If so, I'd expect the workaround to be in the
>>> style, not in every application (Okular included) which make use of that
>>> property ("autoFillBackground").
>>>        
>> Hi Pino,
>> well the thing is that, by default, autofillbackground is set to false,
>> meaning: the background for widgets is copied from the mainWidow
>> background.
>>
>> if you set it to true, well it means you do want to use a solid color
>> for your background, and the style should not (and will not) override
>> that with its own fancy stuff. Correct ?
>>      
> Not really: it means that Qt should fill the background using the palette, in
> particular from the Window role; IMHO the bug is Qt forcing a plain background
> even if you have a brush as Window role set to something different than a
> plain color (ie a gradient or a texture).
>
>    
mmm. I'm confused.
Qt4 introduced the fact that by default widgets have no background 
(autoFill to false), so that background is inherited from the window. 
Right ?
the current oxygen background depends on the window geometry. So it is 
actually hard, and considered as a hack, to paint it at the widget level 
(cause you have to go through the whole hierarchy of widget to find the 
widget position in the window.
It really works when autofillBackground is set to false, and I think 
that's what Qt intended when it
- made it the default
- used flat background when set to true.
> Also, there's another bug, which is in Oxygen: as you shown, there is a
> different color between the toolbars and the rest of the application; let's
> say that some other application does something similar, or activate the
> autoFillBackground on just a part of the window, does it mean you get a
> different "color block"?
yes it does. Gwenview for instance does that with its main widget being 
dark grey, flat.
It is legitimate for gwenview to do so. Is it not ? So it is not for 
oxygen to actually overwrite that.(and I actually just fixed a bug in 
oxygen overwritting that).

All TreeViews do that also, to have a plain white background on which 
items are drawn.
So really, I think: if you ask for it, you get it. It's just a question 
of thinking twice before asking for it.
To me, the plain background you get when calling autofillbackground 
(using the palette.color( widget->backgroundrole() ), is a feature, not 
a bug.
and this is true for all styles.
if okular wants to leave it this way:
- no I wont consider it as an oxygen bug and wont fix any bug report on 
that (notably, not to break gwenview)
- will live with that, and patch my local okular.

I was just suggesting.

> I don't think you can expect all the applications to
> exactly do what the Oxygen style (nor any other style, FWIW) wants.
>    

>    
>
>
> _______________________________________________
> Okular-devel mailing list
> Okular-devel at kde.org
> https://mail.kde.org/mailman/listinfo/okular-devel
>    

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/okular-devel/attachments/20100130/ebea1315/attachment.htm 


More information about the Okular-devel mailing list