[Kde-games-devel] Review Request: Adapt KGamePopupItem to Qt 4.5 and 4.6 improvements
Stefan Majewsky
majewsky at gmx.net
Sun Nov 29 23:24:23 CET 2009
> On 2009-11-29 21:56:48, Parker Coates wrote:
> > /trunk/KDE/kdegames/libkdegames/kgamepopupitem.cpp, line 178
> > <http://reviewboard.kde.org/r/2296/diff/1/?file=15121#file15121line178>
> >
> > No, I don't think so. KPat doesn't use KGamePopupItem, but it has Z values above 1000. Whatever value is picked will be arbitrary, but I would go with something more obviously "big", like 1e6.
Can we agree on something like "INT_MAX - 100"? ;-) By the way, this value has always been like this, I did not touch it.
> On 2009-11-29 21:56:48, Parker Coates wrote:
> > /trunk/KDE/kdegames/libkdegames/kgamepopupitem.cpp, lines 222-247
> > <http://reviewboard.kde.org/r/2296/diff/1/?file=15121#file15121line222>
> >
> > Is a state machine really needed? I could be wrong, but this seems like overkill for an animation with only states. Why not use just a single QParallelAnimationGroup?
The first and foremost reason for the QStateMachine is that I wanted to test this stuff. You're probably right with the overkill argument, I'll think about this again.
> On 2009-11-29 21:56:48, Parker Coates wrote:
> > /trunk/KDE/kdegames/libkdegames/kgamepopupitem_p.h, lines 42-75
> > <http://reviewboard.kde.org/r/2296/diff/1/?file=15122#file15122line42>
> >
> > Is creating three private QGI subclasses really that much simpler then just doing everything in a single paint() method?
> >
> > I don't really understand what KGamePopupGraphicsObject is even needed for. Could you explain this a bit?
> >
> >
Yes, I don't like this part of the current code, either.
On KGPGO: Only a QGraphicsObject can be connected with QPropertyAnimation. Also, having a single child item below KGPI simplifies animation, and is actually necessary to deprecate QGraphicsItem::opacity in favor of KGPI::messageOpacity. (Thinking about this again, I can probably use the QGraphicsTextItem as this master item, it's already a QGraphicsObject.)
> On 2009-11-29 21:56:48, Parker Coates wrote:
> > /trunk/KDE/kdegames/libkdegames/kgamepopupitem_p.h, lines 112-142
> > <http://reviewboard.kde.org/r/2296/diff/1/?file=15122#file15122line112>
> >
> > Putting all this code in a header will force it to be inlined, right? Is that really what you want?
That's a private header, that has been created to improve readability. The classes in there are all internal.
- Stefan
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/2296/#review3335
-----------------------------------------------------------
On 2009-11-28 19:44:51, Stefan Majewsky wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/2296/
> -----------------------------------------------------------
>
> (Updated 2009-11-28 19:44:51)
>
>
> Review request for KDE Games and Dmitry Suzdalev.
>
>
> Summary
> -------
>
> Apart from some general cleanup, the most interesting changes are:
> * Use QGraphicsItem::opacity. (KGamePopupItem::messageOpacity is deprecated now.)
> * Use QGraphicsPathItem and QGraphicsPixmapItem instead of painting primitives.
> * Improve event handling of the QGraphicsTextItem.
> * Radically simplify internal layouting code.
> * Instead of QTimeLine, animations are now implemented as QPropertyAnimations and orchestrated by a QStateMachine.
>
> Note that the changes are rather extensive. (I estimate that 80% of the codebase has already changed, and I'm not finished yet.) If you prefer that, I can also send you 12 separate patches of the single commits I made in my git-svn repository.
>
>
> Diffs
> -----
>
> /trunk/KDE/kdegames/libkdegames/kgamepopupitem.h 1054906
> /trunk/KDE/kdegames/libkdegames/kgamepopupitem.cpp 1054906
> /trunk/KDE/kdegames/libkdegames/kgamepopupitem_p.h PRE-CREATION
>
> Diff: http://reviewboard.kde.org/r/2296/diff
>
>
> Testing
> -------
>
> I have used kgamepopupitemtest to keep regressions at a minimum. I'm aware of and investigating the issue that hiding is not animated.
>
>
> Thanks,
>
> Stefan
>
>
More information about the kde-games-devel
mailing list