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 ); setBoxBorderColorsHint( QskBox::Panel, borderColors );
m_label->setFontRole( DaytimeSkin::TitleFont ); m_label->setFontRole( DaytimeSkin::TitleFont );
if( m_label->text().isEmpty() )
{
m_label->setVisible( false );
}
} }

View File

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

View File

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