diff --git a/liboxygen/oxygenactiveshadowconfigdata.kcfg b/liboxygen/oxygenactiveshadowconfigdata.kcfg
--- a/liboxygen/oxygenactiveshadowconfigdata.kcfg
+++ b/liboxygen/oxygenactiveshadowconfigdata.kcfg
@@ -29,6 +29,10 @@
true
+
+ 100
+
+
diff --git a/liboxygen/oxygeninactiveshadowconfigdata.kcfg b/liboxygen/oxygeninactiveshadowconfigdata.kcfg
--- a/liboxygen/oxygeninactiveshadowconfigdata.kcfg
+++ b/liboxygen/oxygeninactiveshadowconfigdata.kcfg
@@ -29,6 +29,10 @@
false
+
+ 100
+
+
diff --git a/liboxygen/oxygenshadowcache.cpp b/liboxygen/oxygenshadowcache.cpp
--- a/liboxygen/oxygenshadowcache.cpp
+++ b/liboxygen/oxygenshadowcache.cpp
@@ -292,13 +292,14 @@
// inner (sharp) gradient
const qreal gradientSize = qMin( shadowSize, (shadowSize+fixedSize)/2 );
const qreal voffset = qMin( 12.0*(gradientSize*ActiveShadowConfiguration::verticalOffset())/fixedSize, 4.0 );
+ const qreal intensity ( ActiveShadowConfiguration::shadowIntensity() / 100.0 );
QRadialGradient radialGradient = QRadialGradient( size, size + voffset, gradientSize );
radialGradient.setColorAt(1, Qt::transparent );
// gaussian shadow is used
int nPoints( (10*gradientSize)/fixedSize );
- Gaussian f( 0.85, 0.17 );
+ Gaussian f( intensity * 0.85, intensity * 0.17 );
QColor c = ActiveShadowConfiguration::innerColor();
for( int i = 0; i < nPoints; i++ )
{
@@ -318,13 +319,14 @@
// outer (spread) gradient
const qreal gradientSize = shadowSize;
const qreal voffset = qMin( 12.0*(gradientSize*ActiveShadowConfiguration::verticalOffset())/fixedSize, 4.0 );
+ const qreal intensity ( ActiveShadowConfiguration::shadowIntensity() / 100.0 );
QRadialGradient radialGradient = QRadialGradient( size, size+voffset, gradientSize );
radialGradient.setColorAt(1, Qt::transparent );
// gaussian shadow is used
int nPoints( (10*gradientSize)/fixedSize );
- Gaussian f( 0.46, 0.34 );
+ Gaussian f( intensity * 0.46, intensity * 0.34 );
QColor c = ActiveShadowConfiguration::useOuterColor() ? ActiveShadowConfiguration::outerColor():ActiveShadowConfiguration::innerColor();
for( int i = 0; i < nPoints; i++ )
{
@@ -345,13 +347,14 @@
// inner (sharp gradient)
const qreal gradientSize = qMin( shadowSize, fixedSize );
const qreal voffset( 0.2 );
+ const qreal intensity ( ActiveShadowConfiguration::shadowIntensity() / 100.0 );
QRadialGradient radialGradient = QRadialGradient( size, size+voffset, gradientSize );
radialGradient.setColorAt(1, Qt::transparent );
// parabolic shadow is used
int nPoints( (10*gradientSize)/fixedSize );
- Parabolic f( 1.0, 0.22 );
+ Parabolic f( intensity * 1.0, intensity * 0.22 );
QColor c = InactiveShadowConfiguration::useOuterColor() ? InactiveShadowConfiguration::outerColor():InactiveShadowConfiguration::innerColor();
for( int i = 0; i < nPoints; i++ )
{
@@ -372,13 +375,14 @@
// mid gradient
const qreal gradientSize = qMin( shadowSize, (shadowSize+2*fixedSize)/3 );
const qreal voffset = qMin( 8.0*(gradientSize*InactiveShadowConfiguration::verticalOffset())/fixedSize, 4.0 );
+ const qreal intensity ( InactiveShadowConfiguration::shadowIntensity() / 100.0 );
// gaussian shadow is used
QRadialGradient radialGradient = QRadialGradient( size, size+voffset, gradientSize );
radialGradient.setColorAt(1, Qt::transparent );
int nPoints( (10*gradientSize)/fixedSize );
- Gaussian f( 0.54, 0.21);
+ Gaussian f( intensity * 0.54, intensity * 0.21);
QColor c = InactiveShadowConfiguration::useOuterColor() ? InactiveShadowConfiguration::outerColor():InactiveShadowConfiguration::innerColor();
for( int i = 0; i < nPoints; i++ )
{
@@ -398,13 +402,14 @@
// outer (spread) gradient
const qreal gradientSize = shadowSize;
const qreal voffset = qMin( 20.0*(gradientSize*InactiveShadowConfiguration::verticalOffset())/fixedSize, 4.0 );
+ const qreal intensity ( InactiveShadowConfiguration::shadowIntensity() / 100.0 );
// gaussian shadow is used
QRadialGradient radialGradient = QRadialGradient( size, size+voffset, gradientSize );
radialGradient.setColorAt(1, Qt::transparent );
int nPoints( (20*gradientSize)/fixedSize );
- Gaussian f( 0.155, 0.445);
+ Gaussian f( intensity * 0.155, intensity * 0.445);
QColor c = InactiveShadowConfiguration::useOuterColor() ? InactiveShadowConfiguration::outerColor():InactiveShadowConfiguration::innerColor();
for( int i = 0; i < nPoints; i++ )
{
diff --git a/liboxygen/oxygenshadowconfigwidget.cpp b/liboxygen/oxygenshadowconfigwidget.cpp
--- a/liboxygen/oxygenshadowconfigwidget.cpp
+++ b/liboxygen/oxygenshadowconfigwidget.cpp
@@ -54,6 +54,7 @@
connect( ui->innerColor, SIGNAL(changed(QColor)), SLOT(updateChanged()) );
connect( ui->outerColor, SIGNAL(changed(QColor)), SLOT(updateChanged()) );
connect( ui->useOuterColor, SIGNAL(toggled(bool)), SLOT(updateChanged()) );
+ connect( ui->shadowIntensity, SIGNAL(valueChanged(int)), SLOT(updateChanged()) );
connect( this, SIGNAL(toggled(bool)), SLOT(updateChanged()) );
}
@@ -74,6 +75,7 @@
ActiveShadowConfiguration::setInnerColor( ui->innerColor->color() );
ActiveShadowConfiguration::setOuterColor( ui->outerColor->color() );
ActiveShadowConfiguration::setUseOuterColor( ui->useOuterColor->isChecked() );
+ ActiveShadowConfiguration::setShadowIntensity( ui->shadowIntensity->value() );
ActiveShadowConfiguration::setEnabled( isChecked() );
#if OXYGEN_USE_KDE4
@@ -89,6 +91,7 @@
InactiveShadowConfiguration::setInnerColor( ui->innerColor->color() );
InactiveShadowConfiguration::setOuterColor( ui->outerColor->color() );
InactiveShadowConfiguration::setUseOuterColor( ui->useOuterColor->isChecked() );
+ InactiveShadowConfiguration::setShadowIntensity( ui->shadowIntensity->value() );
InactiveShadowConfiguration::setEnabled( isChecked() );
#if OXYGEN_USE_KDE4
@@ -113,6 +116,7 @@
( ui->innerColor->color() != ActiveShadowConfiguration::innerColor() ) ||
( ui->useOuterColor->isChecked() != ActiveShadowConfiguration::useOuterColor() ) ||
( ui->outerColor->color() != ActiveShadowConfiguration::outerColor() ) ||
+ ( ui->shadowIntensity->value() != ActiveShadowConfiguration::shadowIntensity() ) ||
( isChecked() != ActiveShadowConfiguration::enabled() ) );
} else if( _group == QPalette::Inactive ) {
@@ -123,6 +127,7 @@
( ui->innerColor->color() != InactiveShadowConfiguration::innerColor() ) ||
( ui->useOuterColor->isChecked() != InactiveShadowConfiguration::useOuterColor() ) ||
( ui->outerColor->color() != InactiveShadowConfiguration::outerColor() ) ||
+ ( ui->shadowIntensity->value() != InactiveShadowConfiguration::shadowIntensity() ) ||
( isChecked() != InactiveShadowConfiguration::enabled() ) );
}
@@ -151,6 +156,7 @@
ui->innerColor->setColor( ActiveShadowConfiguration::innerColor() );
ui->outerColor->setColor( ActiveShadowConfiguration::outerColor() );
ui->useOuterColor->setChecked( ActiveShadowConfiguration::useOuterColor() );
+ ui->shadowIntensity->setValue( ActiveShadowConfiguration::shadowIntensity() );
setChecked( ActiveShadowConfiguration::enabled() );
@@ -172,6 +178,7 @@
ui->innerColor->setColor( InactiveShadowConfiguration::innerColor() );
ui->outerColor->setColor( InactiveShadowConfiguration::outerColor() );
ui->useOuterColor->setChecked( InactiveShadowConfiguration::useOuterColor() );
+ ui->shadowIntensity->setValue( InactiveShadowConfiguration::shadowIntensity() );
setChecked( InactiveShadowConfiguration::enabled() );
diff --git a/liboxygen/ui/oxygenshadowconfigurationui.ui b/liboxygen/ui/oxygenshadowconfigurationui.ui
--- a/liboxygen/ui/oxygenshadowconfigurationui.ui
+++ b/liboxygen/ui/oxygenshadowconfigurationui.ui
@@ -7,7 +7,7 @@
0
0
180
- 112
+ 170
@@ -103,6 +103,26 @@
+ -
+
+
+ Intensity:
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
+ -
+
+
+ %
+
+
+ 100
+
+
+