SVN commit 1043181 by hpereiradacosta: added option to remove scrollbar 'bevel' (i.e. pattern gradient) M +5 -0 config/oxygenconf.cpp M +19 -12 config/oxygenconf.ui M +44 -39 oxygen.cpp M +3 -0 oxygen.kcfg --- branches/work/oxygen-style-animated/config/oxygenconf.cpp #1043180:1043181 @@ -66,6 +66,7 @@ qMin(SCROLLBAR_MAXIMUM_WIDTH, qMax(SCROLLBAR_MINIMUM_WIDTH, OxygenStyleConfigData::scrollBarWidth())) ); _scrollBarColored->setChecked( OxygenStyleConfigData::scrollBarColored() ); + _scrollBarBevel->setChecked( OxygenStyleConfigData::scrollBarBevel() ); _menuHighlightDark->setChecked( OxygenStyleConfigData::menuHighlightMode() == OxygenStyleConfigData::MM_DARK ); @@ -103,6 +104,7 @@ connect( _viewDrawFocusIndicator, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) ); connect( _viewDrawTreeBranchLines, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) ); connect( _scrollBarColored, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) ); + connect( _scrollBarBevel, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) ); connect( _scrollBarWidth, SIGNAL( valueChanged(int) ), SLOT( updateChanged() ) ); connect( _menuHighlightDark, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) ); connect( _menuHighlightStrong, SIGNAL( toggled(bool) ), SLOT( updateChanged() ) ); @@ -129,6 +131,7 @@ OxygenStyleConfigData::setViewDrawFocusIndicator( _viewDrawFocusIndicator->isChecked() ); OxygenStyleConfigData::setViewDrawTreeBranchLines( _viewDrawTreeBranchLines->isChecked() ); OxygenStyleConfigData::setScrollBarColored( _scrollBarColored->isChecked() ); + OxygenStyleConfigData::setScrollBarBevel( _scrollBarBevel->isChecked() ); OxygenStyleConfigData::setScrollBarWidth( _scrollBarWidth->value() ); OxygenStyleConfigData::setMenuHighlightMode( menuMode() ); OxygenStyleConfigData::setTabStyle( tabStyle() ); @@ -151,6 +154,7 @@ _viewDrawFocusIndicator->setChecked(true); _viewDrawTreeBranchLines->setChecked(true); _scrollBarColored->setChecked(false); + _scrollBarBevel->setChecked(true); _scrollBarWidth->setValue(SCROLLBAR_DEFAULT_WIDTH); _menuHighlightSubtle->setChecked(false); _menuHighlightDark->setChecked(true); @@ -175,6 +179,7 @@ && (_viewDrawFocusIndicator->isChecked() == OxygenStyleConfigData::viewDrawFocusIndicator()) && (_viewDrawTreeBranchLines->isChecked() == OxygenStyleConfigData::viewDrawTreeBranchLines()) && (_scrollBarColored->isChecked() == OxygenStyleConfigData::scrollBarColored()) + && (_scrollBarBevel->isChecked() == OxygenStyleConfigData::scrollBarBevel()) && (_scrollBarWidth->value() == OxygenStyleConfigData::scrollBarWidth()) && ((_checkDrawX->isChecked() ? OxygenStyleConfigData::CS_X : OxygenStyleConfigData::CS_CHECK) == OxygenStyleConfigData::checkBoxStyle()) && (menuMode() == OxygenStyleConfigData::menuHighlightMode()) --- branches/work/oxygen-style-animated/config/oxygenconf.ui #1043180:1043181 @@ -191,21 +191,14 @@ Scrollbars - - - - Colorful hovered scrollbars - - - - + Width: - + 10 @@ -227,7 +220,7 @@ - + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter @@ -240,7 +233,7 @@ - + Qt::Vertical @@ -253,7 +246,21 @@ - + + + + Draw scrollbar bevel + + + + + + + Colorful hovered scrollbars + + + + Qt::Horizontal --- branches/work/oxygen-style-animated/oxygen.cpp #1043180:1043181 @@ -3371,37 +3371,7 @@ return; } - // gradients - QLinearGradient sliderGradient( rect.topLeft(), horizontal ? rect.bottomLeft() : rect.topRight()); - - if (!OxygenStyleConfigData::scrollBarColored()) { - sliderGradient.setColorAt(0.0, color); - sliderGradient.setColorAt(1.0, mid); - } else { - sliderGradient.setColorAt(0.0, _helper.alphaColor( light, 0.6 )); - sliderGradient.setColorAt(0.3, _helper.alphaColor( dark, 0.3 )); - sliderGradient.setColorAt(1.0, _helper.alphaColor( light, 0.8 )); - } - - QLinearGradient bevelGradient( rect.topLeft(), horizontal ? rect.topRight() : rect.bottomLeft()); - bevelGradient.setColorAt(0.0, Qt::transparent); - bevelGradient.setColorAt(0.5, light); - bevelGradient.setColorAt(1.0, Qt::transparent); - - QPoint offset = horizontal ? QPoint(-rect.left(), 0) : QPoint(0, -rect.top()); // don't let the pattern move - QPoint periodEnd = offset + (horizontal ? QPoint(30, 0) : QPoint(0, 30)); - QLinearGradient patternGradient(rect.topLeft()+offset, rect.topLeft()+periodEnd); - if (!OxygenStyleConfigData::scrollBarColored()) { - patternGradient.setColorAt(0.0, _helper.alphaColor(shadow, 0.1)); - patternGradient.setColorAt(1.0, _helper.alphaColor(light, 0.1)); - } else { - patternGradient.setColorAt(0.0, _helper.alphaColor(shadow, 0.15)); - patternGradient.setColorAt(1.0, _helper.alphaColor(light, 0.15)); - } - patternGradient.setSpread(QGradient::ReflectSpread); - // draw the slider - QColor glowColor; if (!OxygenStyleConfigData::scrollBarColored()) { @@ -3438,14 +3408,40 @@ } - // slider - p->setBrush(sliderGradient); - p->drawRoundedRect(rect, 2, 2); + // slider gradient + { + QLinearGradient sliderGradient( rect.topLeft(), horizontal ? rect.bottomLeft() : rect.topRight()); + if (!OxygenStyleConfigData::scrollBarColored()) { + sliderGradient.setColorAt(0.0, color); + sliderGradient.setColorAt(1.0, mid); + } else { + sliderGradient.setColorAt(0.0, _helper.alphaColor( light, 0.6 )); + sliderGradient.setColorAt(0.3, _helper.alphaColor( dark, 0.3 )); + sliderGradient.setColorAt(1.0, _helper.alphaColor( light, 0.8 )); + } + p->setBrush(sliderGradient); + p->drawRoundedRect(rect, 2, 2); + } + // pattern - p->setBrush(patternGradient); - p->drawRoundedRect(rect, 2, 2); + if( OxygenStyleConfigData::scrollBarBevel() ) + { + QPoint offset = horizontal ? QPoint(-rect.left(), 0) : QPoint(0, -rect.top()); // don't let the pattern move + QPoint periodEnd = offset + (horizontal ? QPoint(30, 0) : QPoint(0, 30)); + QLinearGradient patternGradient(rect.topLeft()+offset, rect.topLeft()+periodEnd); + if (!OxygenStyleConfigData::scrollBarColored()) { + patternGradient.setColorAt(0.0, _helper.alphaColor(shadow, 0.1)); + patternGradient.setColorAt(1.0, _helper.alphaColor(light, 0.1)); + } else { + patternGradient.setColorAt(0.0, _helper.alphaColor(shadow, 0.15)); + patternGradient.setColorAt(1.0, _helper.alphaColor(light, 0.15)); + } + patternGradient.setSpread(QGradient::ReflectSpread); + p->setBrush(patternGradient); + p->drawRoundedRect(rect, 2, 2); + } if (OxygenStyleConfigData::scrollBarColored()) { p->restore(); @@ -3453,11 +3449,20 @@ } // bevel - rect.adjust(0.5, 0.5, -0.5, -0.5); // for sharper lines - p->setPen(QPen(bevelGradient, 1.0)); - p->drawLine(rect.topLeft(), horizontal ? rect.topRight() : rect.bottomLeft()); - p->drawLine(rect.bottomRight(), horizontal ? rect.bottomLeft() : rect.topRight()); + { + QLinearGradient bevelGradient( rect.topLeft(), horizontal ? rect.topRight() : rect.bottomLeft()); + bevelGradient.setColorAt(0.0, Qt::transparent); + bevelGradient.setColorAt(0.5, light); + bevelGradient.setColorAt(1.0, Qt::transparent); + + rect.adjust(0.5, 0.5, -0.5, -0.5); // for sharper lines + p->setPen(QPen(bevelGradient, 1.0)); + p->drawLine(rect.topLeft(), horizontal ? rect.topRight() : rect.bottomLeft()); + p->drawLine(rect.bottomRight(), horizontal ? rect.bottomLeft() : rect.topRight()); + } + p->restore(); + } //________________________________________________________________________ --- branches/work/oxygen-style-animated/oxygen.kcfg #1043180:1043181 @@ -28,6 +28,9 @@ false + + true + true