[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: "Christoph Feck" <christoph () maxiom ! de>
Date: 2009-08-23 8:28:03
Message-ID: 20090823082803.988.47337 () localhost
[Download RAW message or body]
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/1345/#review2122
-----------------------------------------------------------
Hi, nice idea. Here are some comments from my side.
trunk/KDE/kdelibs/kdeui/util/kpixmapsequence.h
<http://reviewboard.kde.org/r/1345/#comment1442>
The description seems to suggest that you pass a directory, and all images inside \
this directory are used as the sequence's images.
Clarify the description, and maybe rename "path" to "filePath".
trunk/KDE/kdelibs/kdeui/util/kpixmapsequence.h
<http://reviewboard.kde.org/r/1345/#comment1443>
support for NxM tiling is not implemented here, should use frameSize parameter
trunk/KDE/kdelibs/kdeui/util/kpixmapsequence.cpp
<http://reviewboard.kde.org/r/1345/#comment1444>
passing a null pixmap causes a division by zero exception
trunk/KDE/kdelibs/kdeui/util/kpixmapsequence.cpp
<http://reviewboard.kde.org/r/1345/#comment1447>
end() the painter before storing the pixmap
trunk/KDE/kdelibs/kdeui/util/kpixmapsequence.cpp
<http://reviewboard.kde.org/r/1345/#comment1445>
check for invalid pixmap to avoid the division by zero exception
trunk/KDE/kdelibs/kdeui/util/kpixmapsequence.cpp
<http://reviewboard.kde.org/r/1345/#comment1446>
end() the painter before storing the pixmap
trunk/KDE/kdelibs/kdeui/util/kpixmapsequenceoverlaypainter.h
<http://reviewboard.kde.org/r/1345/#comment1451>
spelling
trunk/KDE/kdelibs/kdeui/util/kpixmapsequenceoverlaypainter.h
<http://reviewboard.kde.org/r/1345/#comment1452>
The problem is that it always loads the spinner sequence first. You maybe should \
have this logic moved to the constructor of the sequence to avoid loading two files.
trunk/KDE/kdelibs/kdeui/util/kpixmapsequenceoverlaypainter.h
<http://reviewboard.kde.org/r/1345/#comment1448>
Instead of an offset, maybe use a bounds rectangle to indicate where to paint to \
optionally allow scaled painting.
trunk/KDE/kdelibs/kdeui/util/kpixmapsequenceoverlaypainter.cpp
<http://reviewboard.kde.org/r/1345/#comment1449>
use the installed event filter on the widget to be notified of hide/show events \
to stop/restart the timer
trunk/KDE/kdelibs/kdeui/util/kpixmapsequencewidget.h
<http://reviewboard.kde.org/r/1345/#comment1450>
maybe implement sizeHint for this class
trunk/KDE/kdelibs/kdeui/util/kpixmapsequencewidget.h
<http://reviewboard.kde.org/r/1345/#comment1441>
spelling :)
I am not sure if "interval" should be a property of KPixmapSequence. If setting the \
speed on KPixmapSequence is limiting, you could optionally have a "speed" property \
(as QMovie) to alter the sequence's speed in the other classes.
Maybe even refactor KPixmapSequence to be able to load QMovie and be usable as the \
"backend" for KAnimatedButton.
- Christoph
On 2009-08-20 15:58:39, Sebastian Trueg wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/1345/
> -----------------------------------------------------------
>
> (Updated 2009-08-20 15:58:39)
>
>
> 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/kpixmapsequence.h 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/kpixmapsequenceoverlaypainter.cpp PRE-CREATION
> trunk/KDE/kdelibs/kdeui/util/kpixmapsequencewidget.h PRE-CREATION
> trunk/KDE/kdelibs/kdeui/util/kpixmapsequencewidget.cpp PRE-CREATION
>
> 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