1
0
Fork 0
forked from len0rd/rockbox

Theme Editor: SBS will now render underneath WPS, if both are present in project

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27265 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Robert Bieber 2010-07-03 22:57:42 +00:00
parent 8da13a5d4b
commit 2f68e5be59
6 changed files with 88 additions and 10 deletions

View file

@ -29,18 +29,18 @@
RBScreen::RBScreen(const RBRenderInfo& info, bool remote,
QGraphicsItem *parent)
:QGraphicsItem(parent), backdrop(0), project(project),
albumArt(0)
albumArt(0), customUI(0)
{
if(remote)
{
width = info.device()->data("remotewidth").toInt();
height = info.device()->data("remoteheight").toInt();
fullWidth = info.device()->data("remotewidth").toInt();
fullHeight = info.device()->data("remoteheight").toInt();
}
else
{
width = info.device()->data("screenwidth").toInt();
height = info.device()->data("screenheight").toInt();
fullWidth = info.device()->data("screenwidth").toInt();
fullHeight = info.device()->data("screenheight").toInt();
}
QString bg = info.settings()->value("background color", "FFFFFF");
@ -63,8 +63,8 @@ RBScreen::RBScreen(const RBRenderInfo& info, bool remote,
/* If a backdrop has been found, use its width and height */
if(!backdrop->isNull())
{
width = backdrop->width();
height = backdrop->height();
fullWidth = backdrop->width();
fullHeight = backdrop->height();
}
else
{
@ -74,6 +74,17 @@ RBScreen::RBScreen(const RBRenderInfo& info, bool remote,
}
fonts.insert(0, new RBFont("Nothin'"));
if(parent == 0)
{
width = fullWidth;
height = fullHeight;
}
else
{
width = parent->boundingRect().width();
height = parent->boundingRect().height();
}
}
RBScreen::~RBScreen()
@ -108,6 +119,9 @@ QRectF RBScreen::boundingRect() const
void RBScreen::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
QWidget *widget)
{
if(parentItem() != 0)
return;
if(backdrop)
{
painter->drawPixmap(0, 0, width, height, *backdrop);
@ -191,9 +205,18 @@ void RBScreen::makeCustomUI(QString id)
namedViewports.value(id)->at(i)->makeCustomUI();
for(int i = 0; i < namedViewports.value(id)->count(); i++)
namedViewports.value(id)->at(i)->show();
customUI = namedViewports.value(id)->at(0);
}
}
void RBScreen::breakSBS()
{
width = fullWidth;
height = fullHeight;
setParentItem(0);
}
QColor RBScreen::stringToColor(QString str, QColor fallback)
{