From 0237ed040e7ace7f0c647edeb2098b7235a1a181 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Fri, 26 Mar 2021 17:03:02 +0100 Subject: [PATCH] main grid box styling --- examples/iot-dashboard/MainContent.cpp | 8 +++----- examples/iot-dashboard/MainContent.h | 26 +++++++++++++++++++++++++- examples/iot-dashboard/Skin.cpp | 2 ++ 3 files changed, 30 insertions(+), 6 deletions(-) diff --git a/examples/iot-dashboard/MainContent.cpp b/examples/iot-dashboard/MainContent.cpp index 481d440f..9d3bb548 100644 --- a/examples/iot-dashboard/MainContent.cpp +++ b/examples/iot-dashboard/MainContent.cpp @@ -21,6 +21,7 @@ #include QSK_SUBCONTROL( MainContent, Panel ) +QSK_SUBCONTROL( MainContentGridBox, Panel ) ShadowPositioner::ShadowPositioner( QQuickItem* parent ) : QskControl( parent ) { @@ -74,12 +75,9 @@ MainContent::MainContent( QQuickItem* parent ) : QskLinearBox( Qt::Vertical, par auto* topBar = new TopBar( this ); addItem( topBar ); - auto* gridBox = new QskGridBox( this ); - gridBox->setSpacing( 15 ); - gridBox->setMargins( {19, 0, 27, 24} ); + auto* gridBox = new MainContentGridBox( this ); gridBox->setPanel( true ); - gridBox->setBoxShapeHint( QskBox::Panel, 6 ); - gridBox->setBoxBorderMetricsHint( QskBox::Panel, 2 ); + gridBox->setSpacing( 15 ); addItem( gridBox ); auto* usage = new Usage( gridBox ); diff --git a/examples/iot-dashboard/MainContent.h b/examples/iot-dashboard/MainContent.h index 6e977a79..5d798b4c 100644 --- a/examples/iot-dashboard/MainContent.h +++ b/examples/iot-dashboard/MainContent.h @@ -1,9 +1,9 @@ #ifndef MAINCONTENT_H #define MAINCONTENT_H +#include #include -class QskGridBox; class ShadowBox; class ShadowedRectangle; @@ -21,6 +21,30 @@ class ShadowPositioner : public QskControl QVector m_rectangles; }; +class MainContentGridBox : public QskGridBox +{ + Q_OBJECT + + public: + QSK_SUBCONTROLS( Panel ) + + MainContentGridBox( QQuickItem* parent = nullptr ) + : QskGridBox( parent ) + { + } + + QskAspect::Subcontrol effectiveSubcontrol( + QskAspect::Subcontrol subControl ) const override final + { + if( subControl == QskGridBox::Panel ) + { + return Panel; + } + + return subControl; + } +}; + class MainContent : public QskLinearBox { Q_OBJECT diff --git a/examples/iot-dashboard/Skin.cpp b/examples/iot-dashboard/Skin.cpp index ab1d7ee7..81209929 100644 --- a/examples/iot-dashboard/Skin.cpp +++ b/examples/iot-dashboard/Skin.cpp @@ -71,6 +71,8 @@ void Skin::initHints( const Palette& palette ) color.setAlphaF( 0.14 ); ed.setGradient( MenuItem::Panel | MenuItem::Active, color ); + ed.setPadding( MainContentGridBox::Panel, {19, 0, 27, 24} ); + ed.setColor( MenuBarLabel::Text, Qt::white ); ed.setFontRole( MenuBarLabel::Text, QskSkin::SmallFont );