summaryrefslogtreecommitdiff
path: root/utils/themeeditor/graphics/rbprogressbar.cpp
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-08-05 19:05:36 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-08-05 19:05:36 +0000
commitc5025c7c78b416f42f086138161d3126ad9482b9 (patch)
tree9415a0544cd17d40f21d1ae9a5599223be408fb1 /utils/themeeditor/graphics/rbprogressbar.cpp
parente4dc4f891393bb132927ad5d1a726f5d9429bff7 (diff)
downloadrockbox-c5025c7c78b416f42f086138161d3126ad9482b9.zip
rockbox-c5025c7c78b416f42f086138161d3126ad9482b9.tar.gz
rockbox-c5025c7c78b416f42f086138161d3126ad9482b9.tar.bz2
rockbox-c5025c7c78b416f42f086138161d3126ad9482b9.tar.xz
Theme Editor: Made progress bars fully movable/savable from the preview panel
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27726 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor/graphics/rbprogressbar.cpp')
-rw-r--r--utils/themeeditor/graphics/rbprogressbar.cpp26
1 files changed, 19 insertions, 7 deletions
diff --git a/utils/themeeditor/graphics/rbprogressbar.cpp b/utils/themeeditor/graphics/rbprogressbar.cpp
index 76cfe56..15515f8 100644
--- a/utils/themeeditor/graphics/rbprogressbar.cpp
+++ b/utils/themeeditor/graphics/rbprogressbar.cpp
@@ -21,14 +21,17 @@
#include <QPainter>
+#include "parsetreenode.h"
#include "rbprogressbar.h"
#include "projectmodel.h"
RBProgressBar::RBProgressBar(RBViewport *parent, const RBRenderInfo &info,
- int paramCount, skin_tag_parameter *params,
- bool pv)
- :RBMovable(parent)
+ ParseTreeNode* node, bool pv)
+ :RBMovable(parent), node(node)
{
+ int paramCount = node->getElement()->params_count;
+ skin_tag_parameter* params = node->getElement()->params;
+
/* First we set everything to defaults */
bitmap = 0;
color = parent->getFGColor();
@@ -70,7 +73,7 @@ RBProgressBar::RBProgressBar(RBViewport *parent, const RBRenderInfo &info,
bitmap = 0;
}
}
-
+ size = QRectF(0, 0, w, h);
/* Finally, we scale the width according to the amount played */
int percent;
@@ -89,7 +92,7 @@ RBProgressBar::RBProgressBar(RBViewport *parent, const RBRenderInfo &info,
w = w * percent / 100;
- size = QRectF(0, 0, w, h);
+ renderSize = QRectF(0, 0, w, h);
setPos(x, y);
parent->addTextOffset(h);
}
@@ -111,11 +114,11 @@ void RBProgressBar::paint(QPainter *painter,
{
if(bitmap && !bitmap->isNull())
{
- painter->drawPixmap(size, *bitmap, size);
+ painter->drawPixmap(renderSize, *bitmap, renderSize);
}
else
{
- painter->fillRect(size, color);
+ painter->fillRect(renderSize, color);
}
RBMovable::paint(painter, option, widget);
@@ -123,5 +126,14 @@ void RBProgressBar::paint(QPainter *painter,
void RBProgressBar::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);
+ if(!bitmap)
+ node->modParam(QVariant(), 4);
}