style light intensity
This commit is contained in:
parent
d34e5a47d9
commit
1e2d02a74f
|
@ -11,6 +11,8 @@
|
|||
#include <QPainter>
|
||||
#include <QRadialGradient>
|
||||
|
||||
QSK_SUBCONTROL( LightIntensityValueLabel, Text )
|
||||
|
||||
QSK_SUBCONTROL( LightDisplay, Panel )
|
||||
QSK_SUBCONTROL( LightDisplay, ColdPart )
|
||||
QSK_SUBCONTROL( LightDisplay, WarmPart )
|
||||
|
@ -138,7 +140,7 @@ void LightDimmer::paint( QPainter* painter )
|
|||
LightDisplay::LightDisplay( QQuickItem* parent )
|
||||
: QskControl( parent )
|
||||
, m_leftLabel( new QskTextLabel( QString::number( 0 ), this ) )
|
||||
, m_centreLabel( new QskTextLabel( QString::number( 50 ) + "%", this ) )
|
||||
, m_centreLabel( new LightIntensityValueLabel( QString::number( 50 ) + "%", this ) )
|
||||
, m_rightLabel( new QskTextLabel( QString::number( 100 ), this ) )
|
||||
, m_dimmer( new LightDimmer( gradientHint( ColdPart ), gradientHint( WarmPart ), this ) )
|
||||
, m_animator( new DimmerAnimator( this, m_dimmer ) )
|
||||
|
@ -146,8 +148,6 @@ LightDisplay::LightDisplay( QQuickItem* parent )
|
|||
m_leftLabel->setSizePolicy( Qt::Horizontal, QskSizePolicy::Maximum );
|
||||
m_centreLabel->setSizePolicy( Qt::Horizontal, QskSizePolicy::Maximum );
|
||||
m_centreLabel->setZ( 1 );
|
||||
m_centreLabel->setFontRole( QskSkin::LargeFont );
|
||||
m_centreLabel->setTextColor( "#929cb2" );
|
||||
m_rightLabel->setSizePolicy( Qt::Horizontal, QskSizePolicy::Maximum );
|
||||
m_rightLabel->setZ( 1 );
|
||||
|
||||
|
|
|
@ -3,12 +3,37 @@
|
|||
|
||||
#include "Box.h"
|
||||
|
||||
#include <QskTextLabel.h>
|
||||
|
||||
#include <QQuickPaintedItem>
|
||||
#include <QRadialGradient>
|
||||
|
||||
class DimmerAnimator;
|
||||
class QskTextLabel;
|
||||
|
||||
class LightIntensityValueLabel : public QskTextLabel
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QSK_SUBCONTROLS( Text )
|
||||
|
||||
LightIntensityValueLabel( const QString& text, QQuickItem* parent ) : QskTextLabel( text, parent )
|
||||
{
|
||||
}
|
||||
|
||||
QskAspect::Subcontrol effectiveSubcontrol(
|
||||
QskAspect::Subcontrol subControl ) const override final
|
||||
{
|
||||
if( subControl == QskTextLabel::Text )
|
||||
{
|
||||
return Text;
|
||||
}
|
||||
|
||||
return subControl;
|
||||
}
|
||||
};
|
||||
|
||||
class LightDimmer: public QQuickPaintedItem
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -73,7 +98,7 @@ class LightDisplay : public QskControl
|
|||
|
||||
private:
|
||||
QskTextLabel* m_leftLabel;
|
||||
QskTextLabel* m_centreLabel;
|
||||
LightIntensityValueLabel* m_centreLabel;
|
||||
QskTextLabel* m_rightLabel;
|
||||
LightDimmer* m_dimmer;
|
||||
DimmerAnimator* m_animator;
|
||||
|
|
|
@ -129,6 +129,8 @@ void Skin::initHints( const Palette& palette )
|
|||
// light intensity:
|
||||
ed.setGradient( LightDisplay::ColdPart, { Qt::Horizontal, "#a7b0ff", "#6776ff" } );
|
||||
ed.setGradient( LightDisplay::WarmPart, { Qt::Horizontal, "#feeeb7", "#ff3122" } );
|
||||
ed.setFontRole( LightIntensityValueLabel::Text, QskSkin::LargeFont );
|
||||
ed.setColor( LightIntensityValueLabel::Text, "#929cb2" );
|
||||
|
||||
// palette dependent skin hints:
|
||||
ed.setGradient( MenuBar::Panel, palette.menuBar );
|
||||
|
|
Loading…
Reference in New Issue