Temporary KColorScheme change - hard-code some state colors

Luciano Montanaro mikelima at gmail.com
Mon Sep 17 17:27:29 BST 2007


Il Monday 17 September 2007 17:29:02 Matthew Woehlke ha scritto:

>
> Have you reported this bug to TT so that QPalette::Inactive can be
> removed in Qt5? Really, if it was so "fundamentally broken", don't you
> think TT would not have added it in the first place, much less gotten it
> working as well as it does? If this "it has bugs therefore it must be
> fundamentally broken" attitude ran the world, we'd still be living in
> caves.

It's not that it's broken really, it's just that it does not work as you would 
like. It's not for inactive windows, it's for widget without the keyboard 
focus, or something like that. It does not look like it's meant for what you 
want. Maybe it works as you expect for window titlebars, but not with many 
widgets.

>
> And yes, I completely disagree with the assertion that this "can never
> be made to work properly".

you can probably do that with code in the style and not instead of using  
palette manipulation. This way you would at least keep other styles working 
as expected.

>
> Also: get this "we can't make the text less contrasting because then it
> is unreadable" out of your head. If you don't like that effect, *then
> don't use it*. The default effect, if there is any, obviously will have
> to be something that does not make this a problem. What I'm getting from
> you is a lot of "it doesn't work for me, therefore no one should have it".

Well, but with your approach all the themes have to be adjusted to work around 
the effect they are not designed to handle, or alternatively users cannot 
change theme without changing palette at the same time. 

>
> Btw, someone had said the font chooser is broken? I didn't see anything
> wrong, anyone have a sample screen shot?

you can see the effect here:

http://www.cirulla.net/listing/Immagini/esempi/font-selector.png

The second and third panel look like they are disabled.

>
> > The visual metaphor you
> > use for indicating the an individual control is inactive is different
> > from the metaphor that you might want to use within the window contents
> > to indicate the entire window is inactive.
>
> You still seem to think that QPalette::Inactive == widget does not have
> input focus. This is not the case, (enabled) widgets without input focus
> are active iff isWindowActive()==true.
>
> - QPalette::Active => isWindowActive()
> - QPalette::Inactive => !isWindowActive()
>

It does not work like that here.

> > We would need to use another mechanism entirely to do the effect that Mac
> > OS X has - ie only change the color of the knob in a scroll bar and only
> > just the color of selections. The inactive palette effect does far more
> > than just that. I assume that the Qt style for Mac OS X must do this
> > already, and maybe there is some api in Qt to allow it to work that we
> > could experiment with using.
>
> This is the sort of thing that convinces me some people are totally
> fixated on the intensity effect and don't even realize there are other
> effects.

Well, maybe many of us would rather have no effect at all, at least until the 
theme works as designed. Many have suggested reverting the effect on trunk 
for now, and work on a branch/playground for the time being...

Also, maybe some alternative designs may be tried out, given current 
limitations on X11. Palette switching is quite noticeable here. And it's 
quite slow. I can see the effect propagating through the widget groups. 

Luciano





More information about the kde-core-devel mailing list