diff options
author | Robert Bieber <robby@bieberphoto.com> | 2010-08-05 08:03:32 +0000 |
---|---|---|
committer | Robert Bieber <robby@bieberphoto.com> | 2010-08-05 08:03:32 +0000 |
commit | 265ee156f23fd166d29af89f8b9a778e46354c38 (patch) | |
tree | 5e21672e0d00a5adf369ef82ccbbca7e7ba4520e /utils/themeeditor/graphics | |
parent | 2ea1a34f981fec971057c4df23791e3cf70a1b0c (diff) | |
download | rockbox-265ee156f23fd166d29af89f8b9a778e46354c38.tar.gz rockbox-265ee156f23fd166d29af89f8b9a778e46354c38.zip |
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.cpp | 17 | ||||
-rw-r--r-- | utils/themeeditor/graphics/rbalbumart.h | 11 | ||||
-rw-r--r-- | utils/themeeditor/graphics/rbscreen.h | 1 |
3 files changed, 24 insertions, 5 deletions
diff --git a/utils/themeeditor/graphics/rbalbumart.cpp b/utils/themeeditor/graphics/rbalbumart.cpp index 1dbe2855f8..40c6f05605 100644 --- a/utils/themeeditor/graphics/rbalbumart.cpp +++ b/utils/themeeditor/graphics/rbalbumart.cpp | |||
@@ -23,15 +23,19 @@ | |||
23 | 23 | ||
24 | #include <QPainter> | 24 | #include <QPainter> |
25 | 25 | ||
26 | #include "parsetreenode.h" | ||
27 | |||
26 | RBAlbumArt::RBAlbumArt(QGraphicsItem *parent, int x, int y, int maxWidth, | 28 | RBAlbumArt::RBAlbumArt(QGraphicsItem *parent, int x, int y, int maxWidth, |
27 | int maxHeight, int artWidth, int artHeight, char hAlign, | 29 | int maxHeight, int artWidth, int artHeight, |
28 | char vAlign) | 30 | ParseTreeNode* node, char hAlign, char vAlign) |
29 | : RBMovable(parent), size(0, 0, maxWidth, | 31 | : RBMovable(parent), size(0, 0, maxWidth, |
30 | maxHeight), | 32 | maxHeight), |
31 | artWidth(artWidth), artHeight(artHeight), | 33 | artWidth(artWidth), artHeight(artHeight), |
32 | hAlign(hAlign), vAlign(vAlign), | 34 | hAlign(hAlign), vAlign(vAlign), |
33 | texture(":/render/albumart.png") | 35 | texture(":/render/albumart.png"), node(node) |
34 | { | 36 | { |
37 | setFlag(ItemSendsGeometryChanges, false); | ||
38 | |||
35 | setPos(x, y); | 39 | setPos(x, y); |
36 | hide(); | 40 | hide(); |
37 | } | 41 | } |
@@ -99,4 +103,11 @@ void RBAlbumArt::paint(QPainter *painter, | |||
99 | void RBAlbumArt::saveGeometry() | 103 | void RBAlbumArt::saveGeometry() |
100 | { | 104 | { |
101 | 105 | ||
106 | QPointF origin = pos(); | ||
107 | QRectF bounds = boundingRect(); | ||
108 | |||
109 | node->modParam(static_cast<int>(origin.x()), 0); | ||
110 | node->modParam(static_cast<int>(origin.y()), 1); | ||
111 | node->modParam(static_cast<int>(bounds.width()), 2); | ||
112 | node->modParam(static_cast<int>(bounds.height()), 3); | ||
102 | } | 113 | } |
diff --git a/utils/themeeditor/graphics/rbalbumart.h b/utils/themeeditor/graphics/rbalbumart.h index 8baf7a2198..2c8090f9c3 100644 --- a/utils/themeeditor/graphics/rbalbumart.h +++ b/utils/themeeditor/graphics/rbalbumart.h | |||
@@ -26,18 +26,23 @@ | |||
26 | 26 | ||
27 | #include "rbmovable.h" | 27 | #include "rbmovable.h" |
28 | 28 | ||
29 | class ParseTreeNode; | ||
30 | |||
29 | class RBAlbumArt : public RBMovable | 31 | class RBAlbumArt : public RBMovable |
30 | { | 32 | { |
31 | public: | 33 | public: |
32 | RBAlbumArt(QGraphicsItem* parent, int x, int y, int maxWidth, int maxHeight, | 34 | RBAlbumArt(QGraphicsItem* parent, int x, int y, int maxWidth, int maxHeight, |
33 | int artWidth, int artHeight, char hAlign = 'c', | 35 | int artWidth, int artHeight, ParseTreeNode* node, |
34 | char vAlign = 'c'); | 36 | char hAlign = 'c', char vAlign = 'c'); |
35 | 37 | ||
36 | QRectF boundingRect() const; | 38 | QRectF boundingRect() const; |
37 | void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, | 39 | void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, |
38 | QWidget *widget); | 40 | QWidget *widget); |
39 | 41 | ||
40 | void position(){ this->setPos(size.x(), size.y()); } | 42 | void position(){ this->setPos(size.x(), size.y()); } |
43 | void enableMove(){ | ||
44 | setFlag(ItemSendsGeometryChanges, true); | ||
45 | } | ||
41 | 46 | ||
42 | protected: | 47 | protected: |
43 | void saveGeometry(); | 48 | void saveGeometry(); |
@@ -49,6 +54,8 @@ private: | |||
49 | char hAlign; | 54 | char hAlign; |
50 | char vAlign; | 55 | char vAlign; |
51 | QPixmap texture; | 56 | QPixmap texture; |
57 | |||
58 | ParseTreeNode* node; | ||
52 | }; | 59 | }; |
53 | 60 | ||
54 | #endif // RBALBUMART_H | 61 | #endif // RBALBUMART_H |
diff --git a/utils/themeeditor/graphics/rbscreen.h b/utils/themeeditor/graphics/rbscreen.h index c2417aa1b4..2903a29585 100644 --- a/utils/themeeditor/graphics/rbscreen.h +++ b/utils/themeeditor/graphics/rbscreen.h | |||
@@ -82,6 +82,7 @@ public: | |||
82 | { | 82 | { |
83 | albumArt->setParentItem(view); | 83 | albumArt->setParentItem(view); |
84 | albumArt->show(); | 84 | albumArt->show(); |
85 | albumArt->enableMove(); | ||
85 | } | 86 | } |
86 | } | 87 | } |
87 | 88 | ||