diff --git a/examples/iot-dashboard/Humidity.cpp b/examples/iot-dashboard/Humidity.cpp new file mode 100644 index 00000000..47537796 --- /dev/null +++ b/examples/iot-dashboard/Humidity.cpp @@ -0,0 +1,55 @@ +#include "Humidity.h" +#include "DaytimeSkin.h" +#include "RoundedIcon.h" + +#include +#include +#include +#include +#include + +#include + +Humidity::Humidity(QQuickItem *parent) + : QskLinearBox(Qt::Horizontal, parent) +{ + setMargins(17); + setSpacing(20); + + QskGradient gradient(QskGradient::Vertical, "#6776FF", "#6100FF"); + auto* icon = new RoundedIcon("humidity", gradient, this); + + auto *titleAndValue = new QskLinearBox(Qt::Vertical, this); + + auto* title = new QskTextLabel("Humidity", titleAndValue); + title->setFontRole(DaytimeSkin::TitleFont); + + auto* value = new QskTextLabel("30%", titleAndValue); + value->setFontRole(QskSkin::HugeFont); + value->setTextColor("#929CB2"); + + auto* buttons = new QskLinearBox(Qt::Vertical, this); + 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}); + + 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}); +} diff --git a/examples/iot-dashboard/Humidity.h b/examples/iot-dashboard/Humidity.h new file mode 100644 index 00000000..49d9be42 --- /dev/null +++ b/examples/iot-dashboard/Humidity.h @@ -0,0 +1,12 @@ +#ifndef HUMIDITY_H +#define HUMIDITY_H + +#include + +class Humidity : public QskLinearBox +{ +public: + Humidity( QQuickItem* parent ); +}; + +#endif // HUMIDITY_H diff --git a/examples/iot-dashboard/MainContent.cpp b/examples/iot-dashboard/MainContent.cpp index d0cede61..f1d0fcf5 100644 --- a/examples/iot-dashboard/MainContent.cpp +++ b/examples/iot-dashboard/MainContent.cpp @@ -1,6 +1,7 @@ #include "MainContent.h" #include "Card.h" +#include "Humidity.h" #include "IndoorTemperature.h" #include "PieChart.h" #include "TopBar.h" @@ -34,6 +35,9 @@ MainContent::MainContent( QQuickItem *parent ) : QskLinearBox( Qt::Vertical, par auto* indoorTemperature = new IndoorTemperature(gridBox); gridBox->addItem(indoorTemperature, 0, 1); + + auto* humidity = new Humidity(gridBox); + gridBox->addItem(humidity, 1, 1); } void MainContent::addCard( const QString &title, QskControl *content, int column ) diff --git a/examples/iot-dashboard/images.qrc b/examples/iot-dashboard/images.qrc index b0f697a4..423b6367 100644 --- a/examples/iot-dashboard/images.qrc +++ b/examples/iot-dashboard/images.qrc @@ -9,6 +9,7 @@ images/members.png images/logout.png images/indoor-temperature.png + images/humidity.png images/up.png images/down.png diff --git a/examples/iot-dashboard/images/humidity.png b/examples/iot-dashboard/images/humidity.png new file mode 100644 index 00000000..d280cf4e Binary files /dev/null and b/examples/iot-dashboard/images/humidity.png differ diff --git a/examples/iot-dashboard/images/humidity.svg b/examples/iot-dashboard/images/humidity.svg new file mode 100644 index 00000000..1d5c6814 --- /dev/null +++ b/examples/iot-dashboard/images/humidity.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/examples/iot-dashboard/iot-dashboard.pro b/examples/iot-dashboard/iot-dashboard.pro index b1273538..dec833b7 100644 --- a/examples/iot-dashboard/iot-dashboard.pro +++ b/examples/iot-dashboard/iot-dashboard.pro @@ -4,6 +4,7 @@ SOURCES += \ Card.cpp \ CircularProgressBar.cpp \ DaytimeSkin.cpp \ + Humidity.cpp \ IndoorTemperature.cpp \ MainContent.cpp \ MenuBar.cpp \ @@ -20,6 +21,7 @@ HEADERS += \ Card.h \ CircularProgressBar.h \ DaytimeSkin.h \ + Humidity.h \ IndoorTemperature.h \ MainContent.h \ MainWindow.h \