style light intensity
This commit is contained in:
parent
45ad464cac
commit
70bf3ed08b
|
@ -7,7 +7,7 @@ CircularProgressBar::CircularProgressBar( const QskGradient& gradient, int progr
|
||||||
, m_progress( progress )
|
, m_progress( progress )
|
||||||
{
|
{
|
||||||
// This is a bit hackish, but let's do this properly
|
// This is a bit hackish, but let's do this properly
|
||||||
// once QSkinny has an arch renderer in place
|
// once QSkinny has an arc renderer in place
|
||||||
QLinearGradient g( 0, 0, 30, 0 );
|
QLinearGradient g( 0, 0, 30, 0 );
|
||||||
QGradientStop stop1( 0.0, gradient.colorAt( 0 ) );
|
QGradientStop stop1( 0.0, gradient.colorAt( 0 ) );
|
||||||
QGradientStop stop2( 1.0, gradient.colorAt( 1 ) );
|
QGradientStop stop2( 1.0, gradient.colorAt( 1 ) );
|
||||||
|
|
|
@ -12,6 +12,8 @@
|
||||||
#include <QRadialGradient>
|
#include <QRadialGradient>
|
||||||
|
|
||||||
QSK_SUBCONTROL( LightDisplay, Panel )
|
QSK_SUBCONTROL( LightDisplay, Panel )
|
||||||
|
QSK_SUBCONTROL( LightDisplay, ColdPart )
|
||||||
|
QSK_SUBCONTROL( LightDisplay, WarmPart )
|
||||||
|
|
||||||
namespace
|
namespace
|
||||||
{
|
{
|
||||||
|
@ -72,8 +74,10 @@ class DimmerAnimator : public QskAnimator
|
||||||
LightDimmer* m_dimmer;
|
LightDimmer* m_dimmer;
|
||||||
};
|
};
|
||||||
|
|
||||||
LightDimmer::LightDimmer( QQuickItem* parent )
|
LightDimmer::LightDimmer( const QskGradient& coldGradient, const QskGradient& warmGradient, QQuickItem* parent )
|
||||||
: QQuickPaintedItem( parent )
|
: QQuickPaintedItem( parent )
|
||||||
|
, m_coldGradient( coldGradient )
|
||||||
|
, m_warmGradient( warmGradient )
|
||||||
{
|
{
|
||||||
connect( this, &QQuickPaintedItem::contentsSizeChanged, [this]()
|
connect( this, &QQuickPaintedItem::contentsSizeChanged, [this]()
|
||||||
{
|
{
|
||||||
|
@ -107,17 +111,17 @@ void LightDimmer::paint( QPainter* painter )
|
||||||
int middleAngle = 16 * -90;
|
int middleAngle = 16 * -90;
|
||||||
int endAngle = 16 * -90;
|
int endAngle = 16 * -90;
|
||||||
|
|
||||||
QLinearGradient blueGradient( {thickness(), 0.0}, {thickness(), thickness()} );
|
QLinearGradient coldGradient( {thickness(), 0.0}, {thickness(), thickness()} );
|
||||||
blueGradient.setColorAt( 0, "#a7b0ff" );
|
coldGradient.setColorAt( 0, m_coldGradient.colorAt( 0 ) );
|
||||||
blueGradient.setColorAt( 1, "#6776ff" );
|
coldGradient.setColorAt( 1, m_coldGradient.colorAt( 1 ) );
|
||||||
painter->setBrush( blueGradient );
|
painter->setBrush( coldGradient );
|
||||||
painter->setPen( Qt::transparent );
|
painter->setPen( Qt::transparent );
|
||||||
painter->drawPie( outerRect, startAngle, middleAngle );
|
painter->drawPie( outerRect, startAngle, middleAngle );
|
||||||
|
|
||||||
QLinearGradient redGradient( {thickness(), 0.0}, {thickness(), thickness()} );
|
QLinearGradient warmGradient( {thickness(), 0.0}, {thickness(), thickness()} );
|
||||||
redGradient.setColorAt( 0, "#feeeb7" );
|
warmGradient.setColorAt( 0, m_warmGradient.colorAt( 0 ) );
|
||||||
redGradient.setColorAt( 1, "#ff3122" );
|
warmGradient.setColorAt( 1, m_warmGradient.colorAt( 1 ) );
|
||||||
painter->setBrush( redGradient );
|
painter->setBrush( warmGradient );
|
||||||
painter->drawPie( outerRect, 16 * 90, endAngle );
|
painter->drawPie( outerRect, 16 * 90, endAngle );
|
||||||
|
|
||||||
painter->setBrush( m_backgroundColor );
|
painter->setBrush( m_backgroundColor );
|
||||||
|
@ -136,7 +140,7 @@ LightDisplay::LightDisplay( QQuickItem* parent )
|
||||||
, m_leftLabel( new QskTextLabel( QString::number( 0 ), this ) )
|
, m_leftLabel( new QskTextLabel( QString::number( 0 ), this ) )
|
||||||
, m_centreLabel( new QskTextLabel( QString::number( 50 ) + "%", this ) )
|
, m_centreLabel( new QskTextLabel( QString::number( 50 ) + "%", this ) )
|
||||||
, m_rightLabel( new QskTextLabel( QString::number( 100 ), this ) )
|
, m_rightLabel( new QskTextLabel( QString::number( 100 ), this ) )
|
||||||
, m_dimmer( new LightDimmer( this ) )
|
, m_dimmer( new LightDimmer( gradientHint( ColdPart ), gradientHint( WarmPart ), this ) )
|
||||||
, m_animator( new DimmerAnimator( this, m_dimmer ) )
|
, m_animator( new DimmerAnimator( this, m_dimmer ) )
|
||||||
{
|
{
|
||||||
m_leftLabel->setSizePolicy( Qt::Horizontal, QskSizePolicy::Maximum );
|
m_leftLabel->setSizePolicy( Qt::Horizontal, QskSizePolicy::Maximum );
|
||||||
|
|
|
@ -14,7 +14,7 @@ class LightDimmer: public QQuickPaintedItem
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
LightDimmer( QQuickItem* parent );
|
LightDimmer( const QskGradient& coldGradient, const QskGradient& warmGradient, QQuickItem* parent );
|
||||||
|
|
||||||
double thickness() const
|
double thickness() const
|
||||||
{
|
{
|
||||||
|
@ -50,6 +50,8 @@ class LightDimmer: public QQuickPaintedItem
|
||||||
double m_thickness = 17.57;
|
double m_thickness = 17.57;
|
||||||
QColor m_backgroundColor;
|
QColor m_backgroundColor;
|
||||||
QRadialGradient m_ringGradient;
|
QRadialGradient m_ringGradient;
|
||||||
|
QskGradient m_coldGradient;
|
||||||
|
QskGradient m_warmGradient;
|
||||||
|
|
||||||
virtual void paint( QPainter* painter ) override;
|
virtual void paint( QPainter* painter ) override;
|
||||||
};
|
};
|
||||||
|
@ -59,7 +61,7 @@ class LightDisplay : public QskControl
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
QSK_SUBCONTROLS( Panel )
|
QSK_SUBCONTROLS( Panel, ColdPart, WarmPart )
|
||||||
|
|
||||||
LightDisplay( QQuickItem* parent );
|
LightDisplay( QQuickItem* parent );
|
||||||
|
|
||||||
|
|
|
@ -126,6 +126,10 @@ void Skin::initHints( const Palette& palette )
|
||||||
|
|
||||||
ed.setPadding( CaptionBox::Panel, {10, 10, 20, 0} );
|
ed.setPadding( CaptionBox::Panel, {10, 10, 20, 0} );
|
||||||
|
|
||||||
|
// light intensity:
|
||||||
|
ed.setGradient( LightDisplay::ColdPart, { Qt::Horizontal, "#a7b0ff", "#6776ff" } );
|
||||||
|
ed.setGradient( LightDisplay::WarmPart, { Qt::Horizontal, "#feeeb7", "#ff3122" } );
|
||||||
|
|
||||||
// palette dependent skin hints:
|
// palette dependent skin hints:
|
||||||
ed.setGradient( MenuBar::Panel, palette.menuBar );
|
ed.setGradient( MenuBar::Panel, palette.menuBar );
|
||||||
ed.setGradient( MainContent::Panel, palette.mainContent );
|
ed.setGradient( MainContent::Panel, palette.mainContent );
|
||||||
|
|
Loading…
Reference in New Issue