diff options
author | Robert Bieber <robby@bieberphoto.com> | 2010-06-29 21:09:29 +0000 |
---|---|---|
committer | Robert Bieber <robby@bieberphoto.com> | 2010-06-29 21:09:29 +0000 |
commit | 1fbea627972c889e2bde686679d2fc315c9b83bb (patch) | |
tree | 51be6781ac7bbbee0a036dac7b269f06f255bd04 | |
parent | 9d6b5d63175168e427de1cad85c9d8ae4020b7c0 (diff) | |
download | rockbox-1fbea627972c889e2bde686679d2fc315c9b83bb.tar.gz rockbox-1fbea627972c889e2bde686679d2fc315c9b83bb.zip |
Theme Editor: Fixed conditional viewport display
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27185 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | utils/themeeditor/graphics/rbscreen.cpp | 3 | ||||
-rw-r--r-- | utils/themeeditor/graphics/rbscreen.h | 5 | ||||
-rw-r--r-- | utils/themeeditor/graphics/rbviewport.cpp | 3 |
3 files changed, 10 insertions, 1 deletions
diff --git a/utils/themeeditor/graphics/rbscreen.cpp b/utils/themeeditor/graphics/rbscreen.cpp index b93d3c88ad..f82c60ce6c 100644 --- a/utils/themeeditor/graphics/rbscreen.cpp +++ b/utils/themeeditor/graphics/rbscreen.cpp @@ -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++) diff --git a/utils/themeeditor/graphics/rbscreen.h b/utils/themeeditor/graphics/rbscreen.h index 25f7c07bd9..7b8b83060a 100644 --- a/utils/themeeditor/graphics/rbscreen.h +++ b/utils/themeeditor/graphics/rbscreen.h @@ -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; }; diff --git a/utils/themeeditor/graphics/rbviewport.cpp b/utils/themeeditor/graphics/rbviewport.cpp index 8fa05a2fc7..80ab5dce0b 100644 --- a/utils/themeeditor/graphics/rbviewport.cpp +++ b/utils/themeeditor/graphics/rbviewport.cpp @@ -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; |