summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Bieber <robby@bieberphoto.com>2010-06-29 21:09:29 +0000
committerRobert Bieber <robby@bieberphoto.com>2010-06-29 21:09:29 +0000
commit1fbea627972c889e2bde686679d2fc315c9b83bb (patch)
tree51be6781ac7bbbee0a036dac7b269f06f255bd04
parent9d6b5d63175168e427de1cad85c9d8ae4020b7c0 (diff)
downloadrockbox-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.cpp3
-rw-r--r--utils/themeeditor/graphics/rbscreen.h5
-rw-r--r--utils/themeeditor/graphics/rbviewport.cpp3
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)
133void RBScreen::showViewport(QString name) 133void RBScreen::showViewport(QString name)
134{ 134{
135 if(namedViewports.value(name, 0) == 0) 135 if(namedViewports.value(name, 0) == 0)
136 {
137 displayedViewports.append(name);
136 return; 138 return;
139 }
137 140
138 QList<RBViewport*>* list = namedViewports.value(name, 0); 141 QList<RBViewport*>* list = namedViewports.value(name, 0);
139 for(int i = 0; i < list->count(); i++) 142 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:
49 49
50 void loadViewport(QString name, RBViewport* view); 50 void loadViewport(QString name, RBViewport* view);
51 void showViewport(QString name); 51 void showViewport(QString name);
52 bool viewPortDisplayed(QString name)
53 {
54 return displayedViewports.contains(name);
55 }
52 56
53 void loadImage(QString name, RBImage* image) 57 void loadImage(QString name, RBImage* image)
54 { 58 {
@@ -84,6 +88,7 @@ private:
84 QMap<QString, RBImage*> images; 88 QMap<QString, RBImage*> images;
85 QMap<QString, QString>* settings; 89 QMap<QString, QString>* settings;
86 QMap<int, RBFont*> fonts; 90 QMap<int, RBFont*> fonts;
91 QList<QString> displayedViewports;
87 92
88}; 93};
89 94
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)
69 /* A preloaded viewport definition */ 69 /* A preloaded viewport definition */
70 ident = node->params[0].data.text; 70 ident = node->params[0].data.text;
71 customUI = false; 71 customUI = false;
72 hide(); 72 if(!screen->viewPortDisplayed(ident))
73 hide();
73 info.screen()->loadViewport(ident, this); 74 info.screen()->loadViewport(ident, this);
74 param = 1; 75 param = 1;
75 break; 76 break;