Merge pull request #2680 from michaelgregorius/knob-line-stylesheets
Enables style sheets for knob line colors for all knob types
This commit is contained in:
@@ -54,7 +54,6 @@ class TrackContainerView;
|
||||
class TrackContentWidget;
|
||||
class TrackView;
|
||||
|
||||
typedef QWidget trackSettingsWidget;
|
||||
|
||||
const int DEFAULT_SETTINGS_WIDGET_WIDTH = 224;
|
||||
const int TRACK_OP_WIDTH = 78;
|
||||
@@ -640,7 +639,7 @@ public:
|
||||
return &m_trackOperationsWidget;
|
||||
}
|
||||
|
||||
inline trackSettingsWidget * getTrackSettingsWidget()
|
||||
inline QWidget * getTrackSettingsWidget()
|
||||
{
|
||||
return &m_trackSettingsWidget;
|
||||
}
|
||||
@@ -703,7 +702,7 @@ private:
|
||||
TrackContainerView * m_trackContainerView;
|
||||
|
||||
TrackOperationsWidget m_trackOperationsWidget;
|
||||
trackSettingsWidget m_trackSettingsWidget;
|
||||
QWidget m_trackSettingsWidget;
|
||||
TrackContentWidget m_trackContentWidget;
|
||||
|
||||
Actions m_action;
|
||||
|
||||
@@ -101,6 +101,28 @@ void Knob::initUi( const QString & _name )
|
||||
setInnerRadius( 1.0f );
|
||||
setOuterRadius( 10.0f );
|
||||
setFocusPolicy( Qt::ClickFocus );
|
||||
|
||||
// This is a workaround to enable style sheets for knobs which are not styled knobs.
|
||||
//
|
||||
// It works as follows: the palette colors that are assigned as the line color previously
|
||||
// had been hard coded in the drawKnob method for the different knob types. Now the
|
||||
// drawKnob method uses the line color to draw the lines. By assigning the palette colors
|
||||
// as the line colors here the knob lines will be drawn in this color unless the stylesheet
|
||||
// overrides that color.
|
||||
switch (knobNum())
|
||||
{
|
||||
case knobSmall_17:
|
||||
case knobBright_26:
|
||||
case knobDark_28:
|
||||
setlineColor(QApplication::palette().color( QPalette::Active, QPalette::WindowText ));
|
||||
break;
|
||||
case knobVintage_32:
|
||||
setlineColor(QApplication::palette().color( QPalette::Active, QPalette::Shadow ));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
doConnections();
|
||||
}
|
||||
|
||||
@@ -428,20 +450,19 @@ void Knob::drawKnob( QPainter * _p )
|
||||
{
|
||||
case knobSmall_17:
|
||||
{
|
||||
p.setPen( QPen( QApplication::palette().color( QPalette::Active,
|
||||
QPalette::WindowText ), 2 ) );
|
||||
p.setPen( QPen( lineColor(), 2 ) );
|
||||
p.drawLine( calculateLine( mid, radius-2 ) );
|
||||
break;
|
||||
}
|
||||
case knobBright_26:
|
||||
{
|
||||
p.setPen( QPen( QApplication::palette().color( QPalette::Active, QPalette::WindowText ), 2 ) );
|
||||
p.setPen( QPen( lineColor(), 2 ) );
|
||||
p.drawLine( calculateLine( mid, radius-5 ) );
|
||||
break;
|
||||
}
|
||||
case knobDark_28:
|
||||
{
|
||||
p.setPen( QPen( QApplication::palette().color( QPalette::Active, QPalette::WindowText ), 2 ) );
|
||||
p.setPen( QPen( lineColor(), 2 ) );
|
||||
const float rb = qMax<float>( ( radius - 10 ) / 3.0,
|
||||
0.0 );
|
||||
const float re = qMax<float>( ( radius - 4 ), 0.0 );
|
||||
@@ -452,8 +473,7 @@ void Knob::drawKnob( QPainter * _p )
|
||||
}
|
||||
case knobVintage_32:
|
||||
{
|
||||
p.setPen( QPen( QApplication::palette().color( QPalette::Active,
|
||||
QPalette::Shadow), 2 ) );
|
||||
p.setPen( QPen( lineColor(), 2 ) );
|
||||
p.drawLine( calculateLine( mid, radius-2, 2 ) );
|
||||
break;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user