summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--Makefile4
-rw-r--r--apps/Settings/Liquid.desktop7
-rw-r--r--apps/Settings/Theme.desktop7
-rw-r--r--library/qpeapplication.cpp322
-rw-r--r--library/styleinterface.h68
-rw-r--r--noncore/styles/liquid/liquid.pro6
-rw-r--r--noncore/styles/liquid/liquidset.cpp (renamed from noncore/styles/liquid/settings/liquidset.cpp)26
-rw-r--r--noncore/styles/liquid/liquidset.h (renamed from noncore/styles/liquid/settings/liquidset.h)7
-rw-r--r--noncore/styles/liquid/opie-liquid.control2
-rw-r--r--noncore/styles/liquid/plugin.cpp106
-rw-r--r--noncore/styles/liquid/plugin.h46
-rw-r--r--noncore/styles/liquid/settings/.cvsignore2
-rw-r--r--noncore/styles/liquid/settings/main.cpp34
-rw-r--r--noncore/styles/liquid/settings/settings.pro24
-rw-r--r--noncore/styles/metal/metal.pro2
-rw-r--r--noncore/styles/metal/plugin.cpp52
-rw-r--r--noncore/styles/metal/plugin.h27
-rw-r--r--noncore/styles/theme/opie-theme.control2
-rw-r--r--noncore/styles/theme/plugin.cpp110
-rw-r--r--noncore/styles/theme/plugin.h46
-rw-r--r--noncore/styles/theme/settings/main.cpp34
-rw-r--r--noncore/styles/theme/settings/settings.pro24
-rw-r--r--noncore/styles/theme/settings/themeset.h20
-rw-r--r--noncore/styles/theme/theme.pro5
-rw-r--r--noncore/styles/theme/themeset.cpp (renamed from noncore/styles/theme/settings/themeset.cpp)11
-rw-r--r--noncore/styles/theme/themeset.h20
-rw-r--r--pics/liquid/Liquid.pngbin2771 -> 0 bytes
-rw-r--r--pics/theme/Theme.pngbin2771 -> 0 bytes
28 files changed, 705 insertions, 309 deletions
diff --git a/Makefile b/Makefile
index 0dfa22e..8fa60d8 100644
--- a/Makefile
+++ b/Makefile
@@ -51,7 +51,5 @@ 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 \
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
@@ -65,4 +65,5 @@
#include "qpeapplication.h"
#include "qpestyle.h"
+#include "styleinterface.h"
#if QT_VERSION >= 300
#include <qstylefactory.h>
@@ -75,5 +76,4 @@
#include <qpe/qlibrary.h>
-#include <dlfcn.h>
#endif
#include "global.h"
@@ -106,5 +106,6 @@
-class QPEApplicationData {
+class QPEApplicationData
+{
public:
QPEApplicationData() : presstimer(0), presswidget(0), rightpressed(FALSE),
@@ -124,8 +125,10 @@ public:
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;
@@ -154,5 +157,6 @@ public:
};
-class ResourceMimeFactory : public QMimeSourceFactory {
+class ResourceMimeFactory : public QMimeSourceFactory
+{
public:
ResourceMimeFactory()
@@ -176,5 +180,6 @@ public:
if ( !img.isNull() )
r = new QImageDrag(img);
- } while (!r && sl>0);
+ }
+ while ( !r && sl > 0 );
}
return r;
@@ -201,5 +206,6 @@ static void setVolume(int t=0, int percent=-1)
::close(fd);
}
- } break;
+ }
+ break;
}
}
@@ -220,5 +226,6 @@ static void setMic(int t=0, int percent=-1)
::close(fd);
}
- } break;
+ }
+ break;
}
}
@@ -229,6 +236,8 @@ int qpe_sysBrightnessSteps()
return 255;
#elif defined(QT_QWS_EBX)
+
return 4;
#else
+
return 255; // ?
#endif
@@ -243,4 +252,5 @@ static int& hack(int& i)
(void)new QUtf16Codec;
#endif
+
return i;
}
@@ -287,5 +297,7 @@ static void setBacklight(int 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);
@@ -293,5 +305,6 @@ static void setBacklight(int bright)
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);
@@ -299,10 +312,14 @@ 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 {
unsigned char mode;
unsigned char pwr;
unsigned char brightness;
- } FLITE_IN;
+ }
+ FLITE_IN;
# ifndef FLITE_ON
# ifndef _LINUX_IOCTL_H
@@ -311,4 +328,5 @@ static void setBacklight(int bright)
# define FLITE_ON _IOW('f', 7, FLITE_IN)
# endif
+
int fd;
if ( QFile::exists("/dev/ts") )
@@ -330,5 +348,7 @@ static void setBacklight(int bright)
}
-void qpe_setBacklight(int bright) { setBacklight(bright); }
+void qpe_setBacklight( int bright ) {
+ setBacklight( bright );
+}
static bool dim_on = FALSE;
@@ -359,5 +379,8 @@ public:
// 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()
@@ -367,5 +390,9 @@ 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);
@@ -395,5 +422,9 @@ 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;
}
@@ -573,5 +604,6 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t )
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++;
@@ -590,4 +622,5 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t )
#ifndef QT_NO_TRANSLATION
+
QStringList langs = Global::languageList();
for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) {
@@ -689,6 +722,8 @@ void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode )
createInputMethodDict();
if ( mode == Normal ) {
- inputMethodDict->remove(w);
- } else {
+ inputMethodDict->remove
+ ( w );
+ }
+ else {
inputMethodDict->insert(w,(void*)mode);
}
@@ -698,6 +733,12 @@ class HackDialog : public QDialog
{
public:
- void acceptIt() { accept(); }
- void rejectIt() { reject(); }
+ void acceptIt()
+ {
+ accept();
+ }
+ void rejectIt()
+ {
+ reject();
+ }
};
@@ -722,5 +763,7 @@ class HackWidget : public QWidget
public:
bool needsOk()
- { return (getWState() & WState_Reserved1 ); }
+ {
+ return ( getWState() & WState_Reserved1 );
+ }
};
@@ -765,9 +808,11 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
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 );
@@ -775,8 +820,10 @@ 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 ) {
// Escape key closes app if focus on toplevel
@@ -789,5 +836,6 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
d->rejectIt();
return TRUE;
- } else if ( strcmp( argv()[0], "embeddedkonsole") != 0 ) {
+ }
+ else if ( strcmp( argv() [ 0 ], "embeddedkonsole" ) != 0 ) {
active->close();
}
@@ -801,4 +849,5 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
return TRUE;
#endif
+
}
if ( e->type == QWSEvent::Focus ) {
@@ -815,5 +864,6 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
d->kbregrab = TRUE; // want kb back when we're active
}
- } else {
+ }
+ else {
// make sure our modal widget is ALWAYS on top
QWidget *topm = activeModalWidget();
@@ -849,4 +899,5 @@ QPEApplication::~QPEApplication()
delete pidChannel;
#endif
+
delete d;
}
@@ -887,9 +938,12 @@ int QPEApplication::defaultRotation()
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;
}
@@ -906,5 +960,6 @@ void QPEApplication::setDefaultRotation(int r)
deforient = r;
setenv("QWS_DISPLAY", QString("Transformed:Rot%1:0").arg(r).latin1(), 1);
- } else {
+ }
+ else {
QCopEnvelope("QPE/System", "setDefaultRotation(int)") << r;
}
@@ -951,5 +1006,6 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
if ( msg == "applyStyle()" ) {
applyStyle();
- } else if ( msg == "setScreenSaverInterval(int)" ) {
+ }
+ else if ( msg == "setScreenSaverInterval(int)" ) {
if ( type() == GuiServer ) {
int time;
@@ -957,5 +1013,6 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
setScreenSaverInterval(time);
}
- } else if ( msg == "setScreenSaverIntervals(int,int,int)" ) {
+ }
+ else if ( msg == "setScreenSaverIntervals(int,int,int)" ) {
if ( type() == GuiServer ) {
int t1,t2,t3;
@@ -963,5 +1020,6 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
setScreenSaverIntervals(t1,t2,t3);
}
- } else if ( msg == "setBacklight(int)" ) {
+ }
+ else if ( msg == "setBacklight(int)" ) {
if ( type() == GuiServer ) {
int bright;
@@ -969,5 +1027,6 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
setBacklight(bright);
}
- } else if ( msg == "setDefaultRotation(int)" ) {
+ }
+ else if ( msg == "setDefaultRotation(int)" ) {
if ( type() == GuiServer ) {
int r;
@@ -975,17 +1034,22 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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;
@@ -996,5 +1060,6 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
else
d->kbgrabber = 2;
- } else if ( msg == "language(QString)" ) {
+ }
+ else if ( msg == "language(QString)" ) {
if ( type() == GuiServer ) {
QString l;
@@ -1009,5 +1074,6 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
}
}
- } else if ( msg == "timeChange(QString)" ) {
+ }
+ else if ( msg == "timeChange(QString)" ) {
QString t;
stream >> t;
@@ -1018,5 +1084,6 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
// emit the signal so everyone else knows...
emit timeChanged();
- } else if ( msg == "execute(QString)" ) {
+ }
+ else if ( msg == "execute(QString)" ) {
if ( type() == GuiServer ) {
QString t;
@@ -1024,5 +1091,6 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
Global::execute( t );
}
- } else if ( msg == "execute(QString,QString)" ) {
+ }
+ else if ( msg == "execute(QString,QString)" ) {
if ( type() == GuiServer ) {
QString t,d;
@@ -1030,5 +1098,6 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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;
@@ -1038,5 +1107,6 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &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;
@@ -1046,35 +1116,43 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &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;
@@ -1097,13 +1175,16 @@ bool QPEApplication::raiseAppropriateWindow()
// ########## 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();
@@ -1126,29 +1207,37 @@ 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 );
@@ -1160,8 +1249,10 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
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);
}
@@ -1214,7 +1305,9 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
else
#endif
+
mw->show();
}
- } else if ( d->keep_running ) {
+ }
+ else if ( d->keep_running ) {
#ifdef Q_WS_QWS
if ( !nomaximize )
@@ -1222,4 +1315,5 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
else
#endif
+
mw->show();
}
@@ -1253,7 +1347,9 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize )
else
#endif
+
mw->show();
}
- } else if ( d->keep_running ) {
+ }
+ else if ( d->keep_running ) {
#ifdef Q_WS_QWS
if ( !nomaximize )
@@ -1261,4 +1357,5 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize )
else
#endif
+
mw->show();
}
@@ -1302,14 +1399,18 @@ void QPEApplication::internalSetStyle( const QString &style )
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 );
}
@@ -1332,4 +1433,41 @@ 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)"
@@ -1343,16 +1481,13 @@ void QPEApplication::internalSetStyle( const QString &style )
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 ) {
@@ -1362,8 +1497,6 @@ void QPEApplication::internalSetStyle( const QString &style )
setStyle ( sty );
- if ( currentlib ) {
- //delete currentlib;
- ::dlclose ( currentlib );
- }
+ if ( currentlib )
+ delete currentlib;
currentlib = lib;
@@ -1371,12 +1504,13 @@ void QPEApplication::internalSetStyle( const QString &style )
}
}
- //delete lib;
- ::dlclose ( lib );
+ delete lib;
}
- } while ( false );
}
+ while ( false );
// HACK for Qt2 only
#endif
}
+#endif
+}
/*!
@@ -1399,5 +1533,6 @@ void QPEApplication::prepareForTermination(bool willrestart)
}
#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.
@@ -1460,7 +1595,9 @@ 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()));
@@ -1517,5 +1654,6 @@ 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 ) {
@@ -1549,5 +1687,6 @@ void QPEApplication::timerEvent( QTimerEvent *e )
void QPEApplication::removeSenderFromStylusDict()
{
- stylusDict->remove((void*)sender());
+ stylusDict->remove
+ ( ( void* ) sender() );
if ( d->presswidget == sender() )
d->presswidget = 0;
@@ -1705,6 +1844,5 @@ void qt_setMaxWindowRect(const QRect& r)
QWidget *w = l->first();
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
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
@@ -4,9 +4,13 @@ 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
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
@@ -22,5 +22,5 @@
#include "liquidset.h"
-#include "../liquid.h"
+#include "liquid.h"
#include <qpe/qpeapplication.h>
@@ -58,6 +58,6 @@ 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" ) );
@@ -123,5 +123,5 @@ 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 );
@@ -132,5 +132,5 @@ LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl )
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 );
@@ -177,5 +177,5 @@ LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl )
}
-void LiquidSet::changeType ( int t )
+void LiquidSettings::changeType ( int t )
{
bool custom = ( t == Custom );
@@ -191,5 +191,5 @@ void LiquidSet::changeType ( int t )
}
-void LiquidSet::changeMenuColor ( const QColor &col )
+void LiquidSettings::changeMenuColor ( const QColor &col )
{
changeButtonColor ( m_menubtn, col );
@@ -197,5 +197,5 @@ void LiquidSet::changeMenuColor ( const QColor &col )
}
-void LiquidSet::changeTextColor ( const QColor &col )
+void LiquidSettings::changeTextColor ( const QColor &col )
{
changeButtonColor ( m_textbtn, col );
@@ -203,10 +203,10 @@ void LiquidSet::changeTextColor ( const QColor &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;
@@ -214,5 +214,5 @@ void LiquidSet::changeDeco ( bool b )
-void LiquidSet::accept ( )
+bool LiquidSettings::writeConfig ( )
{
Config config ( "qpe" );
@@ -228,7 +228,5 @@ void LiquidSet::accept ( )
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
@@ -9,9 +9,9 @@ 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:
@@ -22,6 +22,5 @@ public slots:
void changeDeco ( bool b );
-protected:
- virtual void accept ( );
+ virtual bool writeConfig ( );
private:
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,3 +1,3 @@
-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
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
@@ -3,5 +3,5 @@ CONFIG = qt embedded release warn_on
SOURCES = metal.cpp plugin.cpp
-HEADERS = metal.h
+HEADERS = metal.h plugin.h
LIBS += -lqpe
INCLUDEPATH += $(OPIEDIR)/include
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,3 +1,3 @@
-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
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
@@ -4,9 +4,12 @@ SOURCES = ogfxeffect.cpp \
othemestyle.cpp \
othemebase.cpp \
+ themeset.cpp \
plugin.cpp
HEADERS = ogfxeffect.h \
othemebase.h \
- othemestyle.h
+ othemestyle.h \
+ themeset.h \
+ plugin.h
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
@@ -60,6 +60,6 @@ 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" ) );
@@ -110,5 +110,5 @@ ThemeSet::ThemeSet ( QWidget* parent, const char *name, WFlags fl )
}
-void ThemeSet::accept ( )
+bool ThemeSettings::writeConfig ( )
{
Config config ( "qpe" );
@@ -117,8 +117,7 @@ void ThemeSet::accept ( )
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
deleted file mode 100644
index 67647d0..0000000
--- a/pics/liquid/Liquid.png
+++ b/dev/null
Binary files differ
diff --git a/pics/theme/Theme.png b/pics/theme/Theme.png
deleted file mode 100644
index 67647d0..0000000
--- a/pics/theme/Theme.png
+++ b/dev/null
Binary files differ