qskinny/examples/iot-dashboard/IndoorTemperature.cpp

61 lines
2.3 KiB
C++
Raw Normal View History

2020-08-14 10:48:15 +00:00
#include "IndoorTemperature.h"
#include "DaytimeSkin.h"
#include "RoundedIcon.h"
#include <QskBoxShapeMetrics.h>
#include <QskGraphic.h>
#include <QskGraphicLabel.h>
#include <QskPushButton.h>
#include <QskTextLabel.h>
#include <QImage>
2020-09-17 14:22:47 +00:00
IndoorTemperature::IndoorTemperature( QQuickItem* parent )
: Box( "", parent )
2020-08-14 10:48:15 +00:00
{
2020-09-17 14:22:47 +00:00
setMarginsHint( Panel | QskAspect::Padding, 10 );
2020-08-14 10:48:15 +00:00
2020-09-17 14:22:47 +00:00
auto* layout = new QskLinearBox( Qt::Horizontal, this );
layout->setSpacing( 20 );
2020-08-14 10:48:15 +00:00
2020-09-17 14:22:47 +00:00
QskGradient gradient( QskGradient::Vertical, "#ff7d34", "#ff3122" );
auto* icon = new RoundedIcon( "indoor-temperature", gradient, layout );
icon->setMinimumWidth( 68 );
icon->setFixedSize( 68, 68 ); // ### fix properly
2020-08-14 10:48:15 +00:00
2020-09-17 14:22:47 +00:00
auto* titleAndValue = new QskLinearBox( Qt::Vertical, layout );
2020-08-14 10:48:15 +00:00
2020-09-17 14:22:47 +00:00
auto* title = new QskTextLabel( "Indoor Temperature", titleAndValue );
title->setFontRole( DaytimeSkin::TitleFont );
2020-08-14 10:48:15 +00:00
2020-09-17 14:22:47 +00:00
auto* value = new QskTextLabel( "+24", titleAndValue );
value->setFontRole( QskSkin::HugeFont );
value->setTextColor( "#929CB2" );
2020-08-14 10:48:15 +00:00
2020-09-17 14:22:47 +00:00
auto* buttons = new QskLinearBox( Qt::Vertical, layout );
buttons->setSizePolicy( Qt::Horizontal, QskSizePolicy::Fixed );
buttons->setSpacing( 0 );
QImage upImage( ":/images/up.png" );
2020-08-14 10:48:15 +00:00
auto upGraphic = QskGraphic::fromImage( upImage );
2020-09-17 14:22:47 +00:00
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" );
2020-08-14 10:48:15 +00:00
auto downGraphic = QskGraphic::fromImage( downImage );
2020-09-17 14:22:47 +00:00
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} );
2020-08-14 10:48:15 +00:00
}