From bfc20975b068d707ad46a5f02d8561852e41f311 Mon Sep 17 00:00:00 2001 From: Robert Bieber Date: Thu, 5 Aug 2010 07:28:01 +0000 Subject: Theme Editor: Fixed image positioning bug, implemented saveGeometry() in RBImage git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27711 a1c6a512-1295-4272-9138-f99709370657 --- utils/themeeditor/graphics/rbimage.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'utils/themeeditor/graphics/rbimage.cpp') diff --git a/utils/themeeditor/graphics/rbimage.cpp b/utils/themeeditor/graphics/rbimage.cpp index 954983e..83a564c 100644 --- a/utils/themeeditor/graphics/rbimage.cpp +++ b/utils/themeeditor/graphics/rbimage.cpp @@ -24,10 +24,16 @@ #include #include "rbimage.h" +#include "parsetreenode.h" -RBImage::RBImage(QString file, int tiles, int x, int y, QGraphicsItem* parent) - : RBMovable(parent), tiles(tiles), currentTile(0) +RBImage::RBImage(QString file, int tiles, int x, int y, ParseTreeNode* node, + QGraphicsItem* parent) + : RBMovable(parent), tiles(tiles), currentTile(0), + node(node) { + /* Prevents RBMovable from interfering with initial position setting */ + setFlag(ItemSendsGeometryChanges, false); + if(QFile::exists(file)) { image = new QPixmap(file); @@ -56,7 +62,8 @@ RBImage::RBImage(QString file, int tiles, int x, int y, QGraphicsItem* parent) } RBImage::RBImage(const RBImage &other, QGraphicsItem* parent) - : RBMovable(parent), tiles(other.tiles), currentTile(other.currentTile) + : RBMovable(parent), tiles(other.tiles), currentTile(other.currentTile), + node(other.node) { if(other.image) image = new QPixmap(*(other.image)); @@ -90,7 +97,12 @@ void RBImage::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, RBMovable::paint(painter, option, widget); } + + void RBImage::saveGeometry() { + QPointF origin = pos(); + node->modParam(static_cast(origin.x()), 2); + node->modParam(static_cast(origin.y()), 3); } -- cgit v1.1