summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-08-05 08:49:34 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-08-05 08:49:34 +0000
commitf657e491036e971725bb963e03775b43c4ecbda4 (patch)
treefb7d33aeadc576b73d75bb06c6326708240ce38e /utils
parent265ee156f23fd166d29af89f8b9a778e46354c38 (diff)
downloadrockbox-f657e491036e971725bb963e03775b43c4ecbda4.tar.gz
rockbox-f657e491036e971725bb963e03775b43c4ecbda4.tar.bz2
rockbox-f657e491036e971725bb963e03775b43c4ecbda4.zip
Theme Editor: Fixed bug that crashed conditionals nested in sublines, began work on making progress bars implement RBMovable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27714 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils')
-rw-r--r--utils/themeeditor/graphics/rbprogressbar.cpp9
-rw-r--r--utils/themeeditor/graphics/rbprogressbar.h6
-rw-r--r--utils/themeeditor/models/parsetreenode.cpp3
3 files changed, 16 insertions, 2 deletions
diff --git a/utils/themeeditor/graphics/rbprogressbar.cpp b/utils/themeeditor/graphics/rbprogressbar.cpp
index 206a835252..76cfe5601b 100644
--- a/utils/themeeditor/graphics/rbprogressbar.cpp
+++ b/utils/themeeditor/graphics/rbprogressbar.cpp
@@ -27,7 +27,7 @@
RBProgressBar::RBProgressBar(RBViewport *parent, const RBRenderInfo &info,
int paramCount, skin_tag_parameter *params,
bool pv)
- :QGraphicsItem(parent)
+ :RBMovable(parent)
{
/* First we set everything to defaults */
bitmap = 0;
@@ -117,4 +117,11 @@ void RBProgressBar::paint(QPainter *painter,
{
painter->fillRect(size, color);
}
+
+ RBMovable::paint(painter, option, widget);
+}
+
+void RBProgressBar::saveGeometry()
+{
+
}
diff --git a/utils/themeeditor/graphics/rbprogressbar.h b/utils/themeeditor/graphics/rbprogressbar.h
index e72479853e..817285653a 100644
--- a/utils/themeeditor/graphics/rbprogressbar.h
+++ b/utils/themeeditor/graphics/rbprogressbar.h
@@ -25,12 +25,13 @@
#include <QGraphicsItem>
#include <QPixmap>
+#include "rbmovable.h"
#include "rbrenderinfo.h"
#include "rbviewport.h"
#include "devicestate.h"
#include "skin_parser.h"
-class RBProgressBar : public QGraphicsItem
+class RBProgressBar : public RBMovable
{
public:
RBProgressBar(RBViewport* parent, const RBRenderInfo& info,
@@ -41,6 +42,9 @@ public:
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
QWidget *widget);
+protected:
+ void saveGeometry();
+
private:
QPixmap* bitmap;
QColor color;
diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp
index 443d0327f5..4afd04ab9d 100644
--- a/utils/themeeditor/models/parsetreenode.cpp
+++ b/utils/themeeditor/models/parsetreenode.cpp
@@ -1065,6 +1065,9 @@ double ParseTreeNode::findConditionalTime(ParseTreeNode *conditional,
{
int child = conditional->evalTag(info, true,
conditional->children.count()).toInt();
+ if(child >= conditional->children.count())
+ child = conditional->children.count() - 1;
+
return findBranchTime(conditional->children[child], info);
}