summaryrefslogtreecommitdiff
path: root/utils/themeeditor/graphics
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-08-05 08:03:32 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-08-05 08:03:32 +0000
commit265ee156f23fd166d29af89f8b9a778e46354c38 (patch)
tree5e21672e0d00a5adf369ef82ccbbca7e7ba4520e /utils/themeeditor/graphics
parent2ea1a34f981fec971057c4df23791e3cf70a1b0c (diff)
downloadrockbox-265ee156f23fd166d29af89f8b9a778e46354c38.zip
rockbox-265ee156f23fd166d29af89f8b9a778e46354c38.tar.gz
rockbox-265ee156f23fd166d29af89f8b9a778e46354c38.tar.bz2
rockbox-265ee156f23fd166d29af89f8b9a778e46354c38.tar.xz
Theme Editor: Implemented saveGeometry() in RBAlbumArt
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27713 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor/graphics')
-rw-r--r--utils/themeeditor/graphics/rbalbumart.cpp17
-rw-r--r--utils/themeeditor/graphics/rbalbumart.h11
-rw-r--r--utils/themeeditor/graphics/rbscreen.h1
3 files changed, 24 insertions, 5 deletions
diff --git a/utils/themeeditor/graphics/rbalbumart.cpp b/utils/themeeditor/graphics/rbalbumart.cpp
index 1dbe285..40c6f05 100644
--- a/utils/themeeditor/graphics/rbalbumart.cpp
+++ b/utils/themeeditor/graphics/rbalbumart.cpp
@@ -23,15 +23,19 @@
#include <QPainter>
+#include "parsetreenode.h"
+
RBAlbumArt::RBAlbumArt(QGraphicsItem *parent, int x, int y, int maxWidth,
- int maxHeight, int artWidth, int artHeight, char hAlign,
- char vAlign)
+ int maxHeight, int artWidth, int artHeight,
+ ParseTreeNode* node, char hAlign, char vAlign)
: RBMovable(parent), size(0, 0, maxWidth,
maxHeight),
artWidth(artWidth), artHeight(artHeight),
hAlign(hAlign), vAlign(vAlign),
- texture(":/render/albumart.png")
+ texture(":/render/albumart.png"), node(node)
{
+ setFlag(ItemSendsGeometryChanges, false);
+
setPos(x, y);
hide();
}
@@ -99,4 +103,11 @@ void RBAlbumArt::paint(QPainter *painter,
void RBAlbumArt::saveGeometry()
{
+ QPointF origin = pos();
+ QRectF bounds = boundingRect();
+
+ node->modParam(static_cast<int>(origin.x()), 0);
+ node->modParam(static_cast<int>(origin.y()), 1);
+ node->modParam(static_cast<int>(bounds.width()), 2);
+ node->modParam(static_cast<int>(bounds.height()), 3);
}
diff --git a/utils/themeeditor/graphics/rbalbumart.h b/utils/themeeditor/graphics/rbalbumart.h
index 8baf7a2..2c8090f 100644
--- a/utils/themeeditor/graphics/rbalbumart.h
+++ b/utils/themeeditor/graphics/rbalbumart.h
@@ -26,18 +26,23 @@
#include "rbmovable.h"
+class ParseTreeNode;
+
class RBAlbumArt : public RBMovable
{
public:
RBAlbumArt(QGraphicsItem* parent, int x, int y, int maxWidth, int maxHeight,
- int artWidth, int artHeight, char hAlign = 'c',
- char vAlign = 'c');
+ int artWidth, int artHeight, ParseTreeNode* node,
+ char hAlign = 'c', char vAlign = 'c');
QRectF boundingRect() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
QWidget *widget);
void position(){ this->setPos(size.x(), size.y()); }
+ void enableMove(){
+ setFlag(ItemSendsGeometryChanges, true);
+ }
protected:
void saveGeometry();
@@ -49,6 +54,8 @@ private:
char hAlign;
char vAlign;
QPixmap texture;
+
+ ParseTreeNode* node;
};
#endif // RBALBUMART_H
diff --git a/utils/themeeditor/graphics/rbscreen.h b/utils/themeeditor/graphics/rbscreen.h
index c2417aa..2903a29 100644
--- a/utils/themeeditor/graphics/rbscreen.h
+++ b/utils/themeeditor/graphics/rbscreen.h
@@ -82,6 +82,7 @@ public:
{
albumArt->setParentItem(view);
albumArt->show();
+ albumArt->enableMove();
}
}