style some more

This commit is contained in:
Peter Hartmann 2021-03-31 18:02:34 +02:00
parent c74845e562
commit 621851cda7
6 changed files with 29 additions and 27 deletions

View File

@ -10,7 +10,10 @@ QSK_SUBCONTROL( BigRoundedIcon, Panel )
QSK_SUBCONTROL( BoxWithButtons, Panel ) QSK_SUBCONTROL( BoxWithButtons, Panel )
BoxWithButtons::BoxWithButtons( const QString& title, const QskGradient& gradient, QQuickItem* parent ) QSK_SUBCONTROL( IndoorTemperature, Panel )
QSK_SUBCONTROL( Humidity, Panel )
BoxWithButtons::BoxWithButtons( const QString& title, bool isBright, QQuickItem* parent )
: Box( "", parent ) : Box( "", parent )
{ {
setPanel( true ); setPanel( true );
@ -21,7 +24,7 @@ BoxWithButtons::BoxWithButtons( const QString& title, const QskGradient& gradien
QString iconFile = title.toLower(); QString iconFile = title.toLower();
iconFile = iconFile.replace( ' ', '-' ); iconFile = iconFile.replace( ' ', '-' );
auto* icon = new BigRoundedIcon( iconFile, gradient, layout ); auto* icon = new BigRoundedIcon( iconFile, isBright, layout );
icon->setFixedSize( 68, 68 ); // ### fix properly icon->setFixedSize( 68, 68 ); // ### fix properly
auto* titleAndValue = new QskLinearBox( Qt::Vertical, layout ); auto* titleAndValue = new QskLinearBox( Qt::Vertical, layout );

View File

@ -11,22 +11,9 @@ class BigRoundedIcon : public RoundedIcon
public: public:
QSK_SUBCONTROLS( Panel ) QSK_SUBCONTROLS( Panel )
BigRoundedIcon( const QString& iconName, const QskGradient& gradient, QQuickItem* parent = nullptr ) BigRoundedIcon( const QString& iconName, bool isBright, QQuickItem* parent = nullptr )
: RoundedIcon( iconName, gradient, parent ) : RoundedIcon( iconName, isBright, parent )
{ {
setGradientHint( Panel, gradient );
setBoxShapeHint( Panel, 6 );
}
QskAspect::Subcontrol effectiveSubcontrol(
QskAspect::Subcontrol subControl ) const override final
{
if( subControl == QskBox::Panel )
{
return Panel;
}
return subControl;
} }
}; };
@ -35,10 +22,10 @@ class BoxWithButtons : public Box
public: public:
QSK_SUBCONTROLS( Panel ) QSK_SUBCONTROLS( Panel )
BoxWithButtons( const QString& title, const QskGradient& gradient, QQuickItem* parent = nullptr ); BoxWithButtons( const QString& title, bool isBright, QQuickItem* parent = nullptr );
QskAspect::Subcontrol effectiveSubcontrol( QskAspect::Subcontrol effectiveSubcontrol(
QskAspect::Subcontrol subControl ) const override final QskAspect::Subcontrol subControl ) const override
{ {
if( subControl == QskBox::Panel ) if( subControl == QskBox::Panel )
{ {
@ -52,8 +39,10 @@ class BoxWithButtons : public Box
class IndoorTemperature : public BoxWithButtons class IndoorTemperature : public BoxWithButtons
{ {
public: public:
QSK_SUBCONTROLS( Panel )
IndoorTemperature( QQuickItem* parent ) IndoorTemperature( QQuickItem* parent )
: BoxWithButtons( "Indoor Temperature", { QskGradient::Vertical, "#ff7d34", "#ff3122" }, parent ) : BoxWithButtons( "Indoor Temperature", true, parent )
{ {
} }
}; };
@ -61,8 +50,10 @@ class IndoorTemperature : public BoxWithButtons
class Humidity: public BoxWithButtons class Humidity: public BoxWithButtons
{ {
public: public:
QSK_SUBCONTROLS( Panel )
Humidity( QQuickItem* parent ) Humidity( QQuickItem* parent )
: BoxWithButtons( "Humidity", { QskGradient::Vertical, "#6776FF", "#6100FF" }, parent ) : BoxWithButtons( "Humidity", false, parent )
{ {
} }
}; };

View File

@ -14,14 +14,14 @@ namespace
class Device : public QskLinearBox class Device : public QskLinearBox
{ {
public: public:
Device( const QString& name, const QskGradient& gradient, QQuickItem* parent ) Device( const QString& name, const QskGradient& gradient, QQuickItem* parent ) // ### remove gradient and style
: QskLinearBox( Qt::Vertical, parent ) : QskLinearBox( Qt::Vertical, parent )
, m_name( name ) , m_name( name )
{ {
setDefaultAlignment( Qt::AlignCenter ); setDefaultAlignment( Qt::AlignCenter );
setAutoAddChildren( false ); setAutoAddChildren( false );
m_icon = new RoundedIcon( QString(), gradient, this ); m_icon = new RoundedIcon( QString(), this );
m_icon->setOpacity( 0.15 ); m_icon->setOpacity( 0.15 );
m_icon->setFixedWidth( 60 ); m_icon->setFixedWidth( 60 );
addItem( m_icon ); addItem( m_icon );

View File

@ -7,15 +7,20 @@
#include <QImage> #include <QImage>
QSK_SUBCONTROL( RoundedIcon, Panel ) QSK_SUBCONTROL( RoundedIcon, Panel )
QSK_STATE( RoundedIcon, Bright, ( QskAspect::FirstUserState << 1 ) )
RoundedIcon::RoundedIcon( const QString& iconName, const QskGradient& gradient, QQuickItem* parent ) RoundedIcon::RoundedIcon( const QString& iconName, bool isBright, QQuickItem* parent )
: QskBox( parent ) : QskBox( parent )
, m_iconName( iconName ) , m_iconName( iconName )
, m_gradient( gradient )
{ {
setPanel( true ); setPanel( true );
setPolishOnResize( true ); setPolishOnResize( true );
if( isBright )
{
setSkinState( Bright );
}
setSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Constrained ); setSizePolicy( QskSizePolicy::Minimum, QskSizePolicy::Constrained );
QString fileName = ":/images/" + iconName + ".png"; QString fileName = ":/images/" + iconName + ".png";

View File

@ -12,8 +12,9 @@ class RoundedIcon : public QskBox
public: public:
QSK_SUBCONTROLS( Panel ) QSK_SUBCONTROLS( Panel )
QSK_STATES( Bright ) // just to differentiate between orange and purple
RoundedIcon( const QString& iconName, const QskGradient& gradient, QQuickItem* parent = nullptr ); RoundedIcon( const QString& iconName, bool isBright, QQuickItem* parent = nullptr );
QskAspect::Subcontrol effectiveSubcontrol( QskAspect::Subcontrol effectiveSubcontrol(
QskAspect::Subcontrol subControl ) const override QskAspect::Subcontrol subControl ) const override
@ -32,7 +33,6 @@ class RoundedIcon : public QskBox
private: private:
QString m_iconName; QString m_iconName;
QskGradient m_gradient;
QskGraphicLabel* m_graphicLabel = nullptr; QskGraphicLabel* m_graphicLabel = nullptr;
}; };

View File

@ -101,6 +101,9 @@ void Skin::initHints( const Palette& palette )
// content in boxes (indoor temperature, humidity etc.): // content in boxes (indoor temperature, humidity etc.):
ed.setPadding( BoxWithButtons::Panel, 8 ); ed.setPadding( BoxWithButtons::Panel, 8 );
ed.setBoxShape( RoundedIcon::Panel, 6 );
ed.setVGradient( RoundedIcon::Panel | RoundedIcon::Bright, "#ff7d34", "#ff3122" );
ed.setVGradient( RoundedIcon::Panel, "#6776FF", "#6100FF" );
// palette dependent skin hints: // palette dependent skin hints:
ed.setGradient( MenuBar::Panel, palette.menuBar ); ed.setGradient( MenuBar::Panel, palette.menuBar );