summaryrefslogtreecommitdiff
path: root/utils/themeeditor/models/parsetreemodel.cpp
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-08-09 19:37:23 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-08-09 19:37:23 +0000
commitd1a392a0e95b10fe9603fbd379a70b4cc0ddf22f (patch)
treeb1ce5452aa5578c7cbc5e711373d73b52b797510 /utils/themeeditor/models/parsetreemodel.cpp
parent77b682571f80b0aec9a16182600678a1b553a4bb (diff)
downloadrockbox-d1a392a0e95b10fe9603fbd379a70b4cc0ddf22f.zip
rockbox-d1a392a0e95b10fe9603fbd379a70b4cc0ddf22f.tar.gz
rockbox-d1a392a0e95b10fe9603fbd379a70b4cc0ddf22f.tar.bz2
rockbox-d1a392a0e95b10fe9603fbd379a70b4cc0ddf22f.tar.xz
Theme Editor: Co Used a more efficient/less error-prone system for rendering SBS documents underneath WPS documents
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27765 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils/themeeditor/models/parsetreemodel.cpp')
-rw-r--r--utils/themeeditor/models/parsetreemodel.cpp36
1 files changed, 12 insertions, 24 deletions
diff --git a/utils/themeeditor/models/parsetreemodel.cpp b/utils/themeeditor/models/parsetreemodel.cpp
index fbedf10..a7f46ac 100644
--- a/utils/themeeditor/models/parsetreemodel.cpp
+++ b/utils/themeeditor/models/parsetreemodel.cpp
@@ -316,7 +316,7 @@ RBScene* ParseTreeModel::render(ProjectModel* project,
}
/* Rendering SBS, if necessary */
- RBScreen* sbsScreen = 0;
+ RBScreen* screen = 0;
if(wps && device->data("rendersbs").toBool())
{
QString sbsFile = settings.value(remote ? "rsbs" : "sbs", "");
@@ -334,49 +334,37 @@ RBScene* ParseTreeModel::render(ProjectModel* project,
if(sbsModel->root != 0)
{
RBRenderInfo sbsInfo(sbsModel, project, doc, &settings, device,
- sbsScreen);
+ screen);
- sbsScreen = new RBScreen(sbsInfo, remote);
- scene->addItem(sbsScreen);
+ screen = new RBScreen(sbsInfo, remote);
+ scene->addItem(screen);
sbsInfo = RBRenderInfo(sbsModel, project, doc, &settings,
- device, sbsScreen);
+ device, screen);
sbsModel->root->render(sbsInfo);
+ screen->endSbsRender();
- setChildrenUnselectable(sbsScreen);
+ setChildrenUnselectable(screen);
}
}
}
- RBScreen* screen = 0;
- RBRenderInfo info(this, project, doc, &settings, device, screen, sbsScreen);
+ RBRenderInfo info(this, project, doc, &settings, device, screen);
/* Adding the screen */
- if(sbsScreen)
- screen = new RBScreen(info, remote, sbsScreen->getCustomUI());
- else
+ if(!screen)
+ {
screen = new RBScreen(info, remote);
-
- if(!sbsScreen)
scene->addItem(screen);
+ }
- info = RBRenderInfo(this, project, doc, &settings, device, screen,
- sbsScreen);
+ info = RBRenderInfo(this, project, doc, &settings, device, screen);
/* Rendering the tree */
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;
}