From f0ff236203959245cb24817c227e14cf1b08fba9 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Wed, 26 Aug 2020 15:29:39 +0200 Subject: [PATCH] make icons quadratic with some quick fixes as usual --- examples/iot-dashboard/Humidity.cpp | 2 ++ examples/iot-dashboard/IndoorTemperature.cpp | 2 ++ examples/iot-dashboard/MyDevices.cpp | 1 + examples/iot-dashboard/RoundedIcon.cpp | 10 ++++++++++ examples/iot-dashboard/RoundedIcon.h | 1 + 5 files changed, 16 insertions(+) diff --git a/examples/iot-dashboard/Humidity.cpp b/examples/iot-dashboard/Humidity.cpp index 2970939f..f6c23bcd 100644 --- a/examples/iot-dashboard/Humidity.cpp +++ b/examples/iot-dashboard/Humidity.cpp @@ -18,6 +18,8 @@ Humidity::Humidity(QQuickItem *parent) QskGradient gradient(QskGradient::Vertical, "#6776FF", "#6100FF"); auto* icon = new RoundedIcon("humidity", gradient, this); + icon->setMinimumWidth(68); + icon->setFixedSize(68, 68); // ### fix properly auto *titleAndValue = new QskLinearBox(Qt::Vertical, this); diff --git a/examples/iot-dashboard/IndoorTemperature.cpp b/examples/iot-dashboard/IndoorTemperature.cpp index 66dd2a86..1e39f211 100644 --- a/examples/iot-dashboard/IndoorTemperature.cpp +++ b/examples/iot-dashboard/IndoorTemperature.cpp @@ -18,6 +18,8 @@ IndoorTemperature::IndoorTemperature(QQuickItem *parent) QskGradient gradient(QskGradient::Vertical, "#ff7d34", "#ff3122"); auto* icon = new RoundedIcon("indoor-temperature", gradient, this); + icon->setMinimumWidth(68); + icon->setFixedSize(68, 68); // ### fix properly auto *titleAndValue = new QskLinearBox(Qt::Vertical, this); diff --git a/examples/iot-dashboard/MyDevices.cpp b/examples/iot-dashboard/MyDevices.cpp index c76ac166..f012f5de 100644 --- a/examples/iot-dashboard/MyDevices.cpp +++ b/examples/iot-dashboard/MyDevices.cpp @@ -21,6 +21,7 @@ namespace { m_icon = new RoundedIcon(QString(), gradient, this); m_icon->setOpacity(0.15); + m_icon->setPreferredWidth(60); addItem(m_icon); auto* textLabel = new QskTextLabel(name, this); diff --git a/examples/iot-dashboard/RoundedIcon.cpp b/examples/iot-dashboard/RoundedIcon.cpp index 5e226a07..034db78a 100644 --- a/examples/iot-dashboard/RoundedIcon.cpp +++ b/examples/iot-dashboard/RoundedIcon.cpp @@ -16,6 +16,8 @@ RoundedIcon::RoundedIcon(const QString& iconName, const QskGradient& gradient, Q setGradientHint(Panel, gradient); setBoxShapeHint(Panel, 6 ); + setSizePolicy(QskSizePolicy::Minimum, QskSizePolicy::Constrained); + QString fileName = ":/images/" + iconName + ".png"; if(QFile::exists(fileName)) @@ -34,3 +36,11 @@ void RoundedIcon::updateLayout() m_graphicLabel->setPosition( { ( width() - m_graphicLabel->width() ) / 2, ( height() - m_graphicLabel->height() ) / 2 } ); } } + +QSizeF RoundedIcon::contentsSizeHint( Qt::SizeHint /*which*/, const QSizeF& size ) const +{ + QSizeF ret = size; + ret.setHeight( size.width() ); + + return ret; +} diff --git a/examples/iot-dashboard/RoundedIcon.h b/examples/iot-dashboard/RoundedIcon.h index 97b95aa1..aed72861 100644 --- a/examples/iot-dashboard/RoundedIcon.h +++ b/examples/iot-dashboard/RoundedIcon.h @@ -15,6 +15,7 @@ public: protected: void updateLayout() override; + virtual QSizeF contentsSizeHint( Qt::SizeHint, const QSizeF& ) const override; private: QString m_iconName;