-rw-r--r-- | noncore/styles/liquid/liquid.cpp | 19 | ||||
-rw-r--r-- | noncore/styles/liquid/liquiddeco.cpp | 18 | ||||
-rw-r--r-- | noncore/styles/liquid/settings/liquidset.cpp | 55 | ||||
-rw-r--r-- | noncore/styles/liquid/settings/liquidset.h | 3 |
4 files changed, 69 insertions, 26 deletions
diff --git a/noncore/styles/liquid/liquid.cpp b/noncore/styles/liquid/liquid.cpp index 313d52c..acf0a42 100644 --- a/noncore/styles/liquid/liquid.cpp +++ b/noncore/styles/liquid/liquid.cpp @@ -73,17 +73,17 @@ TransMenuHandler::TransMenuHandler(QObject *parent) reloadSettings(); } void TransMenuHandler::reloadSettings() { pixDict.clear(); Config config ( "qpe" ); - config. setGroup ( "MosfetMenus" ); + config. setGroup ( "Liquid-Style" ); type = config. readNumEntry("Type", TransStippleBg); color = QColor ( config. readEntry("Color", QApplication::palette().active().button().name())); fgColor = QColor ( config. readEntry("TextColor", QApplication::palette().active().text().name())); opacity = config. readNumEntry("Opacity", 10); if ( opacity < -20 ) opacity = 20; else if ( opacity > 20 ) @@ -705,16 +705,23 @@ void LiquidStyle::polish(QPalette &appPal) loadCustomButtons(); lowLightVal = 100 + (2* /*KGlobalSettings::contrast()*/ 3 +4)*10; btnDict.clear(); btnBorderDict.clear(); bevelFillDict.clear(); smallBevelFillDict.clear(); Config config ( "qpe" ); + config. setGroup ( "Liquid-Style" ); + int contrast = config. readNumEntry ( "StippleContrast", 5 ); + if ( contrast < 0 ) + contrast = 0; + else if ( contrast > 10 ) + contrast = 10; + QPalette pal = QApplication::palette(); // button color stuff config. setGroup ( "Appearance" ); QColor c = QColor ( config. readEntry("Button", ( Qt::lightGray ). name ( ))); if ( c == QColor ( config. readEntry ( "background", ( Qt::lightGray ). name ( )))) { // force button color to be different from background QBrush btnBrush(QColor(200, 202, 228)); @@ -776,19 +783,19 @@ void LiquidStyle::polish(QPalette &appPal) vsbSliderFillPix = new QPixmap(bevelFillPix->xForm(rMatrix)); adjustHSV(*vsbSliderFillPix, bH, bS, bV); // background brush QPixmap wallPaper(32, 32); wallPaper.fill(c.rgb()); painter.begin(&wallPaper); for(i=0; i < 32; i+=4){ - painter.setPen(c.dark(105)); + painter.setPen(c.dark(100 + contrast)); painter.drawLine(0, i, 32, i); - painter.setPen(c.dark(103)); + painter.setPen(c.dark(100 + 3 * contrast / 5 ) ); painter.drawLine(0, i+1, 32, i+1); }; painter.end(); bgBrush.setColor(c); bgBrush.setPixmap(wallPaper); appPal.setBrush(QColorGroup::Background, bgBrush); // lineedits @@ -984,17 +991,21 @@ void LiquidStyle::polish(QApplication *app) menuFade = app->isEffectEnabled(UI_FadeMenu); if(menuAni) app->setEffectEnabled(UI_AnimateMenu, false); if(menuFade) app->setEffectEnabled(UI_FadeMenu, false); qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl) &LiquidStyle::drawMenuBarItem); - QApplication::qwsSetDecoration ( new LiquidDecoration ( )); + Config config ( "qpe" ); + config. setGroup ( "Liquid-Style" ); + + if ( config. readBoolEntry ( "WinDecoration", true )) + QApplication::qwsSetDecoration ( new LiquidDecoration ( )); } void LiquidStyle::unPolish(QApplication *app) { QWindowsStyle::unPolish(app); app->setEffectEnabled(UI_AnimateMenu, menuAni); app->setEffectEnabled(UI_FadeMenu, menuFade); diff --git a/noncore/styles/liquid/liquiddeco.cpp b/noncore/styles/liquid/liquiddeco.cpp index 8eee1b1..5488c67 100644 --- a/noncore/styles/liquid/liquiddeco.cpp +++ b/noncore/styles/liquid/liquiddeco.cpp @@ -93,43 +93,37 @@ void LiquidDecoration::paint( QPainter *painter, const QWidget *widget ) qDrawWinPanel( painter, br.x(), br.y(), br.width(), br.height() - 4, cg, FALSE, &cg.brush( QColorGroup::Background ) ); painter->setClipRegion( oldClip ); if ( titleWidth > 0 ) { - QBrush titleBrush; - QPen titlePen; - QPen titleLines; - int titleLeft = titleHeight + 4; - - titleLeft = rect.left() + 5; painter->setPen( cg.midlight() ); painter->drawLine( rect.left() - BORDER_WIDTH + 2, rect.bottom() + 1, rect.right() + BORDER_WIDTH - 2, rect.bottom() + 1 ); QRect t ( rect.left() - 2, rect.top() - titleHeight - 2, rect.width() + 3, titleHeight + 2 ); QApplication::style().drawBevelButton( painter, t.x(), t.y(), t.width(), t.height(), cg, isActive ); - t.setLeft( t.left() + 4 ); - t.setRight( t.right() - 2 ); + t .setLeft ( t. left ( ) + 4 ); + t .setRight ( t. right ( ) - 2 ); - QFont f( QApplication::font() ); - f.setWeight( QFont::Bold ); + QFont f ( QApplication::font ( )); + f. setWeight ( QFont::Bold ); - painter-> setFont( f ); + painter-> setFont ( f ); QColor textcol = cg.color( isActive ? QColorGroup::HighlightedText : QColorGroup::Text ); - QColor shadecol = ( qGray ( textcol. rgb ( ) ) > 128 ) ? textcol. dark ( 130 ) : textcol.light( 200 ); + QColor shadecol = ( qGray ( textcol. rgb ( ) ) > 128 ) ? textcol. dark ( 230 ) : textcol.light( 300 ); if ( textcol == shadecol ) { if ( qGray ( shadecol. rgb ( ) ) < 128 ) shadecol = QColor ( 225, 225, 225 ); else shadecol = QColor ( 30, 30, 30 ); } diff --git a/noncore/styles/liquid/settings/liquidset.cpp b/noncore/styles/liquid/settings/liquidset.cpp index 0ef5dbe..1479ac0 100644 --- a/noncore/styles/liquid/settings/liquidset.cpp +++ b/noncore/styles/liquid/settings/liquidset.cpp @@ -39,37 +39,44 @@ #include <opie/colorpopupmenu.h> static void changeButtonColor ( QWidget *btn, const QColor &col ) { QPalette pal = btn-> palette ( ); + pal. setColor ( QPalette::Normal, QColorGroup::Button, col ); pal. setColor ( QPalette::Active, QColorGroup::Button, col ); pal. setColor ( QPalette::Disabled, QColorGroup::Button, col ); pal. setColor ( QPalette::Inactive, QColorGroup::Button, col ); + pal. setColor ( QPalette::Normal, QColorGroup::Background, col ); + pal. setColor ( QPalette::Active, QColorGroup::Background, col ); + pal. setColor ( QPalette::Disabled, QColorGroup::Background, col ); + pal. setColor ( QPalette::Inactive, QColorGroup::Background, col ); btn-> setPalette ( pal ); } LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl ) : QDialog ( parent, name, fl ) { setCaption ( tr( "Liquid Style" ) ); Config config ( "qpe" ); - config. setGroup ( "MosfetMenus" ); + config. setGroup ( "Liquid-Style" ); - m_type = config. readNumEntry ( "Type", TransStippleBg ); - m_menucol = QColor ( config. readEntry ( "Color", QApplication::palette ( ). active ( ). button ( ). name ( ))); - m_textcol = QColor ( config. readEntry ( "TextColor", QApplication::palette ( ). active ( ). text ( ). name ( ))); - int opacity = config. readNumEntry ( "Opacity", 10 ); - m_shadow = config. readBoolEntry ( "ShadowText", true ); + m_type = config. readNumEntry ( "Type", TransStippleBg ); + m_menucol = QColor ( config. readEntry ( "Color", QApplication::palette ( ). active ( ). button ( ). name ( ))); + m_textcol = QColor ( config. readEntry ( "TextColor", QApplication::palette ( ). active ( ). text ( ). name ( ))); + int opacity = config. readNumEntry ( "Opacity", 10 ); + m_shadow = config. readBoolEntry ( "ShadowText", true ); + m_deco = config. readBoolEntry ( "WinDecoration", true ); + int contrast = config. readNumEntry ( "StippleContrast", 5 ); QVBoxLayout *vbox = new QVBoxLayout ( this ); vbox-> setSpacing ( 3 ); vbox-> setMargin ( 6 ); QButtonGroup *btngrp = new QButtonGroup ( this ); btngrp-> hide ( ); @@ -133,24 +140,45 @@ LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl ) m_opacsld = new QSlider ( Horizontal, this ); m_opacsld-> setRange ( -20, 20 ); m_opacsld-> setValue ( opacity ); m_opacsld-> setTickmarks ( QSlider::Below ); grid-> addMultiCellWidget ( m_opacsld, 1, 1, 2, 5 ); vbox-> addSpacing ( 4 ); - QCheckBox *shadow = new QCheckBox ( tr( "Use shadowed text" ), this ); + QCheckBox *shadow = new QCheckBox ( tr( "Use shadowed menu text" ), this ); shadow-> setChecked ( m_shadow ); vbox-> addWidget ( shadow ); + vbox-> addSpacing ( 4 ); + + QCheckBox *windeco = new QCheckBox ( tr( "Draw liquid window title bars" ), this ); + windeco-> setChecked ( m_deco ); + vbox-> addWidget ( windeco ); + + vbox-> addSpacing ( 4 ); + + QHBoxLayout *hbox = new QHBoxLayout ( vbox ); + + hbox-> addWidget ( new QLabel ( tr( "Stipple contrast" ), this )); + + m_contsld = new QSlider ( Horizontal, this ); + m_contsld-> setRange ( 0, 10 ); + m_contsld-> setValue ( contrast ); + m_contsld-> setTickmarks ( QSlider::Below ); + hbox-> addWidget ( m_contsld, 10 ); + vbox-> addStretch ( 10 ); + + changeType ( m_type ); connect ( btngrp, SIGNAL( clicked ( int ) ), this, SLOT( changeType ( int ) ) ); connect ( shadow, SIGNAL( toggled ( bool ) ), this, SLOT( changeShadow ( bool ) ) ); + connect ( windeco, SIGNAL( toggled ( bool ) ), this, SLOT( changeDeco ( bool ) ) ); } void LiquidSet::changeType ( int t ) { bool custom = ( t == Custom ); m_menulbl-> setEnabled ( custom ); m_textlbl-> setEnabled ( custom ); @@ -159,41 +187,48 @@ void LiquidSet::changeType ( int t ) m_textbtn-> setEnabled ( custom ); m_opacsld-> setEnabled ( custom ); m_type = t; } void LiquidSet::changeMenuColor ( const QColor &col ) { - m_menubtn-> setPalette ( col ); + changeButtonColor ( m_menubtn, col ); m_menucol = col; } void LiquidSet::changeTextColor ( const QColor &col ) { - m_textbtn-> setPalette ( col ); + changeButtonColor ( m_textbtn, col ); m_textcol = col; } void LiquidSet::changeShadow ( bool b ) { m_shadow = b; } +void LiquidSet::changeDeco ( bool b ) +{ + m_deco = b; +} + void LiquidSet::accept ( ) { Config config ( "qpe" ); - config. setGroup ( "MosfetMenus" ); + config. setGroup ( "Liquid-Style" ); config. writeEntry ( "Type", m_type ); config. writeEntry ( "Color", m_menucol. name ( )); config. writeEntry ( "TextColor", m_textcol. name ( )); config. writeEntry ( "Opacity", m_opacsld-> value ( )); config. writeEntry ( "ShadowText", m_shadow ); + config. writeEntry ( "WinDecoration", m_deco ); + config. writeEntry ( "StippleContrast", m_contsld-> value ( )); config. write ( ); Global::applyStyle ( ); QDialog::accept ( ); } diff --git a/noncore/styles/liquid/settings/liquidset.h b/noncore/styles/liquid/settings/liquidset.h index 944b1ec..a0f590a 100644 --- a/noncore/styles/liquid/settings/liquidset.h +++ b/noncore/styles/liquid/settings/liquidset.h @@ -14,26 +14,29 @@ class LiquidSet : public QDialog { public: LiquidSet ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 ); public slots: void changeType ( int t ); void changeMenuColor ( const QColor &col ); void changeTextColor ( const QColor &col ); void changeShadow ( bool b ); + void changeDeco ( bool b ); protected: virtual void accept ( ); private: QColor m_menucol; QColor m_textcol; int m_type; bool m_shadow; + bool m_deco; QSlider * m_opacsld; + QSlider * m_contsld; QLabel * m_menulbl; QLabel * m_textlbl; QLabel * m_opaclbl; QToolButton *m_menubtn; QToolButton *m_textbtn; }; #endif |