forked from len0rd/rockbox
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
This commit is contained in:
parent
77b682571f
commit
d1a392a0e9
10 changed files with 71 additions and 45 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue