diff --git a/examples/iot-dashboard/MenuBar.cpp b/examples/iot-dashboard/MenuBar.cpp index d6b4fc36..6371a451 100644 --- a/examples/iot-dashboard/MenuBar.cpp +++ b/examples/iot-dashboard/MenuBar.cpp @@ -8,6 +8,7 @@ #include +QSK_SUBCONTROL( MenuBarGraphicLabel, Graphic ) QSK_SUBCONTROL( MenuBarLabel, Text ) QSK_SUBCONTROL( MenuItem, Panel ) @@ -25,10 +26,9 @@ MenuItem::MenuItem( const QString& name, QQuickItem* parent ) : QskLinearBox( Qt QString fileName = ":/images/" + name.toLower() + ".png"; // width: 14 QImage image( fileName ); auto graphic = QskGraphic::fromImage( image ); - auto* graphicLabel = new QskGraphicLabel( graphic, this ); + auto* graphicLabel = new MenuBarGraphicLabel( graphic, this ); graphicLabel->setSizePolicy( QskSizePolicy::Fixed, QskSizePolicy::Fixed ); graphicLabel->setFixedWidth( 14 ); - graphicLabel->setAlignment( Qt::AlignCenter ); new MenuBarLabel( name, this ); } diff --git a/examples/iot-dashboard/MenuBar.h b/examples/iot-dashboard/MenuBar.h index 33708cc1..90de1e16 100644 --- a/examples/iot-dashboard/MenuBar.h +++ b/examples/iot-dashboard/MenuBar.h @@ -1,9 +1,34 @@ #ifndef MENUBAR_H #define MENUBAR_H +#include #include #include +class MenuBarGraphicLabel : public QskGraphicLabel +{ + Q_OBJECT + + public: + QSK_SUBCONTROLS( Graphic ) + + MenuBarGraphicLabel( const QskGraphic& graphic, QQuickItem* parent = nullptr ) + : QskGraphicLabel( graphic, parent ) + { + } + + QskAspect::Subcontrol effectiveSubcontrol( + QskAspect::Subcontrol subControl ) const override final + { + if( subControl == QskGraphicLabel::Graphic ) + { + return Graphic; + } + + return subControl; + } +}; + class MenuBarLabel : public QskTextLabel { Q_OBJECT diff --git a/examples/iot-dashboard/Skin.cpp b/examples/iot-dashboard/Skin.cpp index dcd23e78..8eda19a9 100644 --- a/examples/iot-dashboard/Skin.cpp +++ b/examples/iot-dashboard/Skin.cpp @@ -72,6 +72,8 @@ void Skin::initHints( const Palette& palette ) ed.setColor( MenuBarLabel::Text, Qt::white ); ed.setFontRole( MenuBarLabel::Text, QskSkin::SmallFont ); + ed.setAlignment( MenuBarGraphicLabel::Graphic, Qt::AlignCenter ); + ed.setGradient( MenuBar::Panel, palette.menuBar ); ed.setGradient( MainContent::Panel, palette.mainContent );