[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: Review Request: KPixmapSequence: painting spinners made easy
From:       "Andreas Pakulat" <apaku () gmx ! de>
Date:       2009-08-17 19:59:58
Message-ID: 20090817195958.14443.92939 () localhost
[Download RAW message or body]



> On 2009-08-17 12:35:49, Andreas Pakulat wrote:
> > Just two questions:
> > 
> > - how does this relate to KAnimatedButton, which basically does the same for a \
> > toolbutton's icon, except that one needs to have a png-sequence to get the right \
> >                 animation
> > - could I use this to overlay a spinner on top of an existing icon in a button, \
> > without knowing where exactly the icon will be drawn 
> > ?
> 
> Sebastian Trueg wrote:
> KAnimatedButton could be implemented using the sequence painter.
> I don't understand your second question: what do you mean by "without knowing where \
> the icon will be drawn"? You can overlay the spinner on top of anything, also a \
> button. And you can align it however you like. Typical (and default) usage would be \
> centered. 
> Andreas Pakulat wrote:
> What I mean is that I have a QToolButton (or push button, doesn't really matter) \
> that has an icon and also some text. Now I'd like to be able to overlay a spinner \
> on top of the icon, without having to find out the actual position of the icon \
> myself (by asking the style or whatever). 
> thomasl wrote:
> From some query on kde-devel i think this here is supposed to overlay the (any) \
> /entire/ widget and display a rotating "Please wait" indicator on top - so there's \
> no relation to KAnimatedButton at all. 
> I fear you'll have to (like KAnimatedButton) reimplement Q*Button for your purpose.
> 
> QStyle doesn't provide a subelement rect for the icon (only the content) so after \
> forcing the button to have an icon (agains the KDE global setting) you could only \
> estimate it's position from the buttons content rect and the layout direction. 
> Afaik KAnimatedButtons won't display text at all.

I don't need to re-implement anything, as the buttons in question are already \
KAnimatedButton. But its a bit ugly to switch between a rotating icon and one that \
doesn't rotate. Ideally I'd like to just have an overlay on top of the icon.

Regarding the "forcing the button to have an icon", thats actually quite normal for a \
QToolButton and doesn't go against KDE settings because that toolbutton is not in the \
toolbar :P

And yes, KAnimatedButton does display text.

Well, too bad this is not what I was hoping for :(


- Andreas


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


On 2009-08-17 15:05:35, Sebastian Trueg wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/1345/
> -----------------------------------------------------------
> 
> (Updated 2009-08-17 15:05:35)
> 
> 
> Review request for kdelibs.
> 
> 
> Summary
> -------
> 
> Showing a spinner to indicate a work in progrss is a typical task. Gwenview does \
> have a nice spinner when loading images. Aurelien and I extracted the code from \
> Gwenview and molded it into three nice classes that allow to create spinners very \
> easily in any situation. At the moment the classes are used in Gwenview and in \
> Nepomuk. 
> KPixmapSequence: a simple container class that loads a sequence of pixmaps and \
>                 provides the frames through a simple interface.
> KPixmapSequenceOverlayPainter: Installs an event filter to paint a KPixmapSequence \
>                 onto any widget using Qt::Alignment or a relative placement.
> KPixmapSequenceWidget: A simple widget using the overlay painter to draw a spinner \
> while the widget is visible. 
> We propose an addition to kdeui.
> 
> 
> Diffs
> -----
> 
> trunk/KDE/kdelibs/kdeui/util/kpixmapsequencewidget.cpp PRE-CREATION 
> trunk/KDE/kdelibs/kdeui/util/kpixmapsequencewidget.h PRE-CREATION 
> trunk/KDE/kdelibs/kdeui/util/kpixmapsequenceoverlaypainter.cpp PRE-CREATION 
> trunk/KDE/kdelibs/kdeui/util/kpixmapsequence.cpp PRE-CREATION 
> trunk/KDE/kdelibs/kdeui/util/kpixmapsequenceoverlaypainter.h PRE-CREATION 
> trunk/KDE/kdelibs/kdeui/util/kpixmapsequence.h PRE-CREATION 
> trunk/KDE/kdelibs/kdeui/CMakeLists.txt 1006831 
> 
> Diff: http://reviewboard.kde.org/r/1345/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Sebastian
> 
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic