[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdegames/kolf
From: Stefan Majewsky <majewsky () gmx ! net>
Date: 2010-10-31 23:23:04
Message-ID: 20101031232304.C3FC1AC8A4 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1191706 by majewsky:
Kill StateDB class and CanvasItem::{load,save}State.
Instead, the positions of all items are saved/restored, because
positions of moving objects is the only thing which load/saveState was
used for.
M +0 -5 canvasitem.h
M +0 -11 floater.cpp
M +0 -2 floater.h
M +11 -22 game.cpp
M +1 -5 game.h
D statedb.h
--- trunk/KDE/kdegames/kolf/canvasitem.h #1191705:1191706
@@ -30,7 +30,6 @@
class Ball;
class KConfigGroup;
-class StateDB;
class KolfGame;
class CanvasItem
@@ -40,16 +39,12 @@
virtual ~CanvasItem() {}
///load your settings from the KConfigGroup, which represents a course.
virtual void load(KConfigGroup *) {}
- ///load a point if you wish. Rarely necessary.
- virtual void loadState(StateDB * /*db*/) {}
///returns a bool that is true if your item needs to load after other \
items virtual bool loadLast() const { return false; }
///called if the item is made by user while editing, with the item that \
was selected on the hole; virtual void selectedItem(QGraphicsItem * \
/*item*/) {} ///save your settings.
virtual void save(KConfigGroup *cfg);
- ///save a point if you wish. Rarely necessary.
- virtual void saveState(StateDB * /*db*/) {}
///called for information when shot started
virtual void shotStarted() {}
///called right before any items are saved.
--- trunk/KDE/kdegames/kolf/floater.cpp #1191705:1191706
@@ -235,17 +235,6 @@
game->updateHighlighter();
}
-void Floater::saveState(StateDB *db)
-{
- db->setPoint(pos());
-}
-
-void Floater::loadState(StateDB *db)
-{
- const QPointF diff = db->point() - pos();
- moveBy(diff.x(), diff.y());
-}
-
void Floater::save(KConfigGroup *cfgGroup)
{
cfgGroup->writeEntry("speed", speed);
--- trunk/KDE/kdegames/kolf/floater.h #1191705:1191706
@@ -60,8 +60,6 @@
Floater(QGraphicsItem * parent);
virtual bool collision(Ball *ball, long int id) { Bridge::collision(ball, \
id); return false; }
- virtual void saveState(StateDB *db);
- virtual void loadState(StateDB *db);
virtual void save(KConfigGroup *cfgGroup);
virtual void load(KConfigGroup *cfgGroup);
virtual bool loadLast() const { return true; }
--- trunk/KDE/kdegames/kolf/game.cpp #1191705:1191706
@@ -1085,16 +1085,6 @@
return true;
}
-void Cup::saveState(StateDB *db)
-{
- db->setPoint(pos());
-}
-
-void Cup::loadState(StateDB *db)
-{
- setPos(db->point());
-}
-
bool Cup::collision(Ball *ball, long int /*id*/)
{
bool wasCenter = false;
@@ -2970,16 +2960,14 @@
void KolfGame::recreateStateList()
{
- stateDB.clear();
-
- QList<QGraphicsItem *>::const_iterator item;
- for (item = items.constBegin(); item != items.constEnd(); ++item)
+ savedState.clear();
+ foreach (QGraphicsItem* item, items)
{
- CanvasItem *citem = dynamic_cast<CanvasItem *>(*item);
+ CanvasItem* citem = dynamic_cast<CanvasItem*>(item);
if (citem)
{
- stateDB.setName(makeStateGroup(citem->curId(), citem->name()));
- citem->saveState(&stateDB);
+ const QString key = makeStateGroup(citem->curId(), citem->name());
+ savedState.insert(key, item->pos());
}
}
@@ -2998,14 +2986,15 @@
void KolfGame::loadStateList()
{
- QList<QGraphicsItem *>::const_iterator item;
- for (item = items.constBegin(); item != items.constEnd(); ++item)
+ foreach (QGraphicsItem* item, items)
{
- CanvasItem *citem = dynamic_cast<CanvasItem *>(*item);
+ CanvasItem* citem = dynamic_cast<CanvasItem*>(item);
if (citem)
{
- stateDB.setName(makeStateGroup(citem->curId(), citem->name()));
- citem->loadState(&stateDB);
+ const QString key = makeStateGroup(citem->curId(), citem->name());
+ const QPointF currentPos = item->pos();
+ const QPointF posDiff = savedState.value(key, currentPos) - currentPos;
+ citem->moveBy(posDiff.x(), posDiff.y());
}
}
--- trunk/KDE/kdegames/kolf/game.h #1191705:1191706
@@ -24,7 +24,6 @@
#include <kolflib_export.h>
#include "ball.h"
-#include "statedb.h"
#include "tagaro/scene.h"
@@ -266,9 +265,6 @@
Cup(QGraphicsItem *parent);
virtual bool place(Ball *ball, bool wasCenter);
-
- virtual void saveState(StateDB *db);
- virtual void loadState(StateDB *db);
virtual bool canBeMovedByOthers() const { return true; }
virtual bool collision(Ball *ball, long int id);
@@ -932,7 +928,7 @@
bool m_ignoreEvents;
HoleInfo holeInfo;
- StateDB stateDB;
+ QMap<QString, QPointF> savedState;
BallStateList ballStateList;
void loadStateList();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic