-rw-r--r-- | noncore/styles/liquid/config.in | 2 | ||||
-rw-r--r-- | noncore/styles/liquid/liquid.cpp | 27 | ||||
-rw-r--r-- | noncore/styles/liquid/liquid.pro | 6 | ||||
-rw-r--r-- | noncore/styles/theme/othemebase.cpp | 27 |
4 files changed, 31 insertions, 31 deletions
diff --git a/noncore/styles/liquid/config.in b/noncore/styles/liquid/config.in index 23f8637..cffdb39 100644 --- a/noncore/styles/liquid/config.in +++ b/noncore/styles/liquid/config.in @@ -1,4 +1,4 @@ config LIQUID boolean "opie-liquid (Mosfet's well known Liquid GUI style from KDE)" default "y" - depends ( LIBQPE || LIBQPE-X11 ) && LIBQTAUX + depends ( LIBQPE || LIBQPE-X11 ) && LIBQTAUX && LIBOPIE2CORE diff --git a/noncore/styles/liquid/liquid.cpp b/noncore/styles/liquid/liquid.cpp index bac882c..51814e7 100644 --- a/noncore/styles/liquid/liquid.cpp +++ b/noncore/styles/liquid/liquid.cpp @@ -1,68 +1,73 @@ /*- * Copyright (C)QPL 2001 Daniel M. Duley. All rights reserved. */ // // (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 "effects.h" +#include "htmlmasks.h" +#include "embeddata.h" + +/* OPIE */ +#include <opie2/odebug.h> #include <qpe/config.h> -#include "effects.h" +using namespace Opie::Core; + +/* QT */ +#include <qmenudata.h> +#include <qapplication.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> +/* STD */ +#include <unistd.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; @@ -128,49 +133,49 @@ bool TransMenuHandler::eventFilter(QObject *obj, QEvent *ev) stripePixmap(*pix, p->colorGroup().button()); } else{ QPixmapEffect::fade(*pix, (((float)opacity)+80)*0.01, color); } pixDict.insert(p->winId(), pix); 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); } 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()); +// owarn << "Deleting menu pixmap, width " << pixDict.find(p->winId())->width() << "" << oendl; pixDict.remove(p->winId()); 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; } } return(false); } LiquidStyle::LiquidStyle() :QWindowsStyle() { setName ( "LiquidStyle" ); @@ -473,49 +478,49 @@ void LiquidStyle::drawRoundButton(QPainter *painter, const QColor &c, /*if(autoDefault){ if(supportPushDown && pushedDown){ painter->drawPixmap(x+3, y+3, tmpPix); } else{ painter->drawPixmap(x+2, y+2, tmpPix); } } else */if(supportPushDown && pushedDown) painter->drawPixmap(x+1, y+1, tmpPix); else painter->drawPixmap(x, y, tmpPix); } QPixmap* LiquidStyle::processEmbedded(const char *label, int h, int s, int v, bool blend) { QImage img(qembed_findImage(label)); img.detach(); if(img.isNull()){ // shouldn't happen, been tested - qWarning("Invalid embedded label %s", label); + owarn << "Invalid embedded label " << label << "" << oendl; return(NULL); } if(img.depth() != 32) img = img.convertDepth(32); unsigned int *data = (unsigned int *)img.bits(); int total = img.width()*img.height(); int current; QColor c; int oldH, oldS, oldV; int alpha; if(v < 235) v += 20; else v = 255; float intensity = v/255.0; for(current=0; current<total; ++current){ alpha = qAlpha(data[current]); c.setRgb(data[current]); c.hsv(&oldH, &oldS, &oldV); oldV = (int)(oldV*intensity); c.setHsv(h, s, oldV); if(blend && alpha != 255 && alpha != 0){ float srcPercent = ((float)alpha)/255.0; @@ -839,49 +844,49 @@ void LiquidStyle::polish(QWidget *w) return; } } if(w->inherits("QHeader")){ w->setMouseTracking(true); w->installEventFilter(this); } if(w-> inherits("QToolButton")) { if (w->parent()->inherits("QToolBar")) { ((QToolButton*)w)->setAutoRaise (flatTBButtons); if ( flatTBButtons ) w->setBackgroundOrigin(QWidget::ParentOrigin); } w-> installEventFilter ( this ); } if(w-> inherits("QToolBarSeparator")&&w->parent()->inherits("QToolBar")) { ((QFrame *) w)-> setFrameShape ( QFrame::NoFrame ); } if(w->ownPalette() && !w->inherits("QButton") && !w->inherits("QComboBox")){ return; } if(w->parent() && w->parent()->isWidgetType() && !((QWidget*)w->parent())-> palette().active().brush(QColorGroup::Background).pixmap()){ - qWarning("No parent pixmap for child widget %s", w->className()); + owarn << "No parent pixmap for child widget " << w->className() << "" << oendl; return; } if(!isViewport && !isViewportChild && !w->testWFlags(WType_Popup) && !( !w-> inherits("QLineEdit") && w-> parent() && w-> parent()-> isWidgetType ( ) && w-> parent()-> inherits ( "QMultiLineEdit" ))) { if(w->backgroundMode() == QWidget::PaletteBackground || w->backgroundMode() == QWidget::PaletteButton){ w->setBackgroundMode(w->parentWidget()->backgroundMode( )/*QWidget::X11ParentRelative*/); w->setBackgroundOrigin(QWidget::ParentOrigin); // w->setBackgroundMode(QWidget::NoBackground); } } if ( !w-> inherits("QFrame") || (((QFrame*) w)-> frameShape () == QFrame::NoFrame )) w-> setBackgroundOrigin ( QWidget::ParentOrigin ); else if ( w-> inherits("QFrame") ) w->setBackgroundOrigin ( QWidget::WidgetOrigin ); if ( w->parentWidget()->inherits ( "QWidgetStack" )) { w->setBackgroundOrigin ( QWidget::WidgetOrigin ); } } void LiquidStyle::unPolish(QWidget *w) { if(w->inherits("QMenuBar")){ diff --git a/noncore/styles/liquid/liquid.pro b/noncore/styles/liquid/liquid.pro index 7fe2829..767007f 100644 --- a/noncore/styles/liquid/liquid.pro +++ b/noncore/styles/liquid/liquid.pro @@ -1,19 +1,19 @@ TEMPLATE = lib -CONFIG = qt plugin embedded warn_on +CONFIG = qt plugin embedded warn_on SOURCES = liquid.cpp \ effects.cpp \ liquidset.cpp \ plugin.cpp HEADERS = liquid.h \ effects.h \ liquidset.h \ plugin.h -LIBS += -lqpe -lqtaux2 +LIBS += -lqpe -lqtaux2 -lopiecore2 INCLUDEPATH += $(OPIEDIR)/include DESTDIR = $(OPIEDIR)/plugins/styles TARGET = liquid -VERSION = 1.0.0 +VERSION = 1.0.1 include ( $(OPIEDIR)/include.pro ) diff --git a/noncore/styles/theme/othemebase.cpp b/noncore/styles/theme/othemebase.cpp index 62b3a11..7ce4e5a 100644 --- a/noncore/styles/theme/othemebase.cpp +++ b/noncore/styles/theme/othemebase.cpp @@ -1,59 +1,61 @@ /* This file is part of the KDE libraries Copyright (C) 1999 Daniel M. Duley <mosfet@kde.org> This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License version 2 as published by the Free Software Foundation. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ + #include "othemebase.h" #include "ogfxeffect.h" + +/* OPIE */ +#include <opie2/odebug.h> #include <qpe/qpeapplication.h> -//#include <kdebug.h> -//#include <klocale.h> -#include <qpe/config.h> -//#include <kglobal.h> -//#include <kglobalsettings.h> -//#include <kstddirs.h> +#include <qpe/config.h> +using namespace Opie::Core; + +/* QT */ #include <qfile.h> #include <qtextstream.h> #include <qdir.h> #include <qpainter.h> #include <qbitmap.h> -#include <stdlib.h> #include <qstringlist.h> -#include <stdio.h> +/* STD */ +#include <stdlib.h> template class QIntCache<OThemePixmap> ; static const char *widgetEntries[] = { // unsunken widgets (see header) "PushButton", "ComboBox", "HSBarSlider", "VSBarSlider", "Bevel", "ToolButton", "ScrollButton", "HScrollDeco", "VScrollDeco", "ComboDeco", "MenuItem", "Tab", "ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", // sunken widgets "PushButtonDown", "ComboBoxDown", "HSBarSliderDown", "VSBarSliderDown", "BevelDown", "ToolButtonDown", "ScrollButtonDown", "HScrollDecoDown", "VScrollDecoDown", "ComboDecoDown", "MenuItemDown", "TabDown", "SunkenArrowUp", "SunkenArrowDown", "SunkenArrowLeft", "SunkenArrowRight", // everything else "HScrollGroove", "VScrollGroove", "Slider", "SliderGroove", "CheckBoxDown", "CheckBox", "RadioDown", "Radio", "HBarHandle", "VBarHandle", "ToolBar", "Splitter", "CheckMark", "MenuBar", "DisableArrowUp", "DisableArrowDown", "DisableArrowLeft", "DisableArrowRight", "ProgressBar", "ProgressBackground", "MenuBarItem", "Background" }; #define INHERIT_ITEMS 16 @@ -241,82 +243,75 @@ void OThemeBase::copyWidgetConfig( int sourceID, int destID, QString *pixnames, } void OThemeBase::readConfig( Qt::GUIStyle /*style*/ ) { #define PREBLEND_ITEMS 12 static WidgetType preBlend[] = {Slider, IndicatorOn, IndicatorOff, ExIndicatorOn, ExIndicatorOff, HScrollDeco, VScrollDeco, HScrollDecoDown, VScrollDecoDown, ComboDeco, ComboDecoDown, CheckMark}; int i; QString tmpStr; QString copyfrom[ WIDGETS ]; QString pixnames[ WIDGETS ]; // used for duplicate check QString brdnames[ WIDGETS ]; bool loaded[ WIDGETS ]; // used for preloading for CopyWidget if ( configFileName.isEmpty() ) { Config cfg ( "qpe" ); cfg. setGroup ( "Appearance" ); configFileName = cfg. readEntry ( "Theme", "default" ); } Config config( configFilePath + "/themes/" + configFileName + ".themerc" , Config::File ); -// printf ( "Opened config file: %s\n", ( configFilePath + "/themes/" + configFileName + ".themerc" ). ascii()); - // Are we initalized? applyMiscResourceGroup( &config ); for ( i = 0; i < INHERIT_ITEMS; ++i ) { applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); -// printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); } for ( ; i < INHERIT_ITEMS*2; ++i ) { if ( config.hasGroup( QString( widgetEntries[ i ] ) ) ) { applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); -// printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); } else { copyfrom [ i ] = widgetEntries[ i - INHERIT_ITEMS ]; -// printf ( "%d [%s]: copy=%s\n", i, widgetEntries [i], copyfrom [i].latin1()); } } for ( ; i < WIDGETS; ++i ) { applyResourceGroup( &config, i, copyfrom, pixnames, brdnames ); -// printf ( "%d [%s]: copy=%s, pix=%s, brd=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1() ); } // initalize defaults that may not be read for ( i = 0; i < WIDGETS; ++i ) loaded[ i ] = false; btnXShift = btnYShift = focus3DOffset = 0; aTabLine = iTabLine = true; roundedButton = roundedCombo = roundedSlider = focus3D = false; splitterWidth = 10; for ( i = 0; i < WIDGETS; ++i ) { readResourceGroup( i, copyfrom, pixnames, brdnames, loaded ); -// printf ( "%d [%s]: copy=%s, pix=%s, brd=%s, colors=%s\n", i, widgetEntries [i], copyfrom [i].latin1(), pixnames[i].latin1(),brdnames[i].latin1(), (colors[i]?colors[i]->background().name().latin1():"<none)" )); } // misc items readMiscResourceGroup(); // Handle preblend items for ( i = 0; i < PREBLEND_ITEMS; ++i ) { if ( pixmaps[ preBlend[ i ] ] != NULL && blends[ preBlend[ i ] ] != 0.0 ) blend( preBlend[ i ] ); } } OThemeBase::OThemeBase( const QString & configFile ) : QWindowsStyle() { configFilePath = QPEApplication::qpeDir ( ) + "/plugins/styles/"; configFileName = configFile; readConfig( Qt::WindowsStyle ); cache = new OThemeCache( cacheSize ); } void OThemeBase::applyConfigFile( const QString &/*file*/ ) { @@ -386,49 +381,49 @@ QImage* OThemeBase::loadImage( QString &name ) OThemePixmap* OThemeBase::loadPixmap( QString &name ) { OThemePixmap * pixmap = new OThemePixmap( false ); QString path = configFilePath + "/pixmaps/" + name; pixmap->load( path ); if ( !pixmap->isNull() ) return pixmap; qDebug ( "OThemeBase: Unable to load pixmap %s\n", name.ascii() ); delete pixmap; return ( NULL ); } OThemePixmap* OThemeBase::scale( int w, int h, WidgetType widget ) { if ( scaleHints[ widget ] == FullScale ) { if ( !pixmaps[ widget ] || pixmaps[ widget ] ->width() != w || pixmaps[ widget ] ->height() != h ) { OThemePixmap * cachePix = cache->pixmap( w, h, widget ); if ( cachePix ) { cachePix = new OThemePixmap( *cachePix ); if ( pixmaps[ widget ] ) cache->insert( pixmaps[ widget ], OThemeCache::FullScale, widget ); else - qDebug( "We would have inserted a null pixmap!\n" ); + odebug << "We would have inserted a null pixmap!\n" << oendl; pixmaps[ widget ] = cachePix; } else { cache->insert( pixmaps[ widget ], OThemeCache::FullScale, widget ); QImage tmpImg = images[ widget ] ->smoothScale( w, h ); pixmaps[ widget ] = new OThemePixmap; pixmaps[ widget ] ->convertFromImage( tmpImg ); if ( blends[ widget ] != 0.0 ) blend( widget ); } } } else if ( scaleHints[ widget ] == HorizontalScale ) { if ( pixmaps[ widget ] ->width() != w ) { OThemePixmap * cachePix = cache->horizontalPixmap( w, widget ); if ( cachePix ) { cachePix = new OThemePixmap( *cachePix ); if ( pixmaps[ widget ] ) cache->insert( pixmaps[ widget ], OThemeCache::HorizontalScale, widget ); else qDebug ( "We would have inserted a null pixmap!\n" ); pixmaps[ widget ] = cachePix; } else { |