author | sandman <sandman> | 2002-12-03 00:59:30 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-12-03 00:59:30 (UTC) |
commit | 26557b9370b3d1f28224374f8a035ae9051a1317 (patch) (side-by-side diff) | |
tree | b45c67bd4d71910f1faf020e23a01b648d2effbf | |
parent | c3c95ff297355f7024c15134bbc1d15d340bf8fd (diff) | |
download | opie-26557b9370b3d1f28224374f8a035ae9051a1317.zip opie-26557b9370b3d1f28224374f8a035ae9051a1317.tar.gz opie-26557b9370b3d1f28224374f8a035ae9051a1317.tar.bz2 |
small fix regarding focus handling on combo-boxes
-rw-r--r-- | noncore/styles/liquid/liquid.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/noncore/styles/liquid/liquid.cpp b/noncore/styles/liquid/liquid.cpp index e6d8310..4a65952 100644 --- a/noncore/styles/liquid/liquid.cpp +++ b/noncore/styles/liquid/liquid.cpp @@ -6,70 +6,72 @@ // (c) 2002 Robert 'sandman' Griebl // #ifndef INCLUDE_MENUITEM_DEF #define INCLUDE_MENUITEM_DEF #endif #include <qmenudata.h> #include "liquid.h" //#include "liquiddeco.h" #include <qapplication.h> #include <qpe/config.h> #include "effects.h" #include <qpalette.h> #include <qbitmap.h> #include <qtabbar.h> #include <qpopupmenu.h> #include <qobjectlist.h> #include <qimage.h> #include <qtimer.h> #include <qpixmapcache.h> #include <qradiobutton.h> #include <qcombobox.h> #include <qdrawutil.h> #include <qwidgetlist.h> #include <qtoolbutton.h> #include <qheader.h> #include <unistd.h> #include <qmenubar.h> #include <qprogressbar.h> #include <qlineedit.h> +#include <qlistbox.h> #include <stdio.h> #include "htmlmasks.h" #include "embeddata.h" + typedef void (QStyle::*QDrawMenuBarItemImpl) (QPainter *, int, int, int, int, QMenuItem *, QColorGroup &, bool, bool); QDrawMenuBarItemImpl qt_set_draw_menu_bar_impl(QDrawMenuBarItemImpl impl); void TransMenuHandler::stripePixmap(QPixmap &pix, const QColor &color) { QImage img(pix.convertToImage()); QImageEffect::fade(img, 0.9, color); int x, y; int r, g, b; for(y=0; y < img.height(); y+=3){ unsigned int *data = (unsigned int *) img.scanLine(y); for(x=0; x < img.width(); ++x){ r = qRed(data[x]); g = qGreen(data[x]); b = qBlue(data[x]); if(r-10) r-=10; if(g-10) g-=10; if(b-10) b-=10; data[x] = qRgb(r, g, b); } } pix.convertFromImage(img); } TransMenuHandler::TransMenuHandler(QObject *parent) : QObject(parent) { @@ -1379,65 +1381,66 @@ void LiquidStyle::drawButtonMask(QPainter *p, int x, int y, int w, int h) void LiquidStyle::drawBevelButton(QPainter *p, int x, int y, int w, int h, const QColorGroup &g, bool sunken, const QBrush */*fill*/) { if(currentHeader && p->device() == currentHeader){ int id = currentHeader->sectionAt(x); bool isHeaderHover = id != -1 && id == headerHoverID; drawClearBevel(p, x, y, w, h, sunken ? g.button() : isHeaderHover ? g.button().light(110) : g.background(), g.background()); } else drawClearBevel(p, x, y, w, h, sunken ? g.button() : g.background(), g.background()); } QRect LiquidStyle::buttonRect(int x, int y, int w, int h) { return(QRect(x+5, y+5, w-10, h-10)); } void LiquidStyle::drawComboButton(QPainter *painter, int x, int y, int w, int h, const QColorGroup &g, bool sunken, bool edit, bool, const QBrush *) { 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 ( )) + ( qApp-> focusWidget ( ) == ((QComboBox *) painter->device())->lineEdit ( ) || + qApp-> focusWidget ( ) == ((QComboBox *) painter->device())->listBox ( )) ) ) ) { isActive = true; } bool isMasked = false; if(painter->device()->devType() == QInternal::Widget) isMasked = ((QWidget*)painter->device())->autoMask(); // TODO: Do custom code, don't just call drawRoundButton into a pixmap QPixmap tmpPix(w, h); QPainter p(&tmpPix); drawRoundButton(&p, g.button(), g.background(), 0, 0, w, h, false, sunken, false, isMasked); if(!isActive){ p.setClipRect(0, 0, w-17, h); drawRoundButton(&p, g.background(), g.background(), 0, 0, w, h, false, sunken, false, isMasked); } p.end(); int x2 = x+w-1; int y2 = y+h-1; int bx2 = btnMaskBmp.width()-1; int by2 = btnMaskBmp.height()-1; QBitmap btnMask(w, h); QBitmap *mask = isMasked ? &htmlBtnMaskBmp : &btnMaskBmp; p.begin(&btnMask); p.fillRect(0, 0, w, h, Qt::color0); p.drawPixmap(0, 0, *mask, 0, 0, 10, 10); // tl p.drawPixmap(x2-9, 0, *mask, bx2-9, 0, 10, 10); // tr p.drawPixmap(0, y2-9, *mask, 0, by2-9, 10, 10); // bl |