From f657e491036e971725bb963e03775b43c4ecbda4 Mon Sep 17 00:00:00 2001 From: Robert Bieber Date: Thu, 5 Aug 2010 08:49:34 +0000 Subject: 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 --- utils/themeeditor/graphics/rbprogressbar.cpp | 9 ++++++++- utils/themeeditor/graphics/rbprogressbar.h | 6 +++++- utils/themeeditor/models/parsetreenode.cpp | 3 +++ 3 files changed, 16 insertions(+), 2 deletions(-) (limited to 'utils/themeeditor') 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 #include +#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); } -- cgit