author | sandman <sandman> | 2002-07-06 16:42:29 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-07-06 16:42:29 (UTC) |
commit | 3a422983abc7342c9229dccac825d0608fca10f3 (patch) (side-by-side diff) | |
tree | fd0d71eab4df0b286b78efe24184525ae4c819a3 /library | |
parent | 8beb5fcdbca8110dc586a7e620bf8eae892087fb (diff) | |
download | opie-3a422983abc7342c9229dccac825d0608fca10f3.zip opie-3a422983abc7342c9229dccac825d0608fca10f3.tar.gz opie-3a422983abc7342c9229dccac825d0608fca10f3.tar.bz2 |
Complete renovation of the external style API:
- created two QCom interfaces in "styleinterface.h"
- moved the liquid/theme settings apps into the plugins
- modified the plugin interface for all three styles
- extended appearance to fully support the new API (replaces the
settings apps)
Additional work:
- made a workaround in appearance for a Qt Bug -- now a QDialog again
(this should really be fixed in Qt, but Z won't work that way)
-rw-r--r-- | library/qpeapplication.cpp | 322 | ||||
-rw-r--r-- | library/styleinterface.h | 68 |
2 files changed, 298 insertions, 92 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp index dff8235..187a7e2 100644 --- a/library/qpeapplication.cpp +++ b/library/qpeapplication.cpp @@ -64,6 +64,7 @@ #include <qsignal.h> #include "qpeapplication.h" #include "qpestyle.h" +#include "styleinterface.h" #if QT_VERSION >= 300 #include <qstylefactory.h> #else @@ -74,7 +75,6 @@ #include "lightstyle.h" #include <qpe/qlibrary.h> -#include <dlfcn.h> #endif #include "global.h" #include "resource.h" @@ -105,7 +105,8 @@ #include <stdlib.h> -class QPEApplicationData { +class QPEApplicationData +{ public: QPEApplicationData() : presstimer(0), presswidget(0), rightpressed(FALSE), kbgrabber(0), kbregrab(FALSE), notbusysent(FALSE), preloaded(FALSE), @@ -123,10 +124,12 @@ public: bool kbregrab; bool notbusysent; QString appName; - struct QCopRec { + struct QCopRec + { QCopRec(const QCString &ch, const QCString &msg, const QByteArray &d) : - channel(ch), message(msg), data(d) { } + channel( ch ), message( msg ), data( d ) + { } QCString channel; QCString message; @@ -153,7 +156,8 @@ public: } }; -class ResourceMimeFactory : public QMimeSourceFactory { +class ResourceMimeFactory : public QMimeSourceFactory +{ public: ResourceMimeFactory() { @@ -175,7 +179,8 @@ public: QImage img = Resource::loadImage(name); if ( !img.isNull() ) r = new QImageDrag(img); - } while (!r && sl>0); + } + while ( !r && sl > 0 ); } return r; } @@ -200,7 +205,8 @@ static void setVolume(int t=0, int percent=-1) ioctl(fd, MIXER_WRITE(0), &vol); ::close(fd); } - } break; + } + break; } } @@ -219,7 +225,8 @@ static void setMic(int t=0, int percent=-1) ioctl(fd, MIXER_WRITE(SOUND_MIXER_MIC), &mic); ::close(fd); } - } break; + } + break; } } @@ -228,8 +235,10 @@ int qpe_sysBrightnessSteps() #if defined(QT_QWS_IPAQ) return 255; #elif defined(QT_QWS_EBX) + return 4; #else + return 255; // ? #endif } @@ -242,6 +251,7 @@ static int& hack(int& i) (void)new QUtf8Codec; (void)new QUtf16Codec; #endif + return i; } @@ -286,30 +296,38 @@ static void setBacklight(int bright) cmd += QString::number(bright); system(cmd.latin1()); #if defined(QT_QWS_EBX) - } else if ( QFile::exists("/dev/fl") ) { + + } + else if ( QFile::exists( "/dev/fl" ) ) { #define FL_IOCTL_STEP_CONTRAST 100 int fd = open("/dev/fl", O_WRONLY); if (fd >= 0 ) { int steps = qpe_sysBrightnessSteps(); int bl = ( bright * steps + 127 ) / 255; - if ( bright && !bl ) bl = 1; + if ( bright && !bl ) + bl = 1; bl = ioctl(fd, FL_IOCTL_STEP_CONTRAST, bl); close(fd); } } #elif defined(QT_QWS_IPAQ) - } else if ( QFile::exists("/dev/ts") || QFile::exists("/dev/h3600_ts") ) { + + } + else if ( QFile::exists( "/dev/ts" ) || QFile::exists( "/dev/h3600_ts" ) ) + { typedef struct { unsigned char mode; unsigned char pwr; unsigned char brightness; - } FLITE_IN; + } + FLITE_IN; # ifndef FLITE_ON # ifndef _LINUX_IOCTL_H # include <linux/ioctl.h> # endif # define FLITE_ON _IOW('f', 7, FLITE_IN) # endif + int fd; if ( QFile::exists("/dev/ts") ) fd = open("/dev/ts", O_WRONLY); @@ -329,7 +347,9 @@ static void setBacklight(int bright) curbl = bright; } -void qpe_setBacklight(int bright) { setBacklight(bright); } +void qpe_setBacklight( int bright ) { + setBacklight( bright ); +} static bool dim_on = FALSE; static bool lightoff_on = FALSE; @@ -358,7 +378,10 @@ public: LcdOn = TRUE; // Make sure the LCD is in fact on, (if opie was killed while the LCD is off it would still be off) fd=open("/dev/fb0",O_RDWR); - if (fd != -1) { ioctl(fd,FBIOBLANK,VESA_NO_BLANKING); close(fd); } + if ( fd != -1 ) { + ioctl( fd, FBIOBLANK, VESA_NO_BLANKING ); + close( fd ); + } } void restore() { @@ -366,7 +389,11 @@ public: { int fd; fd=open("/dev/fb0",O_RDWR); - if (fd != -1) { ioctl(fd,FBIOBLANK,VESA_NO_BLANKING); close(fd); } + if ( fd != -1 ) + { + ioctl( fd, FBIOBLANK, VESA_NO_BLANKING ); + close( fd ); + } } setBacklight(-1); } @@ -394,7 +421,11 @@ public: if (config.readNumEntry("LcdOffOnly",0) != 0) // We're only turning off the LCD { fd=open("/dev/fb0",O_RDWR); - if (fd != -1) { ioctl(fd,FBIOBLANK,VESA_POWERDOWN); close(fd); } + if ( fd != -1 ) + { + ioctl( fd, FBIOBLANK, VESA_POWERDOWN ); + close( fd ); + } LcdOn = FALSE; } else // We're going to suspend the whole machine @@ -572,7 +603,8 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t ) a++; d->preloaded = TRUE; argc-=1; - } else if ( qstrcmp(argv[a],"-preload-show")==0 ) { + } + else if ( qstrcmp( argv[ a ], "-preload-show" ) == 0 ) { argv[a] = argv[a+1]; a++; d->preloaded = TRUE; @@ -589,6 +621,7 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t ) qwsSetDecoration( new QPEDecoration() ); #ifndef QT_NO_TRANSLATION + QStringList langs = Global::languageList(); for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) { QString lang = *it; @@ -688,8 +721,10 @@ void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode ) { createInputMethodDict(); if ( mode == Normal ) { - inputMethodDict->remove(w); - } else { + inputMethodDict->remove + ( w ); + } + else { inputMethodDict->insert(w,(void*)mode); } } @@ -697,8 +732,14 @@ void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode ) class HackDialog : public QDialog { public: - void acceptIt() { accept(); } - void rejectIt() { reject(); } + void acceptIt() + { + accept(); + } + void rejectIt() + { + reject(); + } }; @@ -721,7 +762,9 @@ class HackWidget : public QWidget { public: bool needsOk() - { return (getWState() & WState_Reserved1 ); } + { + return ( getWState() & WState_Reserved1 ); + } }; /*! @@ -764,20 +807,24 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e ) HackDialog *d = (HackDialog *)active; d->acceptIt(); return TRUE; - } else if ( ((HackWidget *)active)->needsOk() ) { + } + else if ( ( ( HackWidget * ) active ) ->needsOk() ) { QSignal s; s.connect( active, SLOT( accept() ) ); s.activate(); - } else { + } + else { // do the same as with the select key: Map to the default action of the widget: mapToDefaultAction( ke, Qt::Key_Return ); } } } - } else if ( ke->simpleData.keycode == Qt::Key_F30 ) { + } + else if ( ke->simpleData.keycode == Qt::Key_F30 ) { // Use special "select" key to do whatever default action a widget has mapToDefaultAction( ke, Qt::Key_Space ); - } else if ( ke->simpleData.keycode == Qt::Key_Escape && + } + else if ( ke->simpleData.keycode == Qt::Key_Escape && ke->simpleData.is_press ) { // Escape key closes app if focus on toplevel QWidget *active = activeWindow(); @@ -788,7 +835,8 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e ) HackDialog *d = (HackDialog *)active; d->rejectIt(); return TRUE; - } else if ( strcmp( argv()[0], "embeddedkonsole") != 0 ) { + } + else if ( strcmp( argv() [ 0 ], "embeddedkonsole" ) != 0 ) { active->close(); } } @@ -800,6 +848,7 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e ) if ( ((QWSKeyEvent *)e)->simpleData.keycode == Qt::Key_F4 ) return TRUE; #endif + } if ( e->type == QWSEvent::Focus ) { QWSFocusEvent *fe = (QWSFocusEvent*)e; @@ -814,7 +863,8 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e ) ungrabKeyboard(); d->kbregrab = TRUE; // want kb back when we're active } - } else { + } + else { // make sure our modal widget is ALWAYS on top QWidget *topm = activeModalWidget(); if ( topm ) { @@ -848,6 +898,7 @@ QPEApplication::~QPEApplication() delete sysChannel; delete pidChannel; #endif + delete d; } @@ -886,11 +937,14 @@ int QPEApplication::defaultRotation() QString d = getenv("QWS_DISPLAY"); if ( d.contains("Rot90") ) { deforient = 90; - } else if ( d.contains("Rot180") ) { + } + else if ( d.contains( "Rot180" ) ) { deforient = 180; - } else if ( d.contains("Rot270") ) { + } + else if ( d.contains( "Rot270" ) ) { deforient = 270; - } else { + } + else { deforient=0; } } @@ -905,7 +959,8 @@ void QPEApplication::setDefaultRotation(int r) if ( qApp->type() == GuiServer ) { deforient = r; setenv("QWS_DISPLAY", QString("Transformed:Rot%1:0").arg(r).latin1(), 1); - } else { + } + else { QCopEnvelope("QPE/System", "setDefaultRotation(int)") << r; } } @@ -950,43 +1005,52 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data) QDataStream stream( data, IO_ReadOnly ); if ( msg == "applyStyle()" ) { applyStyle(); - } else if ( msg == "setScreenSaverInterval(int)" ) { + } + else if ( msg == "setScreenSaverInterval(int)" ) { if ( type() == GuiServer ) { int time; stream >> time; setScreenSaverInterval(time); } - } else if ( msg == "setScreenSaverIntervals(int,int,int)" ) { + } + else if ( msg == "setScreenSaverIntervals(int,int,int)" ) { if ( type() == GuiServer ) { int t1,t2,t3; stream >> t1 >> t2 >> t3; setScreenSaverIntervals(t1,t2,t3); } - } else if ( msg == "setBacklight(int)" ) { + } + else if ( msg == "setBacklight(int)" ) { if ( type() == GuiServer ) { int bright; stream >> bright; setBacklight(bright); } - } else if ( msg == "setDefaultRotation(int)" ) { + } + else if ( msg == "setDefaultRotation(int)" ) { if ( type() == GuiServer ) { int r; stream >> r; setDefaultRotation(r); } - } else if ( msg == "shutdown()" ) { + } + else if ( msg == "shutdown()" ) { if ( type() == GuiServer ) shutdown(); - } else if ( msg == "quit()" ) { + } + else if ( msg == "quit()" ) { if ( type() != GuiServer ) tryQuit(); - } else if ( msg == "forceQuit()" ) { + } + else if ( msg == "forceQuit()" ) { if ( type() != GuiServer ) quit(); - } else if ( msg == "restart()" ) { + } + else if ( msg == "restart()" ) { if ( type() == GuiServer ) restart(); - } else if ( msg == "grabKeyboard(QString)" ) { + } + else if ( msg == "grabKeyboard(QString)" ) { QString who; stream >> who; if ( who.isEmpty() ) @@ -995,7 +1059,8 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data) d->kbgrabber = 1; else d->kbgrabber = 2; - } else if ( msg == "language(QString)" ) { + } + else if ( msg == "language(QString)" ) { if ( type() == GuiServer ) { QString l; stream >> l; @@ -1008,7 +1073,8 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data) restart(); } } - } else if ( msg == "timeChange(QString)" ) { + } + else if ( msg == "timeChange(QString)" ) { QString t; stream >> t; if ( t.isNull() ) @@ -1017,19 +1083,22 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data) setenv( "TZ", t.latin1(), 1 ); // emit the signal so everyone else knows... emit timeChanged(); - } else if ( msg == "execute(QString)" ) { + } + else if ( msg == "execute(QString)" ) { if ( type() == GuiServer ) { QString t; stream >> t; Global::execute( t ); } - } else if ( msg == "execute(QString,QString)" ) { + } + else if ( msg == "execute(QString,QString)" ) { if ( type() == GuiServer ) { QString t,d; stream >> t >> d; Global::execute( t, d ); } - } else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) { + } + else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) { if ( type() == GuiServer ) { QDateTime when; QCString channel, message; @@ -1037,7 +1106,8 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data) stream >> when >> channel >> message >> data; AlarmServer::addAlarm( when, channel, message, data ); } - } else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) { + } + else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) { if ( type() == GuiServer ) { QDateTime when; QCString channel, message; @@ -1045,37 +1115,45 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data) stream >> when >> channel >> message >> data; AlarmServer::deleteAlarm( when, channel, message, data ); } - } else if ( msg == "clockChange(bool)" ) { + } + else if ( msg == "clockChange(bool)" ) { int tmp; stream >> tmp; emit clockChanged( tmp ); - } else if ( msg == "weekChange(bool)" ) { + } + else if ( msg == "weekChange(bool)" ) { int tmp; stream >> tmp; emit weekChanged( tmp ); - } else if ( msg == "setDateFormat(DateFormat)" ) { + } + else if ( msg == "setDateFormat(DateFormat)" ) { DateFormat tmp; stream >> tmp; emit dateFormatChanged( tmp ); - } else if ( msg == "setVolume(int,int)" ) { + } + else if ( msg == "setVolume(int,int)" ) { int t,v; stream >> t >> v; setVolume(t,v); emit volumeChanged( muted ); - } else if ( msg == "volumeChange(bool)" ) { + } + else if ( msg == "volumeChange(bool)" ) { stream >> muted; setVolume(); emit volumeChanged( muted ); - } else if ( msg == "setMic(int,int)") { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> + } + else if ( msg == "setMic(int,int)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> int t,v; stream >> t >> v; setMic(t,v); emit micChanged( micMuted ); - } else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> + } + else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> stream >> micMuted; setMic(); emit micChanged( micMuted ); - } else if ( msg == "setScreenSaverMode(int)" ) { + } + else if ( msg == "setScreenSaverMode(int)" ) { if ( type() == GuiServer ) { int old = disable_suspend; stream >> disable_suspend; @@ -1096,15 +1174,18 @@ bool QPEApplication::raiseAppropriateWindow() // ########## raise()ing main window should raise and set active // ########## it and then all childen. This belongs in Qt/Embedded QWidget *top = d->qpe_main_widget; - if ( !top ) top =mainWidget(); + if ( !top ) + top = mainWidget(); if ( top && d->keep_running ) { if ( top->isVisible() ) r = TRUE; #ifdef Q_WS_QWS + if ( !d->nomaximize ) top->showMaximized(); else #endif + top->show(); top->raise(); top->setActiveWindow(); @@ -1125,31 +1206,39 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data) if ( msg == "quit()" ) { tryQuit(); - } else if ( msg == "quitIfInvisible()" ) { + } + else if ( msg == "quitIfInvisible()" ) { if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() ) quit(); - } else if ( msg == "close()" ) { + } + else if ( msg == "close()" ) { hideOrQuit(); - } else if ( msg == "disablePreload()" ) { + } + else if ( msg == "disablePreload()" ) { d->preloaded = FALSE; d->keep_running = TRUE; /* so that quit will quit */ - } else if ( msg == "enablePreload()" ) { + } + else if ( msg == "enablePreload()" ) { d->preloaded = TRUE; d->keep_running = TRUE; /* so next quit won't quit */ - } else if ( msg == "raise()" ) { + } + else if ( msg == "raise()" ) { d->keep_running = TRUE; d->notbusysent = FALSE; raiseAppropriateWindow(); - } else if ( msg == "flush()" ) { + } + else if ( msg == "flush()" ) { emit flush(); // we need to tell the desktop QCopEnvelope e( "QPE/Desktop", "flushDone(QString)" ); e << d->appName; - } else if ( msg == "reload()" ) { + } + else if ( msg == "reload()" ) { emit reload(); - } else if ( msg == "setDocument(QString)" ) { + } + else if ( msg == "setDocument(QString)" ) { d->keep_running = TRUE; QDataStream stream( data, IO_ReadOnly ); QString doc; @@ -1159,10 +1248,12 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data) mw = d->qpe_main_widget; if ( mw ) Global::setDocument( mw, doc ); - } else if ( msg == "nextView()" ) { + } + else if ( msg == "nextView()" ) { if ( raiseAppropriateWindow() ) emit appMessage( msg, data); - } else { + } + else { emit appMessage( msg, data); } #endif @@ -1213,14 +1304,17 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize ) mw->showMaximized(); else #endif + mw->show(); } - } else if ( d->keep_running ) { + } + else if ( d->keep_running ) { #ifdef Q_WS_QWS if ( !nomaximize ) mw->showMaximized(); else #endif + mw->show(); } } @@ -1252,14 +1346,17 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize ) mw->showMaximized(); else #endif + mw->show(); } - } else if ( d->keep_running ) { + } + else if ( d->keep_running ) { #ifdef Q_WS_QWS if ( !nomaximize ) mw->showMaximized(); else #endif + mw->show(); } } @@ -1301,16 +1398,20 @@ void QPEApplication::internalSetStyle( const QString &style ) #if QT_VERSION >= 300 if ( style == "QPE" ) { setStyle( new QPEStyle ); - } else { + } + else { QStyle *s = QStyleFactory::create(style); - if ( s ) setStyle(s); + if ( s ) + setStyle( s ); } #else if ( style == "Windows" ) { setStyle( new QWindowsStyle ); - } else if ( style == "QPE" ) { + } + else if ( style == "QPE" ) { setStyle( new QPEStyle ); - } else if ( style == "Light" ) { + } + else if ( style == "Light" ) { setStyle( new LightStyle ); } #ifndef QT_NO_STYLE_PLATINUM @@ -1331,6 +1432,43 @@ void QPEApplication::internalSetStyle( const QString &style ) // HACK for Qt2 only else { + QStyle *sty = 0; + QString path = QPEApplication::qpeDir ( ) + "/plugins/styles/lib" + style. lower ( ) + ".so"; + + static QLibrary *lastlib = 0; + static StyleInterface *lastiface = 0; + + QLibrary *lib = new QLibrary ( path ); + StyleInterface *iface = 0; + + if ( lib-> queryInterface ( IID_Style, ( QUnknownInterface ** ) &iface ) == QS_OK ) + sty = iface-> create ( ); + + if ( sty ) { + setStyle ( sty ); + + qDebug ( "Got Style: %p -- iface: %p, lib: %p\n", sty, iface, lib ); + + if ( lastiface ) + lastiface-> release ( ); + lastiface = iface; + + + if ( lastlib ) { + lastlib-> unload ( ); + delete lastlib; + } + lastlib = lib; + } + else { + if ( iface ) + iface-> release ( ); + delete lib; + + setStyle ( new QPEStyle ( )); + } + +#if 0 // style == "Liquid Style (libliquid.so)" (or "Windows XP (libxp.so)" int p2 = style. findRev ( ']' ); @@ -1342,18 +1480,15 @@ void QPEApplication::internalSetStyle( const QString &style ) else style2 = "lib" + style. lower ( ) + ".so"; - // static QLibrary *currentlib = 0; - static void *currentlib = 0; + static QLibrary *currentlib = 0; QString path = QPEApplication::qpeDir ( ) + "/plugins/styles/" + style2; do { // try/catch simulation - // QLibrary *lib = new QLibrary ( path, QLibrary::Immediately ); - void *lib = ::dlopen ( path. local8Bit ( ), RTLD_LAZY | RTLD_GLOBAL ); + QLibrary *lib = new QLibrary ( path, QLibrary::Immediately ); if ( lib ) { - //QStyle * (*fpa) ( ) = (QStyle * (*) ( )) lib-> resolve ( "allocate" ); - QStyle * (*fpa) ( ) = (QStyle * (*) ( )) ::dlsym ( lib, "allocate" ); + QStyle * ( *fpa ) ( ) = ( QStyle * ( * ) ( ) ) lib-> resolve ( "allocate" ); if ( fpa ) { QStyle *sty = ( *fpa ) ( ); @@ -1361,23 +1496,22 @@ void QPEApplication::internalSetStyle( const QString &style ) if ( sty ) { setStyle ( sty ); - if ( currentlib ) { - //delete currentlib; - ::dlclose ( currentlib ); - } + if ( currentlib ) + delete currentlib; currentlib = lib; break; } } - //delete lib; - ::dlclose ( lib ); + delete lib; } - } while ( false ); } + while ( false ); // HACK for Qt2 only #endif } +#endif +} /*! \internal @@ -1398,7 +1532,8 @@ void QPEApplication::prepareForTermination(bool willrestart) lblWait->showMaximized(); } #ifndef SINGLE_APP - { QCopEnvelope envelope("QPE/System", "forceQuit()"); } + { QCopEnvelope envelope( "QPE/System", "forceQuit()" ); + } processEvents(); // ensure the message goes out. sleep(1); // You have 1 second to comply. #endif @@ -1459,9 +1594,11 @@ void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode ) { createDict(); if ( mode == LeftOnly ) { - stylusDict->remove(w); + stylusDict->remove + ( w ); w->removeEventFilter(qApp); - } else { + } + else { stylusDict->insert(w,(void*)mode); connect(w,SIGNAL(destroyed()),qApp,SLOT(removeSenderFromStylusDict())); w->installEventFilter(qApp); @@ -1516,7 +1653,8 @@ bool QPEApplication::eventFilter( QObject *o, QEvent *e ) ; } } - } else if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { + } + else if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { QKeyEvent *ke = (QKeyEvent *)e; if ( ke->key() == Key_Enter ) { if ( o->isA( "QRadioButton" ) || o->isA( "QCheckBox" ) ) { @@ -1548,7 +1686,8 @@ void QPEApplication::timerEvent( QTimerEvent *e ) void QPEApplication::removeSenderFromStylusDict() { - stylusDict->remove((void*)sender()); + stylusDict->remove + ( ( void* ) sender() ); if ( d->presswidget == sender() ) d->presswidget = 0; } @@ -1704,8 +1843,7 @@ void qt_setMaxWindowRect(const QRect& r) if ( l ) { QWidget *w = l->first(); while ( w ) { - if ( w->isVisible() && w->isMaximized() ) - { + if ( w->isVisible() && w->isMaximized() ) { w->showMaximized(); } w = l->next(); diff --git a/library/styleinterface.h b/library/styleinterface.h new file mode 100644 index 0000000..9fea636 --- a/dev/null +++ b/library/styleinterface.h @@ -0,0 +1,68 @@ +/********************************************************************** +** Copyright (C) 2002 Robert Griebl. All rights reserved. +** +** This file is part of OPIE (http://www.opie.info). +** +** This file may be distributed and/or modified under the terms of the +** GNU General Public License version 2 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the +** packaging of this file. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +**********************************************************************/ + +#ifndef STYLEINTERFACE_H +#define STYLEINTERFACE_H + +#include <qpe/qcom.h> + +#ifndef QT_NO_COMPONENT + +// {6C33B4F9-D529-453A-8FB3-DA42B21872BD} +# ifndef IID_Style +# define IID_Style QUuid( 0x6c33b4f9, 0xd529, 0x453a, 0x8f, 0xb3, 0xda, 0x42, 0xb2, 0x18, 0x72, 0xbd) +#endif + +// {9757A252-3FD4-438F-A756-80BE4A9FB8DC} +# ifndef IID_StyleSettings +# define IID_StyleSettings QUuid( 0x9757a252, 0x3fd4, 0x438f, 0xa7, 0x56, 0x80, 0xbe, 0x4a, 0x9f, 0xb8, 0xdc) +# endif + +#endif + +class QWidget; +class QStyle; + +struct StyleInterface : public QUnknownInterface +{ + //! Return a new style. + virtual QStyle *create ( ) = 0; + + //! Return a (longer) description for the style. + virtual QString description ( ) = 0; + + //! Return a short name for the style. + virtual QString name ( ) = 0; + + //! Return the library basename (libliquid.so => liquid) + virtual QCString key ( ) = 0; + + //! QT_VERSION like 1.2.3 == 123 + virtual unsigned int version ( ) = 0; +}; + +struct StyleSettingsInterface : public QUnknownInterface +{ + //! Return a new settings page. + virtual QWidget *create ( QWidget *parent, const char *name = 0 ) = 0; + + //! Callback for appearance app when OK is clicked (return true when style has to re-applied). + virtual bool accept ( ) = 0; + + //! Callback for appeaeance app when Cancel is clicked. + virtual void reject ( ) = 0; +}; + +#endif |