Theme Editor: Fixed conditional viewport display

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27185 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Robert Bieber 2010-06-29 21:09:29 +00:00
parent 9d6b5d6317
commit 1fbea62797
3 changed files with 10 additions and 1 deletions

View file

@ -133,7 +133,10 @@ void RBScreen::loadViewport(QString name, RBViewport *view)
void RBScreen::showViewport(QString name)
{
if(namedViewports.value(name, 0) == 0)
{
displayedViewports.append(name);
return;
}
QList<RBViewport*>* list = namedViewports.value(name, 0);
for(int i = 0; i < list->count(); i++)

View file

@ -49,6 +49,10 @@ public:
void loadViewport(QString name, RBViewport* view);
void showViewport(QString name);
bool viewPortDisplayed(QString name)
{
return displayedViewports.contains(name);
}
void loadImage(QString name, RBImage* image)
{
@ -84,6 +88,7 @@ private:
QMap<QString, RBImage*> images;
QMap<QString, QString>* settings;
QMap<int, RBFont*> fonts;
QList<QString> displayedViewports;
};

View file

@ -69,7 +69,8 @@ RBViewport::RBViewport(skin_element* node, const RBRenderInfo& info)
/* A preloaded viewport definition */
ident = node->params[0].data.text;
customUI = false;
hide();
if(!screen->viewPortDisplayed(ident))
hide();
info.screen()->loadViewport(ident, this);
param = 1;
break;