summaryrefslogtreecommitdiff
path: root/noncore/styles/liquid/liquid.cpp
Side-by-side diff
Diffstat (limited to 'noncore/styles/liquid/liquid.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/styles/liquid/liquid.cpp129
1 files changed, 68 insertions, 61 deletions
diff --git a/noncore/styles/liquid/liquid.cpp b/noncore/styles/liquid/liquid.cpp
index 51814e7..77cf198 100644
--- a/noncore/styles/liquid/liquid.cpp
+++ b/noncore/styles/liquid/liquid.cpp
@@ -4,5 +4,5 @@
//
-// (c) 2002 Robert 'sandman' Griebl
+// (c) 2002 Robert 'sandman' Griebl
//
@@ -13,5 +13,5 @@
#include "liquid.h"
-#include "effects.h"
+#include "effects.h"
#include "htmlmasks.h"
#include "embeddata.h"
@@ -100,5 +100,5 @@ void TransMenuHandler::reloadSettings()
else if ( opacity > 20 )
opacity = 20;
-
+
shadowText = config. readBoolEntry("ShadowText", true);
}
@@ -138,14 +138,14 @@ bool TransMenuHandler::eventFilter(QObject *obj, QEvent *ev)
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 ( );
-
+
wid-> setBackgroundPixmap(*pix);
- wid-> setBackgroundOrigin(QWidget::ParentOrigin);
+ wid-> setBackgroundOrigin(QWidget::ParentOrigin);
}
delete ol;
@@ -155,8 +155,8 @@ bool TransMenuHandler::eventFilter(QObject *obj, QEvent *ev)
if(type == TransStippleBg || type == TransStippleBtn ||
type == Custom){
-// owarn << "Deleting menu pixmap, width " << pixDict.find(p->winId())->width() << "" << oendl;
+// owarn << "Deleting menu pixmap, width " << pixDict.find(p->winId())->width() << "" << oendl;
pixDict.remove(p->winId());
- if ( !p->inherits("QPopupMenu"))
+ if ( !p->inherits("QPopupMenu"))
p->setBackgroundMode(QWidget::PaletteBackground);
@@ -164,5 +164,5 @@ bool TransMenuHandler::eventFilter(QObject *obj, QEvent *ev)
for ( QObjectListIt it( *ol ); it. current ( ); ++it ) {
QWidget *wid = (QWidget *) it.current ( );
-
+
wid-> setBackgroundMode( QWidget::PaletteBackground );
}
@@ -174,5 +174,5 @@ bool TransMenuHandler::eventFilter(QObject *obj, QEvent *ev)
-
+
LiquidStyle::LiquidStyle()
@@ -500,5 +500,5 @@ QPixmap* LiquidStyle::processEmbedded(const char *label, int h, int s, int v,
img.detach();
if(img.isNull()){ // shouldn't happen, been tested
- owarn << "Invalid embedded label " << label << "" << oendl;
+ owarn << "Invalid embedded label " << label << "" << oendl;
return(NULL);
}
@@ -600,8 +600,8 @@ QPixmap* LiquidStyle::getPixmap(BitmapData item)
case TabDown:
pixmaps[TabDown] = processEmbedded("tab", btnH, btnS, btnV /*, true*/);
- break;
+ break;
case TabFocus:
pixmaps[TabFocus] = processEmbedded("tab", btnHoverH, btnHoverS, btnHoverV /*, true*/);
- break;
+ break;
case CB:
@@ -802,14 +802,14 @@ void LiquidStyle::polish(QWidget *w)
if(w->inherits("QPopupMenu"))
w->setBackgroundMode(QWidget::NoBackground);
- else if(w-> testWFlags(Qt::WType_Popup) &&
- !w->inherits("QListBox") &&
+ else if(w-> testWFlags(Qt::WType_Popup) &&
+ !w->inherits("QListBox") &&
( qstrcmp ( w-> name(), "automatic what's this? widget" ) != 0 )) {
w->installEventFilter(menuHandler);
}
-
+
if(w->isTopLevel()){
return;
}
-
+
if(w->inherits("QRadioButton") || w->inherits("QCheckBox") || w->inherits("QProgressBar")) {
w->installEventFilter(this);
@@ -866,5 +866,5 @@ void LiquidStyle::polish(QWidget *w)
if(w->parent() && w->parent()->isWidgetType() && !((QWidget*)w->parent())->
palette().active().brush(QColorGroup::Background).pixmap()){
- owarn << "No parent pixmap for child widget " << w->className() << "" << oendl;
+ owarn << "No parent pixmap for child widget " << w->className() << "" << oendl;
return;
}
@@ -879,5 +879,5 @@ void LiquidStyle::polish(QWidget *w)
}
if ( !w-> inherits("QFrame") || (((QFrame*) w)-> frameShape () == QFrame::NoFrame ))
- w-> setBackgroundOrigin ( QWidget::ParentOrigin );
+ w-> setBackgroundOrigin ( QWidget::ParentOrigin );
else if ( w-> inherits("QFrame") )
w->setBackgroundOrigin ( QWidget::WidgetOrigin );
@@ -898,5 +898,5 @@ void LiquidStyle::unPolish(QWidget *w)
if(w->inherits("QPopupMenu"))
w->setBackgroundMode(QWidget::PaletteButton);
- else if(w-> testWFlags(Qt::WType_Popup) &&
+ else if(w-> testWFlags(Qt::WType_Popup) &&
!w->inherits("QListBox") &&
( qstrcmp ( w-> name(), "automatic what's this? widget" ) != 0 )) {
@@ -960,13 +960,13 @@ void LiquidStyle::polish(QApplication *app)
if(menuFade)
app->setEffectEnabled(UI_FadeMenu, false);
-
+
qt_set_draw_menu_bar_impl((QDrawMenuBarItemImpl) &LiquidStyle::drawMenuBarItem);
-
+
Config config ( "qpe" );
config. setGroup ( "Liquid-Style" );
-
-// if ( config. readBoolEntry ( "WinDecoration", true ))
+
+// if ( config. readBoolEntry ( "WinDecoration", true ))
// QApplication::qwsSetDecoration ( new LiquidDecoration ( ));
-
+
flatTBButtons = config. readBoolEntry ( "FlatToolButtons", false );
}
@@ -979,5 +979,5 @@ void LiquidStyle::unPolish(QApplication *app)
qt_set_draw_menu_bar_impl ( 0 );
-
+
// QApplication::qwsSetDecoration ( new QPEDecoration ( ));
}
@@ -985,11 +985,11 @@ void LiquidStyle::unPolish(QApplication *app)
/* !! HACK !! Beware
- *
+ *
* TT forgot to make the QProgressBar widget styleable in Qt 2.x
- * So the only way to customize the drawing, is to intercept the
+ * So the only way to customize the drawing, is to intercept the
* paint event - since we have to use protected functions, we need
* to derive a "hack" class from QProgressBar and do the painting
* in there.
- *
+ *
* - sandman
*/
@@ -998,5 +998,5 @@ class HackProgressBar : public QProgressBar {
public:
HackProgressBar ( );
-
+
void paint ( QPaintEvent *event, const QColorGroup &g, QPixmap *pix )
{
@@ -1032,6 +1032,6 @@ public:
if(bw >= 4 && h >= 4 && pix)
p.drawTiledPixmap(x+2, y+2, bw-4, h-4, *pix);
-
- if ( progress ( )>= 0 && totalSteps ( ) > 0 ) {
+
+ if ( progress ( )>= 0 && totalSteps ( ) > 0 ) {
QString pstr;
pstr. sprintf ( "%d%%", 100 * progress()/totalSteps ());
@@ -1055,5 +1055,5 @@ class HackToolButton : public QToolButton {
public:
HackToolButton ( );
-
+
void paint ( QPaintEvent *ev )
{
@@ -1099,5 +1099,5 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev)
else if(obj->inherits("QToolButton")){
QToolButton *btn = (QToolButton *)obj;
- if(ev->type() == QEvent::FocusIn ){ // && !btn-> autoRaise ()
+ if(ev->type() == QEvent::FocusIn ){ // && !btn-> autoRaise ()
if(btn->isEnabled()){
highlightWidget = btn;
@@ -1139,5 +1139,5 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev)
}
*/
- int x = 0;
+ int x = 0;
int y = (btn->height()-lsz.height()+fm.height()-sz.height())/2;
if(isRadio)
@@ -1194,5 +1194,5 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev)
HackProgressBar *p = (HackProgressBar *) obj;
const QColorGroup &g = p-> colorGroup ( );
-
+
QPixmap *pix = bevelFillDict.find(g.button().dark(120).rgb());
if(!pix){
@@ -1204,7 +1204,7 @@ bool LiquidStyle::eventFilter(QObject *obj, QEvent *ev)
}
p-> paint ((QPaintEvent *) ev, g, pix );
- return true;
+ return true;
}
- }
+ }
return false ;
}
@@ -1304,5 +1304,9 @@ void LiquidStyle::drawPushButtonLabel(QPushButton *btn, QPainter *p)
if ( mode == QIconSet::Normal && btn->hasFocus() )
mode = QIconSet::Active;
- QPixmap pixmap = btn->iconSet()->pixmap( QIconSet::Small, mode );
+ QPixmap pixmap;
+ if ( mode == QIconSet::Disabled )
+ pixmap = btn->iconSet()->pixmap( QIconSet::Automatic, mode );
+ else
+ pixmap = btn->iconSet()->pixmap();
int pixw = pixmap.width();
int pixh = pixmap.height();
@@ -1312,5 +1316,5 @@ void LiquidStyle::drawPushButtonLabel(QPushButton *btn, QPainter *p)
w -= pixw + 8;
}
-
+
if(act){
QFont font = btn->font();
@@ -1406,5 +1410,5 @@ void LiquidStyle::drawComboButton(QPainter *painter, int x, int y, int w, int h,
(
edit &&
- ((QWidget *) painter-> device ( ))-> inherits ( "QComboBox" ) &&
+ ((QWidget *) painter-> device ( ))-> inherits ( "QComboBox" ) &&
( qApp-> focusWidget ( ) == ((QComboBox *) painter->device())->lineEdit ( ) ||
qApp-> focusWidget ( ) == ((QComboBox *) painter->device())->listBox ( ))
@@ -1414,9 +1418,9 @@ void LiquidStyle::drawComboButton(QPainter *painter, int x, int y, int w, int h,
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
+ // TODO: Do custom code, don't just call drawRoundButton into a pixmap
QPixmap tmpPix(w, h);
QPainter p(&tmpPix);
@@ -1479,5 +1483,5 @@ QRect LiquidStyle::comboButtonFocusRect(int /*x*/, int /*y*/, int /*w*/, int /*h
{
return QRect ( );
-
+
// return(QRect(x+5, y+3, w-(h/3)-13, h-5));
}
@@ -1634,5 +1638,5 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb,
painter.drawTiledPixmap(sliderR.x()+8, sliderR.y()+1, sliderR.width()-16,
13, *getPixmap(HSBSliderMid));
- painter.drawPixmap(sliderR.right()-8, sliderR.y()+1,
+ painter.drawPixmap(sliderR.right()-8, sliderR.y()+1,
*getPixmap(HSBSliderBtm));
}
@@ -1641,5 +1645,5 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb,
painter.drawPixmap(sliderR.x(), sliderR.y()+1,
*getPixmap(HSBSliderTop), 0, 0, m, 13);
- painter.drawPixmap(sliderR.right()-8, sliderR.y()+1,
+ painter.drawPixmap(sliderR.right()-8, sliderR.y()+1,
*getPixmap(HSBSliderBtm), 8-m, 0, m, 13);
}
@@ -1649,5 +1653,5 @@ void LiquidStyle::drawScrollBarControls(QPainter *p, const QScrollBar *sb,
sliderR.width(), 13);
painter.drawTiledPixmap(sliderR.x()+1, sliderR.y()+2,
- sliderR.width()-2, 11,
+ sliderR.width()-2, 11,
*getPixmap(HSBSliderMid), 0, 1);
}
@@ -1977,16 +1981,16 @@ void LiquidStyle::drawArrow(QPainter *p, Qt::ArrowType type, bool on, int x,
void LiquidStyle::drawMenuBarItem(QPainter *p, int x, int y, int w, int h,
QMenuItem *mi, QColorGroup &g, bool /*enabled*/, bool active )
-{
+{
if(active){
- x -= 2; // Bug in Qt/E
+ x -= 2; // Bug in Qt/E
y -= 2;
w += 2;
h += 2;
}
-
+
QWidget *parent = (QWidget *)p->device();
p->setBrushOrigin(parent->pos());
parent->erase(x, y, w, h);
-
+
if(menuHandler->useShadowText()){
QColor shadow;
@@ -2000,5 +2004,5 @@ void LiquidStyle::drawMenuBarItem(QPainter *p, int x, int y, int w, int h,
QPixmap *dummy = 0;
-
+
if ( mi-> pixmap ( ) && !mi-> pixmap ( )-> isNull ( )) {
dummy = new QPixmap ( mi-> pixmap ( )-> size ( ));
@@ -2156,5 +2160,9 @@ static const int windowsRightBorder = 12;
if (!dis)
mode = QIconSet::Active;
- QPixmap pixmap = mi->iconSet()->pixmap(QIconSet::Small, mode);
+ QPixmap pixmap;
+ if ( mode == QIconSet::Disabled )
+ pixmap = mi->iconSet()->pixmap( QIconSet::Automatic, mode );
+ else
+ pixmap = mi->iconSet()->pixmap();
int pixw = pixmap.width();
int pixh = pixmap.height();
@@ -2237,6 +2245,5 @@ int LiquidStyle::popupMenuItemHeight(bool /*checkable*/, QMenuItem *mi,
if (mi->iconSet())
- h = QMAX(mi->iconSet()->
- pixmap(QIconSet::Small, QIconSet::Normal).height(), h);
+ h = QMAX(mi->iconSet()->pixmap().height(), h);
h = QMAX(fm.height() + 4, h);
@@ -2431,5 +2438,5 @@ void LiquidStyle::drawPanel(QPainter *p, int x, int y, int w, int h,
p->drawLine(x, y, x2, y);
p->drawLine(x, y, x, y2);
-
+
p->setPen(g.midlight());
p->drawLine(x+1, y2-1, x2-1, y2-1);
@@ -2489,9 +2496,9 @@ void LiquidStyle::intensity(QPixmap &pix, float percent)
unsigned int *data = image.depth() > 8 ? (unsigned int *)image.bits() :
(unsigned int *)image.colorTable();
-
+
bool brighten = (percent >= 0);
if(percent < 0)
percent = -percent;
-
+
if(brighten){ // keep overflow check out of loops
for(i=0; i < segColors; ++i){
@@ -2510,5 +2517,5 @@ void LiquidStyle::intensity(QPixmap &pix, float percent)
}
}
-
+
if(brighten){ // same here
for(i=0; i < pixels; ++i){