Diffstat (limited to 'noncore/styles/liquid/liquid.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/styles/liquid/liquid.cpp | 567 |
1 files changed, 178 insertions, 389 deletions
diff --git a/noncore/styles/liquid/liquid.cpp b/noncore/styles/liquid/liquid.cpp index 6812d16..ba732aa 100644 --- a/noncore/styles/liquid/liquid.cpp +++ b/noncore/styles/liquid/liquid.cpp @@ -4,2 +4,5 @@ +// +// (c) 2002 Robert 'sandman' Griebl +// @@ -33,2 +36,3 @@ #include <qprogressbar.h> +#include <qlineedit.h> @@ -164,2 +168,9 @@ bool TransMenuHandler::eventFilter(QObject *obj, QEvent *ev) +static int qt_version ( ) +{ + const char *qver = qVersion ( ); + return ( qver [0] - '0' ) * 100 + ( qver [2] - '0' ) * 10 + ( qver [4] - '0' ); +} + + LiquidStyle::LiquidStyle() @@ -169,2 +180,3 @@ LiquidStyle::LiquidStyle() + oldqte = ( qt_version ( ) < 234 ); flatTBButtons = false; @@ -181,8 +193,4 @@ LiquidStyle::LiquidStyle() smallBevelFillDict.setAutoDelete(true); - customBtnColorList.setAutoDelete(true); - customBtnIconList.setAutoDelete(true); - customBtnLabelList.setAutoDelete(true); rMatrix.rotate(270.0); - highcolor = QPixmap::defaultDepth() > 8; btnBorderPix = new QPixmap; @@ -546,2 +554,3 @@ QPixmap* LiquidStyle::getPixmap(BitmapData item) break; + case HTMLCB: @@ -549,2 +558,5 @@ QPixmap* LiquidStyle::getPixmap(BitmapData item) break; + case HTMLCBHover: + pixmaps[HTMLCBHover] = processEmbedded("htmlcheckbox", btnHoverH, btnHoverS, btnHoverV); + break; case HTMLCBDown: @@ -552,117 +564,101 @@ QPixmap* LiquidStyle::getPixmap(BitmapData item) break; - case HTMLCBHover: - pixmaps[HTMLCBHover] = processEmbedded("htmlcheckbox", btnH, btnS, btnV); - break; case HTMLCBDownHover: - pixmaps[HTMLCBDownHover] = processEmbedded("htmlcheckboxdown", - btnHoverH, btnHoverS, - btnHoverV); + pixmaps[HTMLCBDownHover] = processEmbedded("htmlcheckboxdown", btnHoverH, btnHoverS, btnHoverV); break; + case HTMLRadio: pixmaps[HTMLRadio] = processEmbedded("htmlradio", bH, bS, bV); + break; + case HTMLRadioHover: + pixmaps[HTMLRadioHover] = processEmbedded("htmlradio", btnHoverH, btnHoverS, btnHoverV); + break; case HTMLRadioDown: pixmaps[HTMLRadioDown] = processEmbedded("htmlradiodown", btnH, btnS, btnV); - case HTMLRadioHover: - pixmaps[HTMLRadioHover] = processEmbedded("htmlradio", btnH, btnS, btnV); + break; case HTMLRadioDownHover: - pixmaps[HTMLRadioDownHover] = processEmbedded("htmlradiodown", - btnHoverH, btnHoverS, - btnHoverV); - case RadioOn: - pixmaps[RadioOn] = processEmbedded("radio_down", btnH, btnS, btnV, true); + pixmaps[HTMLRadioDownHover] = processEmbedded("htmlradiodown", btnHoverH, btnHoverS, btnHoverV); + break; + + case RadioOff: + pixmaps[RadioOff] = processEmbedded("radio", bH, bS, bV /*, true*/); + break; + case RadioOffHover: + pixmaps[RadioOffHover] = processEmbedded("radio", btnHoverH, btnHoverS, btnHoverV /*, true*/); + break; + case RadioOn: + pixmaps[RadioOn] = processEmbedded("radio_down", btnH, btnS, btnV /*, true*/); break; case RadioOnHover: - pixmaps[RadioOnHover] = processEmbedded("radio_down", btnHoverH, btnHoverS, - btnHoverV, true); + pixmaps[RadioOnHover] = processEmbedded("radio_down", btnHoverH, btnHoverS, btnHoverV /*, true*/); break; - case RadioOffHover: - pixmaps[RadioOffHover] = processEmbedded("radio", btnH, btnS, btnV, true); + + case Tab: + pixmaps[Tab] = processEmbedded("tab", bH, bS, bV /*, true*/); break; case TabDown: - pixmaps[TabDown] = processEmbedded("tab", btnH, btnS, btnV, true); - break; + pixmaps[TabDown] = processEmbedded("tab", btnH, btnS, btnV /*, true*/); + break; case TabFocus: - pixmaps[TabFocus] = processEmbedded("tab", btnHoverH, btnHoverS, - btnHoverS, true); + pixmaps[TabFocus] = processEmbedded("tab", btnHoverH, btnHoverS, btnHoverV /*, true*/); + break; + + case CB: + pixmaps[CB] = processEmbedded("checkbox", bH, bS, bV /*, true*/); + break; + case CBHover: + pixmaps[CBHover] = processEmbedded("checkbox", btnHoverH, btnHoverS, btnHoverV /*, true*/); break; case CBDown: - pixmaps[CBDown] = processEmbedded("checkboxdown", btnH, btnS, btnV, true); + pixmaps[CBDown] = processEmbedded("checkboxdown", btnH, btnS, btnV /*, true*/); break; case CBDownHover: - pixmaps[CBDownHover] = processEmbedded("checkboxdown", btnHoverH, - btnHoverS, btnHoverV, true); - break; - case CBHover: - pixmaps[CBHover] = processEmbedded("checkbox", btnH, btnS, btnV, true); + pixmaps[CBDownHover] = processEmbedded("checkboxdown", btnHoverH, btnHoverS, btnHoverV /*, true*/); break; - case HSlider: - pixmaps[HSlider] = processEmbedded("sliderarrow", btnH, btnS, btnV, true); - break; - case VSlider: - pixmaps[VSlider] = processEmbedded("sliderarrow", btnH, btnS, btnV, true); + + case VSlider: + pixmaps[VSlider] = processEmbedded("sliderarrow", btnH, btnS, btnV, true ); *pixmaps[VSlider] = pixmaps[VSlider]->xForm(rMatrix); break; - case RadioOff: - pixmaps[RadioOff] = processEmbedded("radio", bH, bS, bV, true); - break; - case Tab: - pixmaps[Tab] = processEmbedded("tab", bH, bS, bV, true); - break; - case CB: - pixmaps[CB] = processEmbedded("checkbox", bH, bS, bV, true); - break; case VSBSliderTop: - pixmaps[VSBSliderTop] = processEmbedded("sbslider_top", btnH, btnS, btnV, true); + case VSBSliderTopHover: + pixmaps[item] = processEmbedded("sbslider_top", btnH, btnS, btnV /*, true*/); break; case VSBSliderBtm: - pixmaps[VSBSliderBtm] = processEmbedded("sbslider_btm", btnH, btnS, btnV, true); + case VSBSliderBtmHover: + pixmaps[item] = processEmbedded("sbslider_btm", btnH, btnS, btnV /*, true*/); break; case VSBSliderMid: - pixmaps[VSBSliderMid] = processEmbedded("sbslider_mid", btnH, btnS, btnV); + case VSBSliderMidHover: + pixmaps[item] = processEmbedded("sbslider_mid", btnH, btnS, btnV); break; - case VSBSliderTopHover: - pixmaps[VSBSliderTopHover] = processEmbedded("sbslider_top", btnHoverH, btnHoverS, btnHoverV, true); + case VSBSliderTopBg: + pixmaps[VSBSliderTopBg] = processEmbedded("sbslider_top", bH, bS, bV /*, true*/); break; - case VSBSliderBtmHover: - pixmaps[VSBSliderBtmHover] = processEmbedded("sbslider_btm", btnHoverH, btnHoverS, btnHoverV, true); + case VSBSliderBtmBg: + pixmaps[VSBSliderBtmBg] = processEmbedded("sbslider_btm", bH, bS, bV /*, true*/); break; - case VSBSliderMidHover: - pixmaps[VSBSliderMidHover] = processEmbedded("sbslider_mid", btnHoverH, btnHoverS, btnHoverV); + case VSBSliderMidBg: + pixmaps[VSBSliderMidBg] = processEmbedded("sbslider_mid", bH, bS, bV); break; - case HSBSliderTop: - pixmaps[HSBSliderTop] = processEmbedded("sbslider_top", btnH, btnS, btnV, true); - *pixmaps[HSBSliderTop] = pixmaps[HSBSliderTop]->xForm(rMatrix); - break; - case HSBSliderBtm: - pixmaps[HSBSliderBtm] = processEmbedded("sbslider_btm", btnH, btnS, btnV, true); - *pixmaps[HSBSliderBtm] = pixmaps[HSBSliderBtm]->xForm(rMatrix); - break; - case HSBSliderMid: - pixmaps[HSBSliderMid] = processEmbedded("sbslider_mid", btnH, btnS, btnV); - *pixmaps[HSBSliderMid] = pixmaps[HSBSliderMid]->xForm(rMatrix); + case HSlider: + pixmaps[HSlider] = processEmbedded("sliderarrow", btnH, btnS, btnV /*, true*/); break; + case HSBSliderTop: case HSBSliderTopHover: - pixmaps[HSBSliderTopHover] = processEmbedded("sbslider_top", btnHoverH, btnHoverS, btnHoverV, true); - *pixmaps[HSBSliderTopHover] = pixmaps[HSBSliderTopHover]->xForm(rMatrix); + pixmaps[item] = processEmbedded("sbslider_top", btnH, btnS, btnV, true ); + *pixmaps[item] = pixmaps[item]->xForm(rMatrix); break; + case HSBSliderBtm: case HSBSliderBtmHover: - pixmaps[HSBSliderBtmHover] = processEmbedded("sbslider_btm", btnHoverH, btnHoverS, btnHoverV, true); - *pixmaps[HSBSliderBtmHover] = pixmaps[HSBSliderBtmHover]->xForm(rMatrix); + pixmaps[item] = processEmbedded("sbslider_btm", btnH, btnS, btnV, true ); + *pixmaps[item] = pixmaps[item]->xForm(rMatrix); break; + case HSBSliderMid: case HSBSliderMidHover: - pixmaps[HSBSliderMidHover] = processEmbedded("sbslider_mid", btnHoverH, btnHoverS, btnHoverV); - *pixmaps[HSBSliderMidHover] = pixmaps[HSBSliderMidHover]->xForm(rMatrix); - break; - case VSBSliderTopBg: - pixmaps[VSBSliderTopBg] = processEmbedded("sbslider_top", bH, bS, bV, true); - break; - case VSBSliderBtmBg: - pixmaps[VSBSliderBtmBg] = processEmbedded("sbslider_btm", bH, bS, bV, true); - break; - case VSBSliderMidBg: - pixmaps[VSBSliderMidBg] = processEmbedded("sbslider_mid", bH, bS, bV); + pixmaps[item] = processEmbedded("sbslider_mid", btnH, btnS, btnV); + *pixmaps[item] = pixmaps[item]->xForm(rMatrix); break; case HSBSliderTopBg: - pixmaps[HSBSliderTopBg] = processEmbedded("sbslider_top", bH, bS, bV, true); + pixmaps[HSBSliderTopBg] = processEmbedded("sbslider_top", bH, bS, bV, true ); *pixmaps[HSBSliderTopBg] = pixmaps[HSBSliderTopBg]->xForm(rMatrix); @@ -670,3 +666,3 @@ QPixmap* LiquidStyle::getPixmap(BitmapData item) case HSBSliderBtmBg: - pixmaps[HSBSliderBtmBg] = processEmbedded("sbslider_btm", bH, bS, bV, true); + pixmaps[HSBSliderBtmBg] = processEmbedded("sbslider_btm", bH, bS, bV, true ); *pixmaps[HSBSliderBtmBg] = pixmaps[HSBSliderBtmBg]->xForm(rMatrix); @@ -692,13 +688,2 @@ void LiquidStyle::polish(QPalette &appPal) } - QWidgetList *list = QApplication::allWidgets(); - QWidgetListIt it( *list ); - QWidget *w; - while ((w=it.current()) != 0 ){ - ++it; - if(w->inherits("QPushButton")){ - unapplyCustomAttributes((QPushButton *)w); - } - } - - loadCustomButtons(); lowLightVal = 100 + (2* /*KGlobalSettings::contrast()*/ 3 +4)*10; @@ -721,7 +706,6 @@ void LiquidStyle::polish(QPalette &appPal) config. setGroup ( "Appearance" ); - QColor c = // QColor ( config. readEntry("Button", ( Qt::lightGray ). name ( ))); - appPal. color ( QPalette::Active, QColorGroup::Button ); - if ( c == appPal. color ( QPalette::Active, QColorGroup::Background ) - //QColor ( config. readEntry ( "background", ( Qt::lightGray ). name ( ))) - ) { + QColor c = oldqte ? QColor ( config. readEntry("Button", ( Qt::lightGray ). name ( ))) + : appPal. color ( QPalette::Active, QColorGroup::Button ); + if ( c == ( oldqte ? QColor ( config. readEntry ( "background", ( Qt::lightGray ). name ( ))) + : appPal. color ( QPalette::Active, QColorGroup::Background ))) { // force button color to be different from background @@ -760,4 +744,4 @@ void LiquidStyle::polish(QPalette &appPal) } - pagerHoverBrush.setColor(c); - pagerHoverBrush.setPixmap(*pix); +// pagerHoverBrush.setColor(c); +// pagerHoverBrush.setPixmap(*pix); @@ -772,7 +756,9 @@ void LiquidStyle::polish(QPalette &appPal) } - pagerBrush.setColor(c); - pagerBrush.setPixmap(*pix); +// pagerBrush.setColor(c); +// pagerBrush.setPixmap(*pix); // background color stuff - c = /*QColor ( config. readEntry ( "Background", ( Qt::lightGray ).name ( )));*/ appPal. color ( QPalette::Active, QColorGroup::Background ); + c = oldqte ? QColor ( config. readEntry ( "Background", ( Qt::lightGray ).name ( ))) + : appPal. color ( QPalette::Active, QColorGroup::Background ); + c.hsv(&bH, &bS, &bV); @@ -800,29 +786,2 @@ void LiquidStyle::polish(QPalette &appPal) appPal.setBrush(QColorGroup::Background, bgBrush); - - // lineedits - c = /*QColor ( config. readEntry("Base", ( Qt::white). name ( )));*/ appPal. color ( QPalette::Active, QColorGroup::Base ); - QPixmap basePix; - basePix.resize(32, 32); - basePix.fill(c.rgb()); - painter.begin(&basePix); - painter.setPen(c.dark(105)); - for(i=0; i < 32; i+=4){ - painter.drawLine(0, i, 32, i); - painter.drawLine(0, i+1, 32, i+1); - }; - painter.end(); - baseBrush.setColor(c); - baseBrush.setPixmap(basePix); - it.toFirst(); - while ((w=it.current()) != 0 ){ - ++it; - if(w->inherits("QLineEdit")){ - QPalette pal = w->palette(); - pal.setBrush(QColorGroup::Base, baseBrush); - w->setPalette(pal); - } - else if(w->inherits("QPushButton")){ - applyCustomAttributes((QPushButton *)w); - } - } } @@ -855,16 +814,6 @@ void LiquidStyle::polish(QWidget *w) - if(w->inherits("QComboBox") || w->inherits("QProgressBar") || - w->inherits("QLineEdit") || w->inherits("QRadioButton") || - w->inherits("QCheckBox") || w->inherits("QScrollBar")) { - w->installEventFilter(this); - } - if(w->inherits("QLineEdit")){ - QPalette pal = w->palette(); - pal.setBrush(QColorGroup::Base, baseBrush); - w->setPalette(pal); - } - if(w->inherits("QPushButton")){ - applyCustomAttributes((QPushButton *)w); + if(w->inherits("QRadioButton") || w->inherits("QCheckBox") || w->inherits("QProgressBar")) { w->installEventFilter(this); } + if(w->inherits("QButton") || w-> inherits("QComboBox")){ @@ -902,6 +851,9 @@ void LiquidStyle::polish(QWidget *w) } - if(w-> inherits("QToolButton")&&w->parent()->inherits("QToolBar")) { - ((QToolButton*)w)->setAutoRaise (flatTBButtons); - if ( flatTBButtons ) - w->setBackgroundOrigin(QWidget::ParentOrigin); + if(w-> inherits("QToolButton")) { + if (w->parent()->inherits("QToolBar")) { + ((QToolButton*)w)->setAutoRaise (flatTBButtons); + if ( flatTBButtons ) + w->setBackgroundOrigin(QWidget::ParentOrigin); + } + w-> installEventFilter ( this ); } @@ -973,6 +925,2 @@ void LiquidStyle::unPolish(QWidget *w) - if(w->inherits("QPushButton")){ - unapplyCustomAttributes((QPushButton *)w); - w->removeEventFilter(this); - } /* @@ -982,6 +930,4 @@ void LiquidStyle::unPolish(QWidget *w) */ - if(w->inherits("QComboBox") || - w->inherits("QLineEdit") || w->inherits("QRadioButton") || - w->inherits("QCheckBox") || w->inherits("QScrollBar")) { - w->removeEventFilter(this); + if( w->inherits("QRadioButton") || w->inherits("QCheckBox") || w->inherits("QProgressBar")) { + w->removeEventFilter(this); } @@ -992,2 +938,5 @@ void LiquidStyle::unPolish(QWidget *w) } + if(w-> inherits("QToolButton")) { + w-> removeEventFilter ( this ); + } if(w->inherits("QToolBar")){ @@ -1097,2 +1046,22 @@ public: +/* + * The same for QToolButton: + * TT hardcoded the drawing of the focus rect ... + * + * - sandman + */ + + +class HackToolButton : public QToolButton { +public: + HackToolButton ( ); + + void paint ( QPaintEvent *ev ) + { + erase ( ev-> region ( )); + QPainter p ( this ); + style ( ). drawToolButton ( this, &p ); + drawButtonLabel ( &p ); + } +}; @@ -1130,20 +1099,5 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev) } - else if(obj->inherits("QPushButton") || obj->inherits("QComboBox")){ - QWidget *btn = (QWidget *)obj; - if(ev->type() == QEvent::Enter){ - if(btn->isEnabled()){ - highlightWidget = btn; - btn->repaint(false); - } - } - else if(ev->type() == QEvent::Leave){ - if(btn == highlightWidget){ - highlightWidget = NULL; - btn->repaint(false); - } - } - } else if(obj->inherits("QToolButton")){ - QToolButton *btn = (QToolButton *)btn; - if(!btn->autoRaise()){ + QToolButton *btn = (QToolButton *)obj; + if(ev->type() == QEvent::FocusIn ){ // && !btn-> autoRaise () if(btn->isEnabled()){ @@ -1151,6 +1105,7 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev) btn->repaint(false); + + qDebug ( "TB FOCUS IN [%p]", btn ); } } - else if(ev->type() == QEvent::Leave){ - QWidget *btn = (QWidget *)obj; + else if(ev->type() == QEvent::FocusOut ){ if(btn == highlightWidget){ @@ -1158,43 +1113,9 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev) btn->repaint(false); + + qDebug ( "TB FOCUS OUT [%p]", btn ); } } - else - highlightWidget = NULL; - } - else if(obj->inherits("QScrollBar")){ - QScrollBar *sb = (QScrollBar *)obj; - if(ev->type() == QEvent::Enter){ - if(sb->isEnabled()){ - highlightWidget = sb; - sb->repaint(false); - } - } - else if(ev->type() == QEvent::Leave){ - if(sb == highlightWidget && !sb->draggingSlider()){ - highlightWidget = NULL; - sb->repaint(false); - } - } - else if(ev->type() == QEvent::MouseButtonRelease){ - QMouseEvent *me = (QMouseEvent *)ev; - if(sb == highlightWidget && !sb->rect().contains(me->pos())){ - highlightWidget = NULL; - sb->repaint(false); - } - } - } - else if(obj->inherits("QLineEdit")){ - if(obj->parent() && obj->parent()->inherits("QComboBox")){ - QWidget *btn = (QComboBox *)obj->parent(); - if(ev->type() == QEvent::Enter){ - if (btn->isEnabled()){ - highlightWidget = btn; - btn->repaint(false); - } - } - else if(ev->type() == QEvent::Leave){ - if (btn == highlightWidget) - highlightWidget = NULL; - btn->repaint(false); - } + else if(ev->type() == QEvent::Paint) { + (( HackToolButton *) btn )-> paint ((QPaintEvent *) ev ); + return true; } @@ -1214,2 +1135,3 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev) +/* if(btn->hasFocus()){ @@ -1222,3 +1144,4 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev) } - int x = 0; +*/ + int x = 0; int y = (btn->height()-lsz.height()+fm.height()-sz.height())/2; @@ -1241,32 +1164,2 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev) } - // for hover, just redraw the indicator (not the text) - else if((ev->type() == QEvent::Enter && btn->isEnabled()) || - (ev->type() == QEvent::Leave && btn == highlightWidget)){ - QButton *btn = (QButton *)obj; - bool isRadio = obj->inherits("QRadioButton"); - - if(ev->type() == QEvent::Enter) - highlightWidget = btn; - else - highlightWidget = NULL; - QFontMetrics fm = btn->fontMetrics(); - QSize lsz = fm.size(ShowPrefix, btn->text()); - QSize sz = isRadio ? exclusiveIndicatorSize() - : indicatorSize(); - int x = 0; - int y = (btn->height()-lsz.height()+fm.height()-sz.height())/2; - //if(btn->autoMask()) - // btn->erase(x+1, y+1, sz.width()-2, sz.height()-2); - QPainter p; - p.begin(btn); - if(isRadio) - drawExclusiveIndicator(&p, x, y, sz.width(), sz.height(), - btn->colorGroup(), btn->isOn(), - btn->isDown(), btn->isEnabled()); - else - drawIndicator(&p, x, y, sz.width(), sz.height(), - btn->colorGroup(), btn->state(), btn->isDown(), - btn->isEnabled()); - p.end(); - } } @@ -1355,4 +1248,7 @@ void LiquidStyle::drawToolButton(QPainter *p, int x, int y, int w, int h, p->drawTiledPixmap(x+2, y+2, w-4, h-4, *pix); + qDebug ( "DRAW TOOLBUTTON IN PIXMAP" ); } else{ + qDebug ( "DRAW TOOLBUTTON sunken=%d/high=%p/device=%p", sunken, highlightWidget,p->device() ); + drawClearBevel(p, x, y, w, h, sunken ? g.button() : @@ -1513,3 +1409,16 @@ void LiquidStyle::drawComboButton(QPainter *painter, int x, int y, int w, int h, { - bool isHover = highlightWidget == painter->device(); + bool isActive = false; + if (( painter->device()->devType() == QInternal::Widget ) && + ( + ( qApp-> focusWidget ( ) == painter-> device ( )) || + ( + edit && + ((QWidget *) painter-> device ( ))-> inherits ( "QComboBox" ) && + ( qApp-> focusWidget ( ) == ((QComboBox *) painter->device())->lineEdit ( )) + ) + ) + ) { + isActive = true; + } + bool isMasked = false; @@ -1523,3 +1432,3 @@ void LiquidStyle::drawComboButton(QPainter *painter, int x, int y, int w, int h, sunken, false, isMasked); - if(!isHover){ + if(!isActive){ p.setClipRect(0, 0, w-17, h); @@ -1575,5 +1484,7 @@ QRect LiquidStyle::comboButtonRect(int x, int y, int w, int h) -QRect LiquidStyle::comboButtonFocusRect(int x, int y, int w, int h) +QRect LiquidStyle::comboButtonFocusRect(int /*x*/, int /*y*/, int /*w*/, int /*h*/) { - return(QRect(x+5, y+3, w-(h/3)-13, h-5)); + return QRect ( ); + +// return(QRect(x+5, y+3, w-(h/3)-13, h-5)); } @@ -1584,3 +1495,2 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb, { - bool isHover = highlightWidget == p->device(); int sliderMin, sliderMax, sliderLength, buttonDim; @@ -1673,12 +1583,6 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb, if(sliderR.height() >= 16){ - painter.drawPixmap(sliderR.x()+1, sliderR.y(), - isHover ? *getPixmap(VSBSliderTopHover): - *getPixmap(VSBSliderTop)); + painter.drawPixmap(sliderR.x()+1, sliderR.y(), *getPixmap(VSBSliderTop)); painter.drawTiledPixmap(sliderR.x()+1, sliderR.y()+8, 13, - sliderR.height()-16, isHover ? - *getPixmap(VSBSliderMidHover) : - *getPixmap(VSBSliderMid)); - painter.drawPixmap(sliderR.x()+1, sliderR.bottom()-8, - isHover ? *getPixmap(VSBSliderBtmHover) : - *getPixmap(VSBSliderBtm)); + sliderR.height()-16, *getPixmap(VSBSliderMid)); + painter.drawPixmap(sliderR.x()+1, sliderR.bottom()-8, *getPixmap(VSBSliderBtm)); } @@ -1686,8 +1590,4 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb, int m = sliderR.height()/2; - painter.drawPixmap(sliderR.x()+1, sliderR.y(), - isHover ? *getPixmap(VSBSliderTopHover): - *getPixmap(VSBSliderTop), 0, 0, 13, m); - painter.drawPixmap(sliderR.x()+1, sliderR.y()+m, - isHover ? *getPixmap(VSBSliderBtmHover): - *getPixmap(VSBSliderBtm), 0, 8-m, 13, m); + painter.drawPixmap(sliderR.x()+1, sliderR.y(), *getPixmap(VSBSliderTop), 0, 0, 13, m); + painter.drawPixmap(sliderR.x()+1, sliderR.y()+m, *getPixmap(VSBSliderBtm), 0, 8-m, 13, m); } @@ -1699,3 +1599,2 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb, 11, sliderR.height()-2, - isHover ? *getPixmap(VSBSliderMidHover) : *getPixmap(VSBSliderMid), 1, 0); @@ -1740,9 +1639,6 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb, painter.drawPixmap(sliderR.x(), sliderR.y()+1, - isHover ? *getPixmap(HSBSliderTopHover) : *getPixmap(HSBSliderTop)); painter.drawTiledPixmap(sliderR.x()+8, sliderR.y()+1, sliderR.width()-16, - 13, isHover ? *getPixmap(HSBSliderMidHover) : - *getPixmap(HSBSliderMid)); - painter.drawPixmap(sliderR.right()-8, sliderR.y()+1, isHover ? - *getPixmap(HSBSliderBtmHover) : + 13, *getPixmap(HSBSliderMid)); + painter.drawPixmap(sliderR.right()-8, sliderR.y()+1, *getPixmap(HSBSliderBtm)); @@ -1752,6 +1648,4 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb, painter.drawPixmap(sliderR.x(), sliderR.y()+1, - isHover ? *getPixmap(HSBSliderTopHover) : *getPixmap(HSBSliderTop), 0, 0, m, 13); - painter.drawPixmap(sliderR.right()-8, sliderR.y()+1, isHover ? - *getPixmap(HSBSliderBtmHover) : + painter.drawPixmap(sliderR.right()-8, sliderR.y()+1, *getPixmap(HSBSliderBtm), 8-m, 0, m, 13); @@ -1763,4 +1657,3 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb, painter.drawTiledPixmap(sliderR.x()+1, sliderR.y()+2, - sliderR.width()-2, 11, isHover ? - *getPixmap(HSBSliderMidHover) : + sliderR.width()-2, 11, *getPixmap(HSBSliderMid), 0, 1); @@ -1943,3 +1836,3 @@ void LiquidStyle::drawExclusiveIndicator(QPainter *p, int x, int y, int /*w*/, { - bool isHover = highlightWidget == p->device(); + bool isActive = ( p->device()->devType() == QInternal::Widget ) && ( qApp-> focusWidget ( ) == p-> device ( )); bool isMasked = p->device() && p->device()->devType() == QInternal::Widget @@ -1949,3 +1842,3 @@ void LiquidStyle::drawExclusiveIndicator(QPainter *p, int x, int y, int /*w*/, if(on || down){ - p->drawPixmap(x, y, isHover ? *getPixmap(HTMLRadioDownHover) : + p->drawPixmap(x, y, isActive ? *getPixmap(HTMLRadioDownHover) : *getPixmap(HTMLRadioDown)); @@ -1953,3 +1846,3 @@ void LiquidStyle::drawExclusiveIndicator(QPainter *p, int x, int y, int /*w*/, else - p->drawPixmap(x, y, isHover ? *getPixmap(HTMLRadioHover) : + p->drawPixmap(x, y, isActive ? *getPixmap(HTMLRadioHover) : *getPixmap(HTMLRadio)); @@ -1959,3 +1852,3 @@ void LiquidStyle::drawExclusiveIndicator(QPainter *p, int x, int y, int /*w*/, if(on || down){ - p->drawPixmap(x, y, isHover ? *getPixmap(RadioOnHover) : + p->drawPixmap(x, y, isActive ? *getPixmap(RadioOnHover) : *getPixmap(RadioOn)); @@ -1963,3 +1856,3 @@ void LiquidStyle::drawExclusiveIndicator(QPainter *p, int x, int y, int /*w*/, else - p->drawPixmap(x, y, isHover ? *getPixmap(RadioOffHover) : + p->drawPixmap(x, y, isActive ? *getPixmap(RadioOffHover) : *getPixmap(RadioOff)); @@ -1985,3 +1878,3 @@ void LiquidStyle::drawIndicator(QPainter *p, int x, int y, int /*w*/, int /*h*/, { - bool isHover = highlightWidget == p->device(); + bool isActive = ( p->device()->devType() == QInternal::Widget ) && ( qApp-> focusWidget ( ) == p-> device ( )); bool isMasked = p->device() && p->device()->devType() == QInternal::Widget @@ -1990,3 +1883,3 @@ void LiquidStyle::drawIndicator(QPainter *p, int x, int y, int /*w*/, int /*h*/, if(state != QButton::Off){ - p->drawPixmap(x, y, isHover ? *getPixmap(HTMLCBDownHover) : + p->drawPixmap(x, y, isActive ? *getPixmap(HTMLCBDownHover) : *getPixmap(HTMLCBDown)); @@ -1994,3 +1887,3 @@ void LiquidStyle::drawIndicator(QPainter *p, int x, int y, int /*w*/, int /*h*/, else - p->drawPixmap(x, y, isHover ? *getPixmap(HTMLCBHover) : + p->drawPixmap(x, y, isActive ? *getPixmap(HTMLCBHover) : *getPixmap(HTMLCB)); @@ -2000,3 +1893,3 @@ void LiquidStyle::drawIndicator(QPainter *p, int x, int y, int /*w*/, int /*h*/, if(state != QButton::Off){ - p->drawPixmap(x, y, isHover ? *getPixmap(CBDownHover) : + p->drawPixmap(x, y, isActive ? *getPixmap(CBDownHover) : *getPixmap(CBDown)); @@ -2017,3 +1910,3 @@ void LiquidStyle::drawIndicator(QPainter *p, int x, int y, int /*w*/, int /*h*/, else - p->drawPixmap(x, y, isHover ? *getPixmap(CBHover) : *getPixmap(CB)); + p->drawPixmap(x, y, isActive ? *getPixmap(CBHover) : *getPixmap(CB)); } @@ -2362,3 +2255,3 @@ void LiquidStyle::drawFocusRect(QPainter *p, const QRect &r, QWidget *w = (QWidget *)p->device(); - if(w->inherits("QPushButton") || w->inherits("QSlider")){ + if(w->inherits("QPushButton") || w->inherits("QSlider") || w->inherits("QComboBox") || w->inherits("QToolButton" )){ return; @@ -2715,106 +2608,2 @@ void LiquidStyle::drawSliderGrooveMask (QPainter * p, int x, int y, int w, -// I'm debating if to use QValueList or QList here. I like QValueList better, -// but QList handles pointers which is good for a lot of empty icons... - -void LiquidStyle::loadCustomButtons() -{ - return; // TODO - customBtnColorList.clear(); - customBtnIconList.clear(); - customBtnLabelList.clear(); - -// KConfig *config = KGlobal::config(); -// QString oldGrp = config->group(); -// config->setGroup("MosfetButtons"); - - QStrList iconList, colorList; //temp, we store QPixmaps and QColors - iconList.setAutoDelete(true); - colorList.setAutoDelete(true); -// config->readListEntry("Labels", customBtnLabelList); -// config->readListEntry("Icons", iconList); -// config->readListEntry("Colors", colorList); - - const char *labelStr = customBtnLabelList.first(); - const char *colorStr = colorList.first(); - const char *iconStr = iconList.first(); - -// KIconLoader *ldr = KGlobal::iconLoader(); - while(labelStr != NULL){ - QColor *c = new QColor; - c->setNamedColor(QString(colorStr)); - customBtnColorList.append(c); - - QString tmpStr(iconStr); - if(!tmpStr.isEmpty()){ - QPixmap *pixmap = - new QPixmap();//ldr->loadIcon(tmpStr, KIcon::Small)); - if(pixmap->isNull()){ - delete pixmap; - customBtnIconList.append(NULL); - } - else - customBtnIconList.append(pixmap); - } - else - customBtnIconList.append(NULL); - - labelStr = customBtnLabelList.next(); - colorStr = colorList.next(); - iconStr = iconList.next(); - } -} - -void LiquidStyle::applyCustomAttributes(QPushButton *btn) -{ - return; // TODO - QString str = btn->text(); - if(str.isEmpty()) - return; - while(str.contains('&') != 0) - str = str.remove(str.find('&'), 1); - - const char *s; - int idx = 0; - for(s = customBtnLabelList.first(); s != NULL; - ++idx, s = customBtnLabelList.next()){ - if(qstricmp(s, str.latin1()) == 0){ - QPalette pal = btn->palette(); - pal.setColor(QColorGroup::Button, - *customBtnColorList.at(idx)); - btn->setPalette(pal); - /* - if(customBtnIconList.at(idx) != NULL){ - QPixmap *pix = customBtnIconList.at(idx); - btn->setIconSet(QIconSet(*pix)); - }*/ - break; - } - } -} - -void LiquidStyle::unapplyCustomAttributes(QPushButton *btn) -{ - return; // TODO - QString str = btn->text(); - if(str.isEmpty()) - return; - while(str.contains('&') != 0) - str = str.remove(str.find('&'), 1); - - const char *s; - for(s = customBtnLabelList.first(); s != NULL; s = customBtnLabelList.next()){ - if(qstricmp(s, str.latin1()) == 0){ - btn->setPalette(QApplication::palette()); - btn->setIconSet(QIconSet()); - break; - } - } -} - -// #include "liquid.moc" - - - - - |