Put indoor temperature inside a box

This commit is contained in:
Peter Hartmann 2020-09-17 16:22:47 +02:00
parent af16ec3696
commit ba1ffbbac1
3 changed files with 46 additions and 39 deletions

View File

@ -23,4 +23,9 @@ Box::Box( const QString& title, QQuickItem* parent )
setBoxBorderColorsHint( QskBox::Panel, borderColors );
m_label->setFontRole( DaytimeSkin::TitleFont );
if( m_label->text().isEmpty() )
{
m_label->setVisible( false );
}
}

View File

@ -10,49 +10,51 @@
#include <QImage>
IndoorTemperature::IndoorTemperature(QQuickItem *parent)
: QskLinearBox(Qt::Horizontal, parent)
IndoorTemperature::IndoorTemperature( QQuickItem* parent )
: Box( "", parent )
{
setMargins(17);
setSpacing(20);
setMarginsHint( Panel | QskAspect::Padding, 10 );
QskGradient gradient(QskGradient::Vertical, "#ff7d34", "#ff3122");
auto* icon = new RoundedIcon("indoor-temperature", gradient, this);
icon->setMinimumWidth(68);
icon->setFixedSize(68, 68); // ### fix properly
auto* layout = new QskLinearBox( Qt::Horizontal, this );
layout->setSpacing( 20 );
auto *titleAndValue = new QskLinearBox(Qt::Vertical, this);
QskGradient gradient( QskGradient::Vertical, "#ff7d34", "#ff3122" );
auto* icon = new RoundedIcon( "indoor-temperature", gradient, layout );
icon->setMinimumWidth( 68 );
icon->setFixedSize( 68, 68 ); // ### fix properly
auto* title = new QskTextLabel("Indoor Temperature", titleAndValue);
title->setFontRole(DaytimeSkin::TitleFont);
auto* titleAndValue = new QskLinearBox( Qt::Vertical, layout );
auto* value = new QskTextLabel("+24", titleAndValue);
value->setFontRole(QskSkin::HugeFont);
value->setTextColor("#929CB2");
auto* title = new QskTextLabel( "Indoor Temperature", titleAndValue );
title->setFontRole( DaytimeSkin::TitleFont );
auto* buttons = new QskLinearBox(Qt::Vertical, this);
buttons->setSizePolicy(Qt::Horizontal, QskSizePolicy::Fixed);
buttons->setSpacing(0);
auto* value = new QskTextLabel( "+24", titleAndValue );
value->setFontRole( QskSkin::HugeFont );
value->setTextColor( "#929CB2" );
QImage upImage( ":/images/up.png");
auto* buttons = new QskLinearBox( Qt::Vertical, layout );
buttons->setSizePolicy( Qt::Horizontal, QskSizePolicy::Fixed );
buttons->setSpacing( 0 );
QImage upImage( ":/images/up.png" );
auto upGraphic = QskGraphic::fromImage( upImage );
upGraphic.setDefaultSize({10, 5.71});
auto* upButton = new QskPushButton(buttons);
upButton->setBoxShapeHint(QskPushButton::Panel, {30, 30, 0, 0});
upButton->setSizePolicy(QskSizePolicy::Fixed, QskSizePolicy::Expanding);
upButton->setFixedWidth(32);
upButton->setGradientHint(QskPushButton::Panel, {"#f7f7f7"});
upButton->setGraphic(upGraphic);
upButton->setGraphicSourceSize({10, 5.71});
upGraphic.setDefaultSize( {10, 5.71} );
auto* upButton = new QskPushButton( buttons );
upButton->setBoxShapeHint( QskPushButton::Panel, {30, 30, 0, 0} );
upButton->setSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Expanding );
upButton->setFixedWidth( 32 );
upButton->setGradientHint( QskPushButton::Panel, {"#f7f7f7"} );
upButton->setGraphic( upGraphic );
upButton->setGraphicSourceSize( {10, 5.71} );
QImage downImage( ":/images/down.png");
QImage downImage( ":/images/down.png" );
auto downGraphic = QskGraphic::fromImage( downImage );
downGraphic.setDefaultSize({10, 5.71});
auto* downButton = new QskPushButton(buttons);
downButton->setBoxShapeHint(QskPushButton::Panel, {0, 0, 30, 30});
downButton->setSizePolicy(QskSizePolicy::Fixed, QskSizePolicy::Expanding);
downButton->setFixedWidth(32);
downButton->setGradientHint(QskPushButton::Panel, {"#f7f7f7"});
downButton->setGraphic(downGraphic);
downButton->setGraphicSourceSize({10, 5.71});
downGraphic.setDefaultSize( {10, 5.71} );
auto* downButton = new QskPushButton( buttons );
downButton->setBoxShapeHint( QskPushButton::Panel, {0, 0, 30, 30} );
downButton->setSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Expanding );
downButton->setFixedWidth( 32 );
downButton->setGradientHint( QskPushButton::Panel, {"#f7f7f7"} );
downButton->setGraphic( downGraphic );
downButton->setGraphicSourceSize( {10, 5.71} );
}

View File

@ -1,12 +1,12 @@
#ifndef INDOORTEMPERATURE_H
#define INDOORTEMPERATURE_H
#include <QskLinearBox.h>
#include <Box.h>
class IndoorTemperature : public QskLinearBox
class IndoorTemperature : public Box
{
public:
IndoorTemperature( QQuickItem* parent );
public:
IndoorTemperature( QQuickItem* parent );
};
#endif // INDOORTEMPERATURE_H