summaryrefslogtreecommitdiff
path: root/library
Side-by-side diff
Diffstat (limited to 'library') (more/less context) (show whitespace changes)
-rw-r--r--library/qpeapplication.cpp322
-rw-r--r--library/styleinterface.h68
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
@@ -66,2 +66,3 @@
#include "qpestyle.h"
+#include "styleinterface.h"
#if QT_VERSION >= 300
@@ -76,3 +77,2 @@
#include <qpe/qlibrary.h>
-#include <dlfcn.h>
#endif
@@ -107,3 +107,4 @@
-class QPEApplicationData {
+class QPEApplicationData
+{
public:
@@ -125,6 +126,8 @@ public:
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 )
+ { }
@@ -155,3 +158,4 @@ public:
-class ResourceMimeFactory : public QMimeSourceFactory {
+class ResourceMimeFactory : public QMimeSourceFactory
+{
public:
@@ -177,3 +181,4 @@ public:
r = new QImageDrag(img);
- } while (!r && sl>0);
+ }
+ while ( !r && sl > 0 );
}
@@ -202,3 +207,4 @@ static void setVolume(int t=0, int percent=-1)
}
- } break;
+ }
+ break;
}
@@ -221,3 +227,4 @@ static void setMic(int t=0, int percent=-1)
}
- } break;
+ }
+ break;
}
@@ -230,4 +237,6 @@ int qpe_sysBrightnessSteps()
#elif defined(QT_QWS_EBX)
+
return 4;
#else
+
return 255; // ?
@@ -244,2 +253,3 @@ static int& hack(int& i)
#endif
+
return i;
@@ -288,3 +298,5 @@ static void setBacklight(int bright)
#if defined(QT_QWS_EBX)
- } else if ( QFile::exists("/dev/fl") ) {
+
+ }
+ else if ( QFile::exists( "/dev/fl" ) ) {
#define FL_IOCTL_STEP_CONTRAST 100
@@ -294,3 +306,4 @@ static void setBacklight(int bright)
int bl = ( bright * steps + 127 ) / 255;
- if ( bright && !bl ) bl = 1;
+ if ( bright && !bl )
+ bl = 1;
bl = ioctl(fd, FL_IOCTL_STEP_CONTRAST, bl);
@@ -300,3 +313,6 @@ static void setBacklight(int bright)
#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 {
@@ -305,3 +321,4 @@ static void setBacklight(int bright)
unsigned char brightness;
- } FLITE_IN;
+ }
+ FLITE_IN;
# ifndef FLITE_ON
@@ -312,2 +329,3 @@ static void setBacklight(int bright)
# endif
+
int fd;
@@ -331,3 +349,5 @@ static void setBacklight(int bright)
-void qpe_setBacklight(int bright) { setBacklight(bright); }
+void qpe_setBacklight( int bright ) {
+ setBacklight( bright );
+}
@@ -360,3 +380,6 @@ public:
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 );
+ }
}
@@ -368,3 +391,7 @@ public:
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 );
+ }
}
@@ -396,3 +423,7 @@ public:
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;
@@ -574,3 +605,4 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t )
argc-=1;
- } else if ( qstrcmp(argv[a],"-preload-show")==0 ) {
+ }
+ else if ( qstrcmp( argv[ a ], "-preload-show" ) == 0 ) {
argv[a] = argv[a+1];
@@ -591,2 +623,3 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t )
#ifndef QT_NO_TRANSLATION
+
QStringList langs = Global::languageList();
@@ -690,4 +723,6 @@ void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode )
if ( mode == Normal ) {
- inputMethodDict->remove(w);
- } else {
+ inputMethodDict->remove
+ ( w );
+ }
+ else {
inputMethodDict->insert(w,(void*)mode);
@@ -699,4 +734,10 @@ class HackDialog : public QDialog
public:
- void acceptIt() { accept(); }
- void rejectIt() { reject(); }
+ void acceptIt()
+ {
+ accept();
+ }
+ void rejectIt()
+ {
+ reject();
+ }
};
@@ -723,3 +764,5 @@ public:
bool needsOk()
- { return (getWState() & WState_Reserved1 ); }
+ {
+ return ( getWState() & WState_Reserved1 );
+ }
};
@@ -766,3 +809,4 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
return TRUE;
- } else if ( ((HackWidget *)active)->needsOk() ) {
+ }
+ else if ( ( ( HackWidget * ) active ) ->needsOk() ) {
QSignal s;
@@ -770,3 +814,4 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
s.activate();
- } else {
+ }
+ else {
// do the same as with the select key: Map to the default action of the widget:
@@ -776,6 +821,8 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
}
- } 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 ) {
@@ -790,3 +837,4 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
return TRUE;
- } else if ( strcmp( argv()[0], "embeddedkonsole") != 0 ) {
+ }
+ else if ( strcmp( argv() [ 0 ], "embeddedkonsole" ) != 0 ) {
active->close();
@@ -802,2 +850,3 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
#endif
+
}
@@ -816,3 +865,4 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
}
- } else {
+ }
+ else {
// make sure our modal widget is ALWAYS on top
@@ -850,2 +900,3 @@ QPEApplication::~QPEApplication()
#endif
+
delete d;
@@ -888,7 +939,10 @@ int QPEApplication::defaultRotation()
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;
@@ -907,3 +961,4 @@ void QPEApplication::setDefaultRotation(int r)
setenv("QWS_DISPLAY", QString("Transformed:Rot%1:0").arg(r).latin1(), 1);
- } else {
+ }
+ else {
QCopEnvelope("QPE/System", "setDefaultRotation(int)") << r;
@@ -952,3 +1007,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
applyStyle();
- } else if ( msg == "setScreenSaverInterval(int)" ) {
+ }
+ else if ( msg == "setScreenSaverInterval(int)" ) {
if ( type() == GuiServer ) {
@@ -958,3 +1014,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
}
- } else if ( msg == "setScreenSaverIntervals(int,int,int)" ) {
+ }
+ else if ( msg == "setScreenSaverIntervals(int,int,int)" ) {
if ( type() == GuiServer ) {
@@ -964,3 +1021,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
}
- } else if ( msg == "setBacklight(int)" ) {
+ }
+ else if ( msg == "setBacklight(int)" ) {
if ( type() == GuiServer ) {
@@ -970,3 +1028,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
}
- } else if ( msg == "setDefaultRotation(int)" ) {
+ }
+ else if ( msg == "setDefaultRotation(int)" ) {
if ( type() == GuiServer ) {
@@ -976,15 +1035,20 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
}
- } 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;
@@ -997,3 +1061,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
d->kbgrabber = 2;
- } else if ( msg == "language(QString)" ) {
+ }
+ else if ( msg == "language(QString)" ) {
if ( type() == GuiServer ) {
@@ -1010,3 +1075,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
}
- } else if ( msg == "timeChange(QString)" ) {
+ }
+ else if ( msg == "timeChange(QString)" ) {
QString t;
@@ -1019,3 +1085,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
emit timeChanged();
- } else if ( msg == "execute(QString)" ) {
+ }
+ else if ( msg == "execute(QString)" ) {
if ( type() == GuiServer ) {
@@ -1025,3 +1092,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
}
- } else if ( msg == "execute(QString,QString)" ) {
+ }
+ else if ( msg == "execute(QString,QString)" ) {
if ( type() == GuiServer ) {
@@ -1031,3 +1099,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
}
- } else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) {
+ }
+ else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) {
if ( type() == GuiServer ) {
@@ -1039,3 +1108,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
}
- } else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) {
+ }
+ else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) {
if ( type() == GuiServer ) {
@@ -1047,3 +1117,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
}
- } else if ( msg == "clockChange(bool)" ) {
+ }
+ else if ( msg == "clockChange(bool)" ) {
int tmp;
@@ -1051,3 +1122,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
emit clockChanged( tmp );
- } else if ( msg == "weekChange(bool)" ) {
+ }
+ else if ( msg == "weekChange(bool)" ) {
int tmp;
@@ -1055,3 +1127,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
emit weekChanged( tmp );
- } else if ( msg == "setDateFormat(DateFormat)" ) {
+ }
+ else if ( msg == "setDateFormat(DateFormat)" ) {
DateFormat tmp;
@@ -1059,3 +1132,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
emit dateFormatChanged( tmp );
- } else if ( msg == "setVolume(int,int)" ) {
+ }
+ else if ( msg == "setVolume(int,int)" ) {
int t,v;
@@ -1064,3 +1138,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
emit volumeChanged( muted );
- } else if ( msg == "volumeChange(bool)" ) {
+ }
+ else if ( msg == "volumeChange(bool)" ) {
stream >> muted;
@@ -1068,3 +1143,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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;
@@ -1073,3 +1149,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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;
@@ -1077,3 +1154,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
emit micChanged( micMuted );
- } else if ( msg == "setScreenSaverMode(int)" ) {
+ }
+ else if ( msg == "setScreenSaverMode(int)" ) {
if ( type() == GuiServer ) {
@@ -1098,3 +1176,4 @@ bool QPEApplication::raiseAppropriateWindow()
QWidget *top = d->qpe_main_widget;
- if ( !top ) top =mainWidget();
+ if ( !top )
+ top = mainWidget();
if ( top && d->keep_running ) {
@@ -1103,2 +1182,3 @@ bool QPEApplication::raiseAppropriateWindow()
#ifdef Q_WS_QWS
+
if ( !d->nomaximize )
@@ -1107,2 +1187,3 @@ bool QPEApplication::raiseAppropriateWindow()
#endif
+
top->show();
@@ -1127,8 +1208,11 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
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;
@@ -1136,3 +1220,4 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
/* so that quit will quit */
- } else if ( msg == "enablePreload()" ) {
+ }
+ else if ( msg == "enablePreload()" ) {
d->preloaded = TRUE;
@@ -1140,3 +1225,4 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
/* so next quit won't quit */
- } else if ( msg == "raise()" ) {
+ }
+ else if ( msg == "raise()" ) {
d->keep_running = TRUE;
@@ -1144,3 +1230,4 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
raiseAppropriateWindow();
- } else if ( msg == "flush()" ) {
+ }
+ else if ( msg == "flush()" ) {
emit flush();
@@ -1149,5 +1236,7 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
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;
@@ -1161,6 +1250,8 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
Global::setDocument( mw, doc );
- } else if ( msg == "nextView()" ) {
+ }
+ else if ( msg == "nextView()" ) {
if ( raiseAppropriateWindow() )
emit appMessage( msg, data);
- } else {
+ }
+ else {
emit appMessage( msg, data);
@@ -1215,5 +1306,7 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
#endif
+
mw->show();
}
- } else if ( d->keep_running ) {
+ }
+ else if ( d->keep_running ) {
#ifdef Q_WS_QWS
@@ -1223,2 +1316,3 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
#endif
+
mw->show();
@@ -1254,5 +1348,7 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize )
#endif
+
mw->show();
}
- } else if ( d->keep_running ) {
+ }
+ else if ( d->keep_running ) {
#ifdef Q_WS_QWS
@@ -1262,2 +1358,3 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize )
#endif
+
mw->show();
@@ -1303,5 +1400,7 @@ void QPEApplication::internalSetStyle( const QString &style )
setStyle( new QPEStyle );
- } else {
+ }
+ else {
QStyle *s = QStyleFactory::create(style);
- if ( s ) setStyle(s);
+ if ( s )
+ setStyle( s );
}
@@ -1310,5 +1409,7 @@ void QPEApplication::internalSetStyle( const QString &style )
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 );
@@ -1333,2 +1434,39 @@ void QPEApplication::internalSetStyle( const QString &style )
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)"
@@ -1344,4 +1482,3 @@ void QPEApplication::internalSetStyle( const QString &style )
- // static QLibrary *currentlib = 0;
- static void *currentlib = 0;
+ static QLibrary *currentlib = 0;
@@ -1350,8 +1487,6 @@ void QPEApplication::internalSetStyle( const QString &style )
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" );
@@ -1363,6 +1498,4 @@ void QPEApplication::internalSetStyle( const QString &style )
- if ( currentlib ) {
- //delete currentlib;
- ::dlclose ( currentlib );
- }
+ if ( currentlib )
+ delete currentlib;
currentlib = lib;
@@ -1372,7 +1505,6 @@ void QPEApplication::internalSetStyle( const QString &style )
}
- //delete lib;
- ::dlclose ( lib );
+ delete lib;
}
- } while ( false );
}
+ while ( false );
// HACK for Qt2 only
@@ -1380,2 +1512,4 @@ void QPEApplication::internalSetStyle( const QString &style )
}
+#endif
+}
@@ -1400,3 +1534,4 @@ void QPEApplication::prepareForTermination(bool willrestart)
#ifndef SINGLE_APP
- { QCopEnvelope envelope("QPE/System", "forceQuit()"); }
+ { QCopEnvelope envelope( "QPE/System", "forceQuit()" );
+ }
processEvents(); // ensure the message goes out.
@@ -1461,5 +1596,7 @@ void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode )
if ( mode == LeftOnly ) {
- stylusDict->remove(w);
+ stylusDict->remove
+ ( w );
w->removeEventFilter(qApp);
- } else {
+ }
+ else {
stylusDict->insert(w,(void*)mode);
@@ -1518,3 +1655,4 @@ 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;
@@ -1550,3 +1688,4 @@ void QPEApplication::removeSenderFromStylusDict()
{
- stylusDict->remove((void*)sender());
+ stylusDict->remove
+ ( ( void* ) sender() );
if ( d->presswidget == sender() )
@@ -1706,4 +1845,3 @@ void qt_setMaxWindowRect(const QRect& r)
while ( w ) {
- if ( w->isVisible() && w->isMaximized() )
- {
+ if ( w->isVisible() && w->isMaximized() ) {
w->showMaximized();
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