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) | |||
133 | void RBScreen::showViewport(QString name) | 133 | void 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; |