From 92882f2a25e10095fb21ac0ef036e08d810b8754 Mon Sep 17 00:00:00 2001 From: Robert Bieber Date: Fri, 6 Aug 2010 07:53:19 +0000 Subject: Theme Editor: Made progress bar display correctly when resized, fixed some segfaults caused by editing SBS elements from a WPS document and then turning SBS rendering off git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27735 a1c6a512-1295-4272-9138-f99709370657 --- utils/themeeditor/graphics/rbprogressbar.cpp | 2 ++ utils/themeeditor/models/parsetreemodel.cpp | 9 +++++++++ utils/themeeditor/models/parsetreenode.cpp | 3 +++ 3 files changed, 14 insertions(+) (limited to 'utils') diff --git a/utils/themeeditor/graphics/rbprogressbar.cpp b/utils/themeeditor/graphics/rbprogressbar.cpp index 292318cf60..678f3dd68b 100644 --- a/utils/themeeditor/graphics/rbprogressbar.cpp +++ b/utils/themeeditor/graphics/rbprogressbar.cpp @@ -107,6 +107,8 @@ void RBProgressBar::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { + renderSize.setHeight(size.height()); + if(bitmap && !bitmap->isNull()) { painter->drawPixmap(renderSize, *bitmap, renderSize); diff --git a/utils/themeeditor/models/parsetreemodel.cpp b/utils/themeeditor/models/parsetreemodel.cpp index ed5f5740c3..2186788fd6 100644 --- a/utils/themeeditor/models/parsetreemodel.cpp +++ b/utils/themeeditor/models/parsetreemodel.cpp @@ -368,6 +368,15 @@ QGraphicsScene* ParseTreeModel::render(ProjectModel* project, if(root) root->render(info); +// /* Making sure the Custom UI Viewport can't be selected */ +// if(sbsScreen) +// { +// sbsScreen->getCustomUI()->setFlag(QGraphicsItem::ItemIsSelectable, +// false); +// sbsScreen->getCustomUI()->setFlag(QGraphicsItem::ItemIsMovable, +// false); +// } +// return scene; } diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp index 779d236012..ac2556b17f 100644 --- a/utils/themeeditor/models/parsetreenode.cpp +++ b/utils/themeeditor/models/parsetreenode.cpp @@ -542,6 +542,9 @@ void ParseTreeNode::render(const RBRenderInfo& info) void ParseTreeNode::render(const RBRenderInfo &info, RBViewport* viewport, bool noBreak) { + if(!element) + return; + if(element->type == LINE) { for(int i = 0; i < children.count(); i++) -- cgit v1.2.3