Theme Editor: Implemented status bar enable/disable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27200 a1c6a512-1295-4272-9138-f99709370657
diff --git a/utils/themeeditor/graphics/rbscreen.cpp b/utils/themeeditor/graphics/rbscreen.cpp
index 924a374..cb69afd 100644
--- a/utils/themeeditor/graphics/rbscreen.cpp
+++ b/utils/themeeditor/graphics/rbscreen.cpp
@@ -29,7 +29,8 @@
RBScreen::RBScreen(const RBRenderInfo& info, bool remote,
QGraphicsItem *parent)
:QGraphicsItem(parent), backdrop(0), project(project),
- albumArt(0)
+ albumArt(0), defaultStatusBar(true),
+ statusBarTexture(":/render/statusbar.png")
{
if(remote)
@@ -116,6 +117,9 @@
{
painter->fillRect(0, 0, width, height, bgColor);
}
+
+ if(defaultStatusBar)
+ painter->fillRect(QRectF(0, 0, width, 8), statusBarTexture);
}
void RBScreen::loadViewport(QString name, RBViewport *view)
diff --git a/utils/themeeditor/graphics/rbscreen.h b/utils/themeeditor/graphics/rbscreen.h
index 358a49e..58788d4 100644
--- a/utils/themeeditor/graphics/rbscreen.h
+++ b/utils/themeeditor/graphics/rbscreen.h
@@ -83,6 +83,8 @@
}
}
+ void disableStatusBar(){ defaultStatusBar = false; }
+ void enableStatusBar(){ defaultStatusBar = true; }
private:
int width;
@@ -102,6 +104,9 @@
RBAlbumArt* albumArt;
+ bool defaultStatusBar;
+ QPixmap statusBarTexture;
+
};
#endif // RBSCREEN_H
diff --git a/utils/themeeditor/graphics/rbviewport.cpp b/utils/themeeditor/graphics/rbviewport.cpp
index 22b2ada..4b85a30 100644
--- a/utils/themeeditor/graphics/rbviewport.cpp
+++ b/utils/themeeditor/graphics/rbviewport.cpp
@@ -33,7 +33,8 @@
: QGraphicsItem(info.screen()), font(info.screen()->getFont(0)),
foreground(info.screen()->foreground()),
background(info.screen()->background()), textOffset(0,0),
- screen(info.screen()), textAlign(Left)
+ screen(info.screen()), textAlign(Left), showStatusBar(false),
+ statusBarTexture(":/render/statusbar.png")
{
if(!node->tag)
{
@@ -140,6 +141,9 @@
painter->setPen(customUI ? Qt::blue : Qt::red);
if(debug)
painter->drawRect(size);
+
+ if(showStatusBar)
+ painter->fillRect(QRectF(0, 0, size.width(), 8), statusBarTexture);
}
void RBViewport::newLine()
diff --git a/utils/themeeditor/graphics/rbviewport.h b/utils/themeeditor/graphics/rbviewport.h
index 1d65eb8..2aff315 100644
--- a/utils/themeeditor/graphics/rbviewport.h
+++ b/utils/themeeditor/graphics/rbviewport.h
@@ -57,6 +57,8 @@
void write(QString text);
void alignText(Alignment align){ textAlign = align; }
+ void enableStatusBar(){ showStatusBar = true; }
+
private:
void alignLeft();
@@ -79,6 +81,9 @@
QList<QGraphicsItem*> centerText;
QList<QGraphicsItem*> rightText;
Alignment textAlign;
+
+ bool showStatusBar;
+ QPixmap statusBarTexture;
};
#endif // RBVIEWPORT_H
diff --git a/utils/themeeditor/models/parsetreenode.cpp b/utils/themeeditor/models/parsetreenode.cpp
index 3b334a6..300d519 100644
--- a/utils/themeeditor/models/parsetreenode.cpp
+++ b/utils/themeeditor/models/parsetreenode.cpp
@@ -611,6 +611,25 @@
return false;
+ case 'w':
+ switch(element->tag->name[1])
+ {
+ case 'd':
+ info.screen()->disableStatusBar();
+ return true;
+
+ case 'e':
+ info.screen()->enableStatusBar();
+ return true;
+
+ case 'i':
+ info.screen()->disableStatusBar();
+ viewport->enableStatusBar();
+ return true;
+ }
+
+ return false;
+
case 'x':
switch(element->tag->name[1])
{
diff --git a/utils/themeeditor/resources.qrc b/utils/themeeditor/resources.qrc
index a1c545b..ad892d7 100644
--- a/utils/themeeditor/resources.qrc
+++ b/utils/themeeditor/resources.qrc
@@ -13,5 +13,6 @@
<qresource prefix="/render">
<file alias="scenebg.png">resources/render/scenebg.png</file>
<file alias="albumart.png">resources/render/albumart.png</file>
+ <file alias="statusbar.png">resources/render/statusbar.png</file>
</qresource>
</RCC>
diff --git a/utils/themeeditor/resources/render/statusbar.png b/utils/themeeditor/resources/render/statusbar.png
new file mode 100644
index 0000000..06307b7
--- /dev/null
+++ b/utils/themeeditor/resources/render/statusbar.png
Binary files differ
diff --git a/utils/themeeditor/themeeditor.pro b/utils/themeeditor/themeeditor.pro
index a46c40b..1e66faf 100644
--- a/utils/themeeditor/themeeditor.pro
+++ b/utils/themeeditor/themeeditor.pro
@@ -72,7 +72,9 @@
resources/document-save.png \
resources/document-open.png \
resources/document-new.png \
- resources/deviceoptions
+ resources/deviceoptions \
+ resources/render/statusbar.png \
+ resources/render/scenebg.png
FORMS += gui/editorwindow.ui \
gui/preferencesdialog.ui \
gui/configdocument.ui \