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 | |
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)
28 files changed, 705 insertions, 309 deletions
@@ -50,9 +50,7 @@ NONCORESETTINGS =noncore/settings/language noncore/settings/rotation \ NONCORETOOLS = noncore/tools/calculator noncore/tools/clock \ noncore/tools/remote noncore/tools/opie-sh noncore/apps/advancedfm -NONCORESTYLES = noncore/styles/liquid noncore/styles/liquid/settings \ - noncore/styles/theme noncore/styles/theme/settings \ - noncore/styles/metal +NONCORESTYLES = noncore/styles/liquid noncore/styles/theme noncore/styles/metal GAMES = noncore/games/minesweep noncore/games/solitaire \ noncore/games/tetrix noncore/games/wordgame \ diff --git a/apps/Settings/Liquid.desktop b/apps/Settings/Liquid.desktop deleted file mode 100644 index 8a1727f..0000000 --- a/apps/Settings/Liquid.desktop +++ b/dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Type=Application -Exec=liquid-settings -Icon=liquid/Liquid -Name=Liquid-Settings -Name[de]=Liquid-Einstellungen - diff --git a/apps/Settings/Theme.desktop b/apps/Settings/Theme.desktop deleted file mode 100644 index 197184f..0000000 --- a/apps/Settings/Theme.desktop +++ b/dev/null @@ -1,7 +0,0 @@ -[Desktop Entry] -Type=Application -Exec=theme-settings -Icon=theme/Theme -Name=Theme-Settings -Name[de]=Thema-Einstellungen - 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 diff --git a/noncore/styles/liquid/liquid.pro b/noncore/styles/liquid/liquid.pro index 23dce09..a07eaf2 100644 --- a/noncore/styles/liquid/liquid.pro +++ b/noncore/styles/liquid/liquid.pro @@ -3,11 +3,15 @@ CONFIG = qt embedded release warn_on SOURCES = liquid.cpp \ liquiddeco.cpp \ effects.cpp \ + liquidset.cpp \ plugin.cpp HEADERS = liquid.h \ liquiddeco.h \ - effects.h + effects.h \ + liquidset.h \ + plugin.h + LIBS += -lqpe INCLUDEPATH += $(OPIEDIR)/include DESTDIR = $(OPIEDIR)/plugins/styles diff --git a/noncore/styles/liquid/settings/liquidset.cpp b/noncore/styles/liquid/liquidset.cpp index 1479ac0..5ae19ba 100644 --- a/noncore/styles/liquid/settings/liquidset.cpp +++ b/noncore/styles/liquid/liquidset.cpp @@ -21,7 +21,7 @@ #include "liquidset.h" -#include "../liquid.h" +#include "liquid.h" #include <qpe/qpeapplication.h> #include <qpe/global.h> @@ -57,8 +57,8 @@ static void changeButtonColor ( QWidget *btn, const QColor &col ) } -LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl ) - : QDialog ( parent, name, fl ) +LiquidSettings::LiquidSettings ( QWidget* parent, const char *name, WFlags fl ) + : QWidget ( parent, name, fl ) { setCaption ( tr( "Liquid Style" ) ); @@ -122,7 +122,7 @@ LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl ) QPopupMenu *popup; - popup = new ColorPopupMenu ( m_menucol, this ); + popup = new ColorPopupMenu ( m_menucol, 0 ); m_menubtn-> setPopup ( popup ); m_menubtn-> setPopupDelay ( 0 ); connect ( popup, SIGNAL( colorSelected ( const QColor & )), this, SLOT( changeMenuColor ( const QColor & ))); @@ -131,7 +131,7 @@ LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl ) m_textbtn = new QToolButton ( this ); grid-> addWidget ( m_textbtn, 0, 5 ); - popup = new ColorPopupMenu ( m_textcol, this ); + popup = new ColorPopupMenu ( m_textcol, 0 ); m_textbtn-> setPopup ( popup ); m_textbtn-> setPopupDelay ( 0 ); connect ( popup, SIGNAL( colorSelected ( const QColor & )), this, SLOT( changeTextColor ( const QColor & ))); @@ -176,7 +176,7 @@ LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl ) connect ( windeco, SIGNAL( toggled ( bool ) ), this, SLOT( changeDeco ( bool ) ) ); } -void LiquidSet::changeType ( int t ) +void LiquidSettings::changeType ( int t ) { bool custom = ( t == Custom ); @@ -190,30 +190,30 @@ void LiquidSet::changeType ( int t ) m_type = t; } -void LiquidSet::changeMenuColor ( const QColor &col ) +void LiquidSettings::changeMenuColor ( const QColor &col ) { changeButtonColor ( m_menubtn, col ); m_menucol = col; } -void LiquidSet::changeTextColor ( const QColor &col ) +void LiquidSettings::changeTextColor ( const QColor &col ) { changeButtonColor ( m_textbtn, col ); m_textcol = col; } -void LiquidSet::changeShadow ( bool b ) +void LiquidSettings::changeShadow ( bool b ) { m_shadow = b; } -void LiquidSet::changeDeco ( bool b ) +void LiquidSettings::changeDeco ( bool b ) { m_deco = b; } -void LiquidSet::accept ( ) +bool LiquidSettings::writeConfig ( ) { Config config ( "qpe" ); config. setGroup ( "Liquid-Style" ); @@ -227,8 +227,6 @@ void LiquidSet::accept ( ) config. writeEntry ( "StippleContrast", m_contsld-> value ( )); config. write ( ); - Global::applyStyle ( ); - - QDialog::accept ( ); + return true; } diff --git a/noncore/styles/liquid/settings/liquidset.h b/noncore/styles/liquid/liquidset.h index a0f590a..7843513 100644 --- a/noncore/styles/liquid/settings/liquidset.h +++ b/noncore/styles/liquid/liquidset.h @@ -8,11 +8,11 @@ class QLabel; class QToolButton; class QSlider; -class LiquidSet : public QDialog { +class LiquidSettings : public QWidget { Q_OBJECT public: - LiquidSet ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 ); + LiquidSettings ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 ); public slots: void changeType ( int t ); @@ -21,8 +21,7 @@ public slots: void changeShadow ( bool b ); void changeDeco ( bool b ); -protected: - virtual void accept ( ); + virtual bool writeConfig ( ); private: QColor m_menucol; diff --git a/noncore/styles/liquid/opie-liquid.control b/noncore/styles/liquid/opie-liquid.control index 6311dee..7b6ae71 100644 --- a/noncore/styles/liquid/opie-liquid.control +++ b/noncore/styles/liquid/opie-liquid.control @@ -1,4 +1,4 @@ -Files: plugins/styles/libliquid.so* bin/liquid-settings apps/Settings/Liquid.desktop pics/liquid/Liquid.png +Files: plugins/styles/libliquid.so* Priority: optional Section: opie/system Maintainer: Robert Griebl <sandman@handhelds.org> diff --git a/noncore/styles/liquid/plugin.cpp b/noncore/styles/liquid/plugin.cpp index d9aa8ef..f149c29 100644 --- a/noncore/styles/liquid/plugin.cpp +++ b/noncore/styles/liquid/plugin.cpp @@ -1,29 +1,111 @@ #include "liquid.h" +#include "liquidset.h" +#include "plugin.h" -extern "C" { - QStyle* allocate ( ); - int minor_version ( ); - int major_version ( ); - const char *description ( ); + +LiquidInterface::LiquidInterface ( ) : ref ( 0 ) +{ +} + +LiquidInterface::~LiquidInterface ( ) +{ } -QStyle* allocate ( ) +QStyle *LiquidInterface::create ( ) { return new LiquidStyle ( ); } -int minor_version ( ) +QString LiquidInterface::name ( ) +{ + return QObject::tr( "Liquid", "name" ); +} + +QString LiquidInterface::description ( ) +{ + return QObject::tr( "High Performance Liquid style by Mosfet", "description" ); +} + +QCString LiquidInterface::key ( ) { - return 0; + return QCString ( "liquid" ); } -int major_version ( ) +unsigned int LiquidInterface::version ( ) { - return 1; + return 100; // 1.0.0 (\d+.\d.\d) } -const char *description ( ) +QRESULT LiquidInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) +{ + static LiquidSettingsInterface *setiface = 0; + + *iface = 0; + + if ( uuid == IID_QUnknown ) + *iface = this; + else if ( uuid == IID_Style ) + *iface = this; + else if ( uuid == IID_StyleSettings ) { + if ( !setiface ) + setiface = new LiquidSettingsInterface ( ); + *iface = setiface; + } + + if ( *iface ) + (*iface)-> addRef ( ); + + return QS_OK; +} + +Q_EXPORT_INTERFACE() +{ + Q_CREATE_INSTANCE( LiquidInterface ) +} + + +LiquidSettingsInterface::LiquidSettingsInterface ( ) : ref ( 0 ) { - return "High Performance Liquid"; + m_widget = 0; } + +LiquidSettingsInterface::~LiquidSettingsInterface ( ) +{ +} + +QWidget *LiquidSettingsInterface::create ( QWidget *parent, const char *name ) +{ + m_widget = new LiquidSettings ( parent, name ? name : "LIQUID-SETTINGS" ); + + return m_widget; +} + +bool LiquidSettingsInterface::accept ( ) +{ + if ( !m_widget ) + return false; + + return m_widget-> writeConfig ( ); +} + +void LiquidSettingsInterface::reject ( ) +{ +} + +QRESULT LiquidSettingsInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) +{ + *iface = 0; + + + if ( uuid == IID_QUnknown ) + *iface = this; + else if ( uuid == IID_StyleSettings ) + *iface = this; + + if ( *iface ) + (*iface)-> addRef ( ); + + return QS_OK; +} + diff --git a/noncore/styles/liquid/plugin.h b/noncore/styles/liquid/plugin.h new file mode 100644 index 0000000..759577f --- a/dev/null +++ b/noncore/styles/liquid/plugin.h @@ -0,0 +1,46 @@ +#ifndef __OPIE_LIQUID_PLUGIN_H__ +#define __OPIE_LIQUID_PLUGIN_H__ + +#include <qpe/styleinterface.h> + +class LiquidSettings; + +class LiquidInterface : public StyleInterface { +public: + LiquidInterface ( ); + virtual ~LiquidInterface ( ); + + QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); + Q_REFCOUNT + + virtual QStyle *create ( ); + + virtual QString description ( ); + virtual QString name ( ); + virtual QCString key ( ); + + virtual unsigned int version ( ); + +private: + ulong ref; +}; + +class LiquidSettingsInterface : public StyleSettingsInterface { +public: + LiquidSettingsInterface ( ); + virtual ~LiquidSettingsInterface ( ); + + QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); + Q_REFCOUNT + + virtual QWidget *create ( QWidget *parent, const char *name = 0 ); + + virtual bool accept ( ); + virtual void reject ( ); + +private: + LiquidSettings *m_widget; + ulong ref; +}; + +#endif diff --git a/noncore/styles/liquid/settings/.cvsignore b/noncore/styles/liquid/settings/.cvsignore deleted file mode 100644 index c13418b..0000000 --- a/noncore/styles/liquid/settings/.cvsignore +++ b/dev/null @@ -1,2 +0,0 @@ -Makefile* -moc_* diff --git a/noncore/styles/liquid/settings/main.cpp b/noncore/styles/liquid/settings/main.cpp deleted file mode 100644 index fd69007..0000000 --- a/noncore/styles/liquid/settings/main.cpp +++ b/dev/null @@ -1,34 +0,0 @@ -/********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. -** -** This file is part of Qtopia Environment. -** -** 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. -** -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ - -#include "liquidset.h" - -#include <qpe/qpeapplication.h> - - -int main ( int argc, char** argv ) -{ - QPEApplication a ( argc, argv ); - - LiquidSet dlg; - a. showMainWidget ( &dlg ); - - return a. exec ( ); -} diff --git a/noncore/styles/liquid/settings/settings.pro b/noncore/styles/liquid/settings/settings.pro deleted file mode 100644 index bfda7a4..0000000 --- a/noncore/styles/liquid/settings/settings.pro +++ b/dev/null @@ -1,24 +0,0 @@ -TEMPLATE = app -CONFIG += qt warn_on release -DESTDIR = $(OPIEDIR)/bin -HEADERS = liquidset.h -SOURCES = liquidset.cpp main.cpp -INCLUDEPATH += $(OPIEDIR)/include -DEPENDPATH += ../$(OPIEDIR)/include -LIBS += -lqpe -lopie -TARGET = liquid-settings - -TRANSLATIONS = ../../../../i18n/de/liquid-settings.ts \ - ../../../../i18n/en/liquid-settings.ts \ - ../../../../i18n/es/liquid-settings.ts \ - ../../../../i18n/fr/liquid-settings.ts \ - ../../../../i18n/hu/liquid-settings.ts \ - ../../../../i18n/ja/liquid-settings.ts \ - ../../../../i18n/ko/liquid-settings.ts \ - ../../../../i18n/no/liquid-settings.ts \ - ../../../../i18n/pl/liquid-settings.ts \ - ../../../../i18n/pt/liquid-settings.ts \ - ../../../../i18n/pt_BR/liquid-settings.ts \ - ../../../../i18n/sl/liquid-settings.ts \ - ../../../../i18n/zh_CN/liquid-settings.ts \ - ../../../../i18n/zh_TW/liquid-settings.ts diff --git a/noncore/styles/metal/metal.pro b/noncore/styles/metal/metal.pro index 6e99389..cf15f33 100644 --- a/noncore/styles/metal/metal.pro +++ b/noncore/styles/metal/metal.pro @@ -2,7 +2,7 @@ TEMPLATE = lib CONFIG = qt embedded release warn_on SOURCES = metal.cpp plugin.cpp -HEADERS = metal.h +HEADERS = metal.h plugin.h LIBS += -lqpe INCLUDEPATH += $(OPIEDIR)/include DESTDIR = $(OPIEDIR)/plugins/styles diff --git a/noncore/styles/metal/plugin.cpp b/noncore/styles/metal/plugin.cpp index e5bee10..1db4aac 100644 --- a/noncore/styles/metal/plugin.cpp +++ b/noncore/styles/metal/plugin.cpp @@ -1,29 +1,57 @@ #include "metal.h" +#include "plugin.h" -extern "C" { - QStyle* allocate ( ); - int minor_version ( ); - int major_version ( ); - const char *description ( ); +MetalInterface::MetalInterface ( ) : ref ( 0 ) +{ } -QStyle* allocate ( ) +MetalInterface::~MetalInterface ( ) +{ +} + +QStyle *MetalInterface::create ( ) { return new MetalStyle ( ); } -int minor_version ( ) +QString MetalInterface::name ( ) { - return 0; + return QObject::tr( "Metal", "name" ); } -int major_version ( ) +QString MetalInterface::description ( ) { - return 1; + return QObject::tr( "Metal style", "description" ); } -const char *description ( ) +QCString MetalInterface::key ( ) { - return "Metal style plugin"; + return QCString ( "metal" ); } + +unsigned int MetalInterface::version ( ) +{ + return 100; // 1.0.0 (\d+.\d.\d) +} + +QRESULT MetalInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) +{ + *iface = 0; + + if ( uuid == IID_QUnknown ) + *iface = this; + else if ( uuid == IID_Style ) + *iface = this; + + if ( *iface ) + (*iface)-> addRef ( ); + + return QS_OK; +} + +Q_EXPORT_INTERFACE() +{ + Q_CREATE_INSTANCE( MetalInterface ) +} + diff --git a/noncore/styles/metal/plugin.h b/noncore/styles/metal/plugin.h new file mode 100644 index 0000000..f61c833 --- a/dev/null +++ b/noncore/styles/metal/plugin.h @@ -0,0 +1,27 @@ +#ifndef __OPIE_METAL_PLUGIN_H__ +#define __OPIE_METAL_PLUGIN_H__ + +#include <qpe/styleinterface.h> + + +class MetalInterface : public StyleInterface { +public: + MetalInterface ( ); + virtual ~MetalInterface ( ); + + QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); + Q_REFCOUNT + + virtual QStyle *create ( ); + + virtual QString description ( ); + virtual QString name ( ); + virtual QCString key ( ); + + virtual unsigned int version ( ); + +private: + ulong ref; +}; + +#endif diff --git a/noncore/styles/theme/opie-theme.control b/noncore/styles/theme/opie-theme.control index 02739fb..adb4f4b 100644 --- a/noncore/styles/theme/opie-theme.control +++ b/noncore/styles/theme/opie-theme.control @@ -1,4 +1,4 @@ -Files: plugins/styles/libtheme.so* bin/theme-settings apps/Settings/Theme.desktop pics/theme/Theme.png +Files: plugins/styles/libtheme.so* Priority: optional Section: opie/system Maintainer: Robert Griebl <sandman@handhelds.org> diff --git a/noncore/styles/theme/plugin.cpp b/noncore/styles/theme/plugin.cpp index b334357..4383693 100644 --- a/noncore/styles/theme/plugin.cpp +++ b/noncore/styles/theme/plugin.cpp @@ -1,19 +1,111 @@ -//#include <klocale.h> #include "othemestyle.h" +#include "themeset.h" +#include "plugin.h" -extern "C" + + +ThemeInterface::ThemeInterface ( ) : ref ( 0 ) +{ +} + +ThemeInterface::~ThemeInterface ( ) +{ +} + +QStyle *ThemeInterface::create ( ) { - QStyle * allocate() { return new OThemeStyle ( "" ); } - int minor_version() { - return 0; + +QString ThemeInterface::name ( ) +{ + return QObject::tr( "Themed style", "name" ); +} + +QString ThemeInterface::description ( ) +{ + return QObject::tr( "KDE2 theme compatible style engine", "description" ); +} + +QCString ThemeInterface::key ( ) +{ + return QCString ( "theme" ); +} + +unsigned int ThemeInterface::version ( ) +{ + return 100; // 1.0.0 (\d+.\d.\d) +} + +QRESULT ThemeInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) +{ + static ThemeSettingsInterface *setiface = 0; + + *iface = 0; + + if ( uuid == IID_QUnknown ) + *iface = this; + else if ( uuid == IID_Style ) + *iface = this; + else if ( uuid == IID_StyleSettings ) { + if ( !setiface ) + setiface = new ThemeSettingsInterface ( ); + *iface = setiface; + } + + if ( *iface ) + (*iface)-> addRef ( ); + + return QS_OK; +} + +Q_EXPORT_INTERFACE() +{ + Q_CREATE_INSTANCE( ThemeInterface ) +} + + +ThemeSettingsInterface::ThemeSettingsInterface ( ) : ref ( 0 ) +{ + m_widget = 0; +} + +ThemeSettingsInterface::~ThemeSettingsInterface ( ) +{ +} + +QWidget *ThemeSettingsInterface::create ( QWidget *parent, const char *name ) +{ + m_widget = new ThemeSettings ( parent, name ? name : "THEME-SETTINGS" ); + + return m_widget; } - int major_version() { - return 1; + +bool ThemeSettingsInterface::accept ( ) +{ + if ( !m_widget ) + return false; + + return m_widget-> writeConfig ( ); } - const char * description() { - return ( "Theme Style" ); + +void ThemeSettingsInterface::reject ( ) +{ } + +QRESULT ThemeSettingsInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface ) +{ + *iface = 0; + + + if ( uuid == IID_QUnknown ) + *iface = this; + else if ( uuid == IID_StyleSettings ) + *iface = this; + + if ( *iface ) + (*iface)-> addRef ( ); + + return QS_OK; } diff --git a/noncore/styles/theme/plugin.h b/noncore/styles/theme/plugin.h new file mode 100644 index 0000000..d13fc5d --- a/dev/null +++ b/noncore/styles/theme/plugin.h @@ -0,0 +1,46 @@ +#ifndef __OPIE_THEME_PLUGIN_H__ +#define __OPIE_THEME_PLUGIN_H__ + +#include <qpe/styleinterface.h> + +class ThemeSettings; + +class ThemeInterface : public StyleInterface { +public: + ThemeInterface ( ); + virtual ~ThemeInterface ( ); + + QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); + Q_REFCOUNT + + virtual QStyle *create ( ); + + virtual QString description ( ); + virtual QString name ( ); + virtual QCString key ( ); + + virtual unsigned int version ( ); + +private: + ulong ref; +}; + +class ThemeSettingsInterface : public StyleSettingsInterface { +public: + ThemeSettingsInterface ( ); + virtual ~ThemeSettingsInterface ( ); + + QRESULT queryInterface ( const QUuid &, QUnknownInterface ** ); + Q_REFCOUNT + + virtual QWidget *create ( QWidget *parent, const char *name = 0 ); + + virtual bool accept ( ); + virtual void reject ( ); + +private: + ThemeSettings *m_widget; + ulong ref; +}; + +#endif diff --git a/noncore/styles/theme/settings/main.cpp b/noncore/styles/theme/settings/main.cpp deleted file mode 100644 index 94d40f3..0000000 --- a/noncore/styles/theme/settings/main.cpp +++ b/dev/null @@ -1,34 +0,0 @@ -/********************************************************************** -** Copyright (C) 2000 Trolltech AS. All rights reserved. -** -** This file is part of Qtopia Environment. -** -** 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. -** -** See http://www.trolltech.com/gpl/ for GPL licensing information. -** -** Contact info@trolltech.com if any conditions of this licensing are -** not clear to you. -** -**********************************************************************/ - -#include "themeset.h" - -#include <qpe/qpeapplication.h> - - -int main ( int argc, char** argv ) -{ - QPEApplication a ( argc, argv ); - - ThemeSet dlg; - a. showMainWidget ( &dlg ); - - return a. exec ( ); -} diff --git a/noncore/styles/theme/settings/settings.pro b/noncore/styles/theme/settings/settings.pro deleted file mode 100644 index 85d1f7a..0000000 --- a/noncore/styles/theme/settings/settings.pro +++ b/dev/null @@ -1,24 +0,0 @@ -TEMPLATE = app -CONFIG += qt warn_on release -DESTDIR = $(OPIEDIR)/bin -HEADERS = themeset.h -SOURCES = themeset.cpp main.cpp -INCLUDEPATH += $(OPIEDIR)/include -DEPENDPATH += ../$(OPIEDIR)/include -LIBS += -lqpe -TARGET = theme-settings - -TRANSLATIONS = ../../../../i18n/de/theme-settings.ts \ - ../../../../i18n/en/theme-settings.ts \ - ../../../../i18n/es/theme-settings.ts \ - ../../../../i18n/fr/theme-settings.ts \ - ../../../../i18n/hu/theme-settings.ts \ - ../../../../i18n/ja/theme-settings.ts \ - ../../../../i18n/ko/theme-settings.ts \ - ../../../../i18n/no/theme-settings.ts \ - ../../../../i18n/pl/theme-settings.ts \ - ../../../../i18n/pt/theme-settings.ts \ - ../../../../i18n/pt_BR/theme-settings.ts \ - ../../../../i18n/sl/theme-settings.ts \ - ../../../../i18n/zh_CN/theme-settings.ts \ - ../../../../i18n/zh_TW/theme-settings.ts diff --git a/noncore/styles/theme/settings/themeset.h b/noncore/styles/theme/settings/themeset.h deleted file mode 100644 index 24804ce..0000000 --- a/noncore/styles/theme/settings/themeset.h +++ b/dev/null @@ -1,20 +0,0 @@ -#ifndef __OPIE_THEME_SET_H__ -#define __OPIE_THEME_SET_H__ - -#include <qdialog.h> - -class QListView; - -class ThemeSet : public QDialog { - Q_OBJECT - -public: - ThemeSet ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 ); - -protected: - virtual void accept ( ); - -private: - QListView *m_list; -}; -#endif diff --git a/noncore/styles/theme/theme.pro b/noncore/styles/theme/theme.pro index fdcd20e..49c4103 100644 --- a/noncore/styles/theme/theme.pro +++ b/noncore/styles/theme/theme.pro @@ -3,11 +3,14 @@ CONFIG = qt embedded debug warn_on SOURCES = ogfxeffect.cpp \ othemestyle.cpp \ othemebase.cpp \ + themeset.cpp \ plugin.cpp HEADERS = ogfxeffect.h \ othemebase.h \ - othemestyle.h + othemestyle.h \ + themeset.h \ + plugin.h LIBS += -lqpe diff --git a/noncore/styles/theme/settings/themeset.cpp b/noncore/styles/theme/themeset.cpp index 046618e..4a4efcb 100644 --- a/noncore/styles/theme/settings/themeset.cpp +++ b/noncore/styles/theme/themeset.cpp @@ -59,8 +59,8 @@ public: }; -ThemeSet::ThemeSet ( QWidget* parent, const char *name, WFlags fl ) - : QDialog ( parent, name, fl ) +ThemeSettings::ThemeSettings ( QWidget* parent, const char *name, WFlags fl ) + : QWidget ( parent, name, fl ) { setCaption ( tr( "Theme Style" ) ); @@ -109,16 +109,15 @@ ThemeSet::ThemeSet ( QWidget* parent, const char *name, WFlags fl ) } } -void ThemeSet::accept ( ) +bool ThemeSettings::writeConfig ( ) { Config config ( "qpe" ); config. setGroup ( "Appearance" ); MyItem *it = (MyItem *) m_list-> selectedItem ( ); config. writeEntry ( "Theme", it ? it-> m_theme : QString ( "" )); + config. write ( ); - Global::applyStyle ( ); - - QDialog::accept ( ); + return true; } diff --git a/noncore/styles/theme/themeset.h b/noncore/styles/theme/themeset.h new file mode 100644 index 0000000..c337cfa --- a/dev/null +++ b/noncore/styles/theme/themeset.h @@ -0,0 +1,20 @@ +#ifndef __OPIE_THEME_SETTINGS_H__ +#define __OPIE_THEME_SETTINGS_H__ + +#include <qdialog.h> + +class QListView; + +class ThemeSettings : public QWidget { + Q_OBJECT + +public: + ThemeSettings ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 ); + +public: + virtual bool writeConfig ( ); + +private: + QListView *m_list; +}; +#endif diff --git a/pics/liquid/Liquid.png b/pics/liquid/Liquid.png Binary files differdeleted file mode 100644 index 67647d0..0000000 --- a/pics/liquid/Liquid.png +++ b/dev/null diff --git a/pics/theme/Theme.png b/pics/theme/Theme.png Binary files differdeleted file mode 100644 index 67647d0..0000000 --- a/pics/theme/Theme.png +++ b/dev/null |