diff options
| author | Robert Bieber <robby@bieberphoto.com> | 2010-08-09 19:37:23 +0000 |
|---|---|---|
| committer | Robert Bieber <robby@bieberphoto.com> | 2010-08-09 19:37:23 +0000 |
| commit | d1a392a0e95b10fe9603fbd379a70b4cc0ddf22f (patch) | |
| tree | b1ce5452aa5578c7cbc5e711373d73b52b797510 /utils/themeeditor/models/parsetreemodel.cpp | |
| parent | 77b682571f80b0aec9a16182600678a1b553a4bb (diff) | |
| download | rockbox-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.cpp | 36 |
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; } |