-rw-r--r-- | noncore/styles/liquid/liquid.cpp | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/noncore/styles/liquid/liquid.cpp b/noncore/styles/liquid/liquid.cpp index 4013981..eb1ec6e 100644 --- a/noncore/styles/liquid/liquid.cpp +++ b/noncore/styles/liquid/liquid.cpp @@ -66,159 +66,157 @@ void TransMenuHandler::stripePixmap(QPixmap &pix, const QColor &color) pix.convertFromImage(img); } TransMenuHandler::TransMenuHandler(QObject *parent) : QObject(parent) { pixDict.setAutoDelete(true); reloadSettings(); } void TransMenuHandler::reloadSettings() { pixDict.clear(); Config config ( "qpe" ); 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 ) opacity = 20; shadowText = config. readBoolEntry("ShadowText", true); } bool TransMenuHandler::eventFilter(QObject *obj, QEvent *ev) { QWidget *p = (QWidget *)obj; if(ev->type() == QEvent::Show){ if(type == TransStippleBg || type == TransStippleBtn || type == Custom){ QApplication::syncX(); QPixmap *pix = new QPixmap; if(p->testWFlags(Qt::WType_Popup)){ QRect r(p->x(), p->y(), p->width(), p->height()); QRect deskR = QApplication::desktop()->rect(); if(r.right() > deskR.right() || r.bottom() > deskR.bottom()){ r.setBottom(deskR.bottom()); r.setRight(deskR.right()); } *pix = QPixmap::grabWindow(QApplication::desktop()-> winId(), r.x(), r.y(), r.width(), r.height()); } else{ // tear off menu pix->resize(p->width(), p->height()); pix->fill(Qt::black.rgb()); } if(type == TransStippleBg){ stripePixmap(*pix, p->colorGroup().background()); } else if(type == TransStippleBtn){ stripePixmap(*pix, p->colorGroup().button()); } else{ QPixmapEffect::fade(*pix, (((float)opacity)+80)*0.01, color); } pixDict.insert(p->winId(), pix); - if (!p->inherits("QPopupMenu")) { + if ( !p->inherits("QPopupMenu")) p->setBackgroundPixmap(*pix); - QObjectList *ol = p-> queryList("QWidget"); - for ( QObjectListIt it( *ol ); it. current ( ); ++it ) { - QWidget *wid = (QWidget *) it.current ( ); + QObjectList *ol = p-> queryList("QWidget"); + for ( QObjectListIt it( *ol ); it. current ( ); ++it ) { + QWidget *wid = (QWidget *) it.current ( ); - wid-> setBackgroundPixmap(*pix); - wid-> setBackgroundOrigin(QWidget::ParentOrigin); - } - delete ol; - } + wid-> setBackgroundPixmap(*pix); + wid-> setBackgroundOrigin(QWidget::ParentOrigin); + } + delete ol; } } else if(ev->type() == QEvent::Hide){ if(type == TransStippleBg || type == TransStippleBtn || type == Custom){ // qWarning("Deleting menu pixmap, width %d", pixDict.find(p->winId())->width()); pixDict.remove(p->winId()); - if (!p->inherits("QPopupMenu")) { + if ( !p->inherits("QPopupMenu")) p->setBackgroundMode(QWidget::PaletteBackground); - QObjectList *ol = p-> queryList("QWidget"); - for ( QObjectListIt it( *ol ); it. current ( ); ++it ) { - QWidget *wid = (QWidget *) it.current ( ); - - wid-> setBackgroundMode( QWidget::PaletteBackground ); - } - delete ol; + QObjectList *ol = p-> queryList("QWidget"); + for ( QObjectListIt it( *ol ); it. current ( ); ++it ) { + QWidget *wid = (QWidget *) it.current ( ); + + wid-> setBackgroundMode( QWidget::PaletteBackground ); } + delete ol; } } return(false); } LiquidStyle::LiquidStyle() :QWindowsStyle() { setName ( "LiquidStyle" ); flatTBButtons = false; btnMaskBmp = QBitmap(37, 26, buttonmask_bits, true); btnMaskBmp.setMask(btnMaskBmp); htmlBtnMaskBmp = QBitmap(37, 26, htmlbuttonmask_bits, true); htmlBtnMaskBmp.setMask(htmlBtnMaskBmp); headerHoverID = -1; highlightWidget = NULL; setButtonDefaultIndicatorWidth(0); btnDict.setAutoDelete(true); bevelFillDict.setAutoDelete(true); smallBevelFillDict.setAutoDelete(true); customBtnColorList.setAutoDelete(true); customBtnIconList.setAutoDelete(true); customBtnLabelList.setAutoDelete(true); rMatrix.rotate(270.0); highcolor = QPixmap::defaultDepth() > 8; btnBorderPix = new QPixmap; btnBorderPix->convertFromImage(qembed_findImage("buttonfill")); btnBlendPix = new QPixmap; btnBlendPix->convertFromImage(qembed_findImage("buttonborder")); bevelFillPix = new QPixmap; bevelFillPix->convertFromImage(qembed_findImage("clear_fill_large")); smallBevelFillPix = new QPixmap; smallBevelFillPix->convertFromImage(qembed_findImage("clear_fill_small")); // new stuff vsbSliderFillPix = menuPix = NULL; menuHandler = new TransMenuHandler(this); setScrollBarExtent(15, 15); int i; for(i=0; i < BITMAP_ITEMS; ++i){ pixmaps[i] = NULL; } oldSliderThickness = sliderThickness(); setSliderThickness(11); } LiquidStyle::~LiquidStyle() { if(btnBorderPix) delete btnBorderPix; if(btnBlendPix) delete btnBlendPix; if(bevelFillPix) delete bevelFillPix; if(smallBevelFillPix) delete smallBevelFillPix; if(vsbSliderFillPix) delete vsbSliderFillPix; if(menuPix) delete menuPix; |