Animated labels and progress bars in Oxygen considered harmful?

Hugo Pereira Da Costa hugo at
Wed Dec 2 17:35:06 GMT 2009

On 12/02/2009 10:15 AM, Aurélien Gâteau wrote:
> Hugo Pereira Da Costa wrote:
>> On 12/02/2009 09:27 AM, Aurélien Gâteau wrote:
>>> Hugo Pereira Da Costa wrote:
>>>> On 12/02/2009 06:48 AM, Stefan Majewsky wrote:
>>>>> Am Mittwoch, 2. Dezember 2009 09:43:57 schrieb Aurélien Gâteau:
>>>>>> The widget is not changed behind
>>>>>> the developer back.
>>>>> I think the important point is not that this was changed behind the
>>>>> developer's back,
>>>> In fact thinking about it: isn't the whole idea of QStyle/KStyle to 
>>>> change widgets behind the developer's back ? When we (Nuno or I) 
>>>> change the tab shape, or the main window background gradients, or 
>>>> the checkmark in radio buttons, we do all that behind dev's back 
>>>> don't we ?
>>>> So now there is a limit to what a style can and cannot change, and 
>>>> I don't know where it is. I've read reports that bespin did pass 
>>>> the limit (e.g. by adding specific hacks for dedicated 
>>>> applications), and oxygen might well have passed it with e.g. 
>>>> qlabel animations. If this is the case, well, fine, I can remove 
>>>> the animation. But again, this is not obvious to me where the limit 
>>>> is and this might need further discussion (or specification).
>>> I think the limit can be stated like this: a style should not have 
>>> side effects on existing code. For example if I write this:
>>> label->setText("Foo");
>>> label->adjustSize();
>>> QSize size = label->size();
>>> Then I expect 'size' to contain the size needed by 'label' to 
>>> display "Foo", not the size needed to display the previous content.
>> mmm. That's what it is now (and if the old text is displayed during 
>> the animation, it is truncated).
>> Or do I get it wrong ?
> I must confess I haven't tested it. Thinking of it, you are probably 
> right this will return a correct value.
> Still I consider this change a regression. If it's not reverted, I 
> will have to write a custom widget because QLabel can't be trusted 
> anymore.
if you are planning to do that, I think it is easier to call 
QLabel::setProperty( "_kde_animate", false) (as kdepepo suggested) than 
rewritting a class. Is it not ?
> Aurélien

More information about the kde-core-devel mailing list