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 )
|
||||
{
|
||||
// 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 );
|
||||
QGradientStop stop1( 0.0, gradient.colorAt( 0 ) );
|
||||
QGradientStop stop2( 1.0, gradient.colorAt( 1 ) );
|
||||
|
|
|
@ -12,6 +12,8 @@
|
|||
#include <QRadialGradient>
|
||||
|
||||
QSK_SUBCONTROL( LightDisplay, Panel )
|
||||
QSK_SUBCONTROL( LightDisplay, ColdPart )
|
||||
QSK_SUBCONTROL( LightDisplay, WarmPart )
|
||||
|
||||
namespace
|
||||
{
|
||||
|
@ -72,8 +74,10 @@ class DimmerAnimator : public QskAnimator
|
|||
LightDimmer* m_dimmer;
|
||||
};
|
||||
|
||||
LightDimmer::LightDimmer( QQuickItem* parent )
|
||||
LightDimmer::LightDimmer( const QskGradient& coldGradient, const QskGradient& warmGradient, QQuickItem* parent )
|
||||
: QQuickPaintedItem( parent )
|
||||
, m_coldGradient( coldGradient )
|
||||
, m_warmGradient( warmGradient )
|
||||
{
|
||||
connect( this, &QQuickPaintedItem::contentsSizeChanged, [this]()
|
||||
{
|
||||
|
@ -107,17 +111,17 @@ void LightDimmer::paint( QPainter* painter )
|
|||
int middleAngle = 16 * -90;
|
||||
int endAngle = 16 * -90;
|
||||
|
||||
QLinearGradient blueGradient( {thickness(), 0.0}, {thickness(), thickness()} );
|
||||
blueGradient.setColorAt( 0, "#a7b0ff" );
|
||||
blueGradient.setColorAt( 1, "#6776ff" );
|
||||
painter->setBrush( blueGradient );
|
||||
QLinearGradient coldGradient( {thickness(), 0.0}, {thickness(), thickness()} );
|
||||
coldGradient.setColorAt( 0, m_coldGradient.colorAt( 0 ) );
|
||||
coldGradient.setColorAt( 1, m_coldGradient.colorAt( 1 ) );
|
||||
painter->setBrush( coldGradient );
|
||||
painter->setPen( Qt::transparent );
|
||||
painter->drawPie( outerRect, startAngle, middleAngle );
|
||||
|
||||
QLinearGradient redGradient( {thickness(), 0.0}, {thickness(), thickness()} );
|
||||
redGradient.setColorAt( 0, "#feeeb7" );
|
||||
redGradient.setColorAt( 1, "#ff3122" );
|
||||
painter->setBrush( redGradient );
|
||||
QLinearGradient warmGradient( {thickness(), 0.0}, {thickness(), thickness()} );
|
||||
warmGradient.setColorAt( 0, m_warmGradient.colorAt( 0 ) );
|
||||
warmGradient.setColorAt( 1, m_warmGradient.colorAt( 1 ) );
|
||||
painter->setBrush( warmGradient );
|
||||
painter->drawPie( outerRect, 16 * 90, endAngle );
|
||||
|
||||
painter->setBrush( m_backgroundColor );
|
||||
|
@ -136,7 +140,7 @@ LightDisplay::LightDisplay( QQuickItem* parent )
|
|||
, m_leftLabel( new QskTextLabel( QString::number( 0 ), this ) )
|
||||
, m_centreLabel( new QskTextLabel( QString::number( 50 ) + "%", 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_leftLabel->setSizePolicy( Qt::Horizontal, QskSizePolicy::Maximum );
|
||||
|
|
|
@ -14,7 +14,7 @@ class LightDimmer: public QQuickPaintedItem
|
|||
Q_OBJECT
|
||||
|
||||
public:
|
||||
LightDimmer( QQuickItem* parent );
|
||||
LightDimmer( const QskGradient& coldGradient, const QskGradient& warmGradient, QQuickItem* parent );
|
||||
|
||||
double thickness() const
|
||||
{
|
||||
|
@ -50,6 +50,8 @@ class LightDimmer: public QQuickPaintedItem
|
|||
double m_thickness = 17.57;
|
||||
QColor m_backgroundColor;
|
||||
QRadialGradient m_ringGradient;
|
||||
QskGradient m_coldGradient;
|
||||
QskGradient m_warmGradient;
|
||||
|
||||
virtual void paint( QPainter* painter ) override;
|
||||
};
|
||||
|
@ -59,7 +61,7 @@ class LightDisplay : public QskControl
|
|||
Q_OBJECT
|
||||
|
||||
public:
|
||||
QSK_SUBCONTROLS( Panel )
|
||||
QSK_SUBCONTROLS( Panel, ColdPart, WarmPart )
|
||||
|
||||
LightDisplay( QQuickItem* parent );
|
||||
|
||||
|
|
|
@ -126,6 +126,10 @@ void Skin::initHints( const Palette& palette )
|
|||
|
||||
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:
|
||||
ed.setGradient( MenuBar::Panel, palette.menuBar );
|
||||
ed.setGradient( MainContent::Panel, palette.mainContent );
|
||||
|
|
Loading…
Reference in New Issue