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) void RBScreen::showViewport(QString name)
{ {
if(namedViewports.value(name, 0) == 0) if(namedViewports.value(name, 0) == 0)
{
displayedViewports.append(name);
return; return;
}
QList<RBViewport*>* list = namedViewports.value(name, 0); QList<RBViewport*>* list = namedViewports.value(name, 0);
for(int i = 0; i < list->count(); i++) for(int i = 0; i < list->count(); i++)

View file

@ -49,6 +49,10 @@ public:
void loadViewport(QString name, RBViewport* view); void loadViewport(QString name, RBViewport* view);
void showViewport(QString name); void showViewport(QString name);
bool viewPortDisplayed(QString name)
{
return displayedViewports.contains(name);
}
void loadImage(QString name, RBImage* image) void loadImage(QString name, RBImage* image)
{ {
@ -84,6 +88,7 @@ private:
QMap<QString, RBImage*> images; QMap<QString, RBImage*> images;
QMap<QString, QString>* settings; QMap<QString, QString>* settings;
QMap<int, RBFont*> fonts; 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 */ /* A preloaded viewport definition */
ident = node->params[0].data.text; ident = node->params[0].data.text;
customUI = false; customUI = false;
hide(); if(!screen->viewPortDisplayed(ident))
hide();
info.screen()->loadViewport(ident, this); info.screen()->loadViewport(ident, this);
param = 1; param = 1;
break; break;