summaryrefslogtreecommitdiff
authorsandman <sandman>2002-07-06 16:42:29 (UTC)
committer sandman <sandman>2002-07-06 16:42:29 (UTC)
commit3a422983abc7342c9229dccac825d0608fca10f3 (patch) (side-by-side diff)
treefd0d71eab4df0b286b78efe24184525ae4c819a3
parent8beb5fcdbca8110dc586a7e620bf8eae892087fb (diff)
downloadopie-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)
Diffstat (more/less context) (ignore 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.cpp2294
-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.cpp108
-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.cpp54
-rw-r--r--noncore/styles/metal/plugin.h27
-rw-r--r--noncore/styles/theme/opie-theme.control2
-rw-r--r--noncore/styles/theme/plugin.cpp118
-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, 1697 insertions, 1301 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
@@ -59,5 +59,5 @@
#define VESA_POWERDOWN 3
-#define FBIOBLANK 0x4611
+#define FBIOBLANK 0x4611
@@ -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,120 +106,127 @@
-class QPEApplicationData {
+class QPEApplicationData
+{
public:
- QPEApplicationData() : presstimer(0), presswidget(0), rightpressed(FALSE),
- kbgrabber(0), kbregrab(FALSE), notbusysent(FALSE), preloaded(FALSE),
- forceshow(FALSE), nomaximize(FALSE), qpe_main_widget(0),
- keep_running(TRUE)
- {
- qcopq.setAutoDelete(TRUE);
- }
+ QPEApplicationData() : presstimer( 0 ), presswidget( 0 ), rightpressed( FALSE ),
+ kbgrabber( 0 ), kbregrab( FALSE ), notbusysent( FALSE ), preloaded( FALSE ),
+ forceshow( FALSE ), nomaximize( FALSE ), qpe_main_widget( 0 ),
+ keep_running( TRUE )
+ {
+ qcopq.setAutoDelete( TRUE );
+ }
- int presstimer;
- QWidget* presswidget;
- QPoint presspos;
- bool rightpressed;
- int kbgrabber;
- bool kbregrab;
- bool notbusysent;
- QString appName;
- struct QCopRec {
- QCopRec(const QCString &ch, const QCString &msg,
- const QByteArray &d) :
- channel(ch), message(msg), data(d) { }
-
- QCString channel;
- QCString message;
- QByteArray data;
- };
- bool preloaded;
- bool forceshow;
- bool nomaximize;
- QWidget* qpe_main_widget;
- bool keep_running;
- QList<QCopRec> qcopq;
-
- void enqueueQCop(const QCString &ch, const QCString &msg,
- const QByteArray &data)
- {
- qcopq.append(new QCopRec(ch,msg,data));
- }
- void sendQCopQ()
- {
- QCopRec* r;
- for (QListIterator<QCopRec> it(qcopq); (r=it.current()); ++it)
- QCopChannel::sendLocally(r->channel,r->message,r->data);
- qcopq.clear();
- }
+ int presstimer;
+ QWidget* presswidget;
+ QPoint presspos;
+ bool rightpressed;
+ int kbgrabber;
+ bool kbregrab;
+ bool notbusysent;
+ QString appName;
+ struct QCopRec
+ {
+ QCopRec( const QCString &ch, const QCString &msg,
+ const QByteArray &d ) :
+ channel( ch ), message( msg ), data( d )
+ { }
+
+ QCString channel;
+ QCString message;
+ QByteArray data;
+ };
+ bool preloaded;
+ bool forceshow;
+ bool nomaximize;
+ QWidget* qpe_main_widget;
+ bool keep_running;
+ QList<QCopRec> qcopq;
+
+ void enqueueQCop( const QCString &ch, const QCString &msg,
+ const QByteArray &data )
+ {
+ qcopq.append( new QCopRec( ch, msg, data ) );
+ }
+ void sendQCopQ()
+ {
+ QCopRec * r;
+ for ( QListIterator<QCopRec> it( qcopq ); ( r = it.current() ); ++it )
+ QCopChannel::sendLocally( r->channel, r->message, r->data );
+ qcopq.clear();
+ }
};
-class ResourceMimeFactory : public QMimeSourceFactory {
+class ResourceMimeFactory : public QMimeSourceFactory
+{
public:
- ResourceMimeFactory()
- {
- setFilePath( Global::helpPath() );
- setExtensionType("html","text/html;charset=UTF-8");
- }
+ ResourceMimeFactory()
+ {
+ setFilePath( Global::helpPath() );
+ setExtensionType( "html", "text/html;charset=UTF-8" );
+ }
- const QMimeSource* data(const QString& abs_name) const
- {
- const QMimeSource* r = QMimeSourceFactory::data(abs_name);
- if ( !r ) {
- int sl = abs_name.length();
- do {
- sl = abs_name.findRev('/',sl-1);
- QString name = sl>=0 ? abs_name.mid(sl+1) : abs_name;
- int dot = name.findRev('.');
- if ( dot >= 0 )
- name = name.left(dot);
- QImage img = Resource::loadImage(name);
- if ( !img.isNull() )
- r = new QImageDrag(img);
- } while (!r && sl>0);
- }
- return r;
- }
+ const QMimeSource* data( const QString& abs_name ) const
+ {
+ const QMimeSource * r = QMimeSourceFactory::data( abs_name );
+ if ( !r ) {
+ int sl = abs_name.length();
+ do {
+ sl = abs_name.findRev( '/', sl - 1 );
+ QString name = sl >= 0 ? abs_name.mid( sl + 1 ) : abs_name;
+ int dot = name.findRev( '.' );
+ if ( dot >= 0 )
+ name = name.left( dot );
+ QImage img = Resource::loadImage( name );
+ if ( !img.isNull() )
+ r = new QImageDrag( img );
+ }
+ while ( !r && sl > 0 );
+ }
+ return r;
+ }
};
-static int muted=0;
-static int micMuted=0;
+static int muted = 0;
+static int micMuted = 0;
-static void setVolume(int t=0, int percent=-1)
+static void setVolume( int t = 0, int percent = -1 )
{
- switch (t) {
- case 0: {
- Config cfg("qpe");
- cfg.setGroup("Volume");
- if ( percent < 0 )
- percent = cfg.readNumEntry("VolumePercent",50);
- int fd = 0;
- if ((fd = open("/dev/mixer", O_RDWR))>=0) {
- int vol = muted ? 0 : percent;
- // set both channels to same volume
- vol |= vol << 8;
- ioctl(fd, MIXER_WRITE(0), &vol);
- ::close(fd);
- }
- } break;
- }
+ switch ( t ) {
+ case 0: {
+ Config cfg( "qpe" );
+ cfg.setGroup( "Volume" );
+ if ( percent < 0 )
+ percent = cfg.readNumEntry( "VolumePercent", 50 );
+ int fd = 0;
+ if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) {
+ int vol = muted ? 0 : percent;
+ // set both channels to same volume
+ vol |= vol << 8;
+ ioctl( fd, MIXER_WRITE( 0 ), &vol );
+ ::close( fd );
+ }
+ }
+ break;
+ }
}
-static void setMic(int t=0, int percent=-1)
+static void setMic( int t = 0, int percent = -1 )
{
- switch (t) {
- case 0: {
- Config cfg("qpe");
- cfg.setGroup("Volume");
- if ( percent < 0 )
- percent = cfg.readNumEntry("Mic",50);
-
- int fd = 0;
- int mic = micMuted ? 0 : percent;
- if ((fd = open("/dev/mixer", O_RDWR))>=0) {
- ioctl(fd, MIXER_WRITE(SOUND_MIXER_MIC), &mic);
- ::close(fd);
- }
- } break;
- }
+ switch ( t ) {
+ case 0: {
+ Config cfg( "qpe" );
+ cfg.setGroup( "Volume" );
+ if ( percent < 0 )
+ percent = cfg.readNumEntry( "Mic", 50 );
+
+ int fd = 0;
+ int mic = micMuted ? 0 : percent;
+ if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) {
+ ioctl( fd, MIXER_WRITE( SOUND_MIXER_MIC ), &mic );
+ ::close( fd );
+ }
+ }
+ break;
+ }
}
@@ -227,82 +234,92 @@ int qpe_sysBrightnessSteps()
{
#if defined(QT_QWS_IPAQ)
- return 255;
+ return 255;
#elif defined(QT_QWS_EBX)
- return 4;
+
+ return 4;
#else
- return 255; // ?
+
+ return 255; // ?
#endif
}
-static int& hack(int& i)
+static int& hack( int& i )
{
#if QT_VERSION <= 230 && defined(QT_NO_CODECS)
- // These should be created, but aren't in Qt 2.3.0
- (void)new QUtf8Codec;
- (void)new QUtf16Codec;
+ // These should be created, but aren't in Qt 2.3.0
+ ( void ) new QUtf8Codec;
+ ( void ) new QUtf16Codec;
#endif
- return i;
+
+ return i;
}
static bool forced_off = FALSE;
-static int curbl=-1;
+static int curbl = -1;
static int backlight()
{
- if ( curbl == -1 ) {
- // Read from config
- Config config( "qpe" );
- config.setGroup( "Screensaver" );
- curbl = config.readNumEntry("Brightness",255);
- }
- return curbl;
+ if ( curbl == -1 ) {
+ // Read from config
+ Config config( "qpe" );
+ config.setGroup( "Screensaver" );
+ curbl = config.readNumEntry( "Brightness", 255 );
+ }
+ return curbl;
}
-static void setBacklight(int bright)
+static void setBacklight( int bright )
{
- if ( bright == -3 ) {
- // Forced on
- forced_off = FALSE;
- bright = -1;
- }
- if ( forced_off && bright != -2 )
- return;
- if ( bright == -2 ) {
- // Toggle between off and on
- bright = curbl ? 0 : -1;
- forced_off = !bright;
- }
- if ( bright == -1 ) {
- // Read from config
- Config config( "qpe" );
- config.setGroup( "Screensaver" );
- bright = config.readNumEntry("Brightness",255);
- }
+ if ( bright == -3 ) {
+ // Forced on
+ forced_off = FALSE;
+ bright = -1;
+ }
+ if ( forced_off && bright != -2 )
+ return ;
+ if ( bright == -2 ) {
+ // Toggle between off and on
+ bright = curbl ? 0 : -1;
+ forced_off = !bright;
+ }
+ if ( bright == -1 ) {
+ // Read from config
+ Config config( "qpe" );
+ config.setGroup( "Screensaver" );
+ bright = config.readNumEntry( "Brightness", 255 );
+ }
#if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX)
- if ( QFile::exists("/usr/bin/bl") ) {
- QString cmd = "/usr/bin/bl 1 ";
- cmd += bright<=0 ? "0 " : "1 ";
- cmd += QString::number(bright);
- system(cmd.latin1());
+ if ( QFile::exists( "/usr/bin/bl" ) ) {
+ QString cmd = "/usr/bin/bl 1 ";
+ cmd += bright <= 0 ? "0 " : "1 ";
+ 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;
- bl = ioctl(fd, FL_IOCTL_STEP_CONTRAST, bl);
- close(fd);
- }
- }
+ 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;
+ 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") ) {
- typedef struct {
- unsigned char mode;
- unsigned char pwr;
- unsigned char brightness;
- } FLITE_IN;
+
+ }
+ else if ( QFile::exists( "/dev/ts" ) || QFile::exists( "/dev/h3600_ts" ) )
+ {
+ typedef struct {
+ unsigned char mode;
+ unsigned char pwr;
+ unsigned char brightness;
+ }
+ FLITE_IN;
# ifndef FLITE_ON
# ifndef _LINUX_IOCTL_H
@@ -311,24 +328,27 @@ static void setBacklight(int bright)
# define FLITE_ON _IOW('f', 7, FLITE_IN)
# endif
- int fd;
- if ( QFile::exists("/dev/ts") )
- fd = open("/dev/ts", O_WRONLY);
- else
- fd = open("/dev/h3600_ts", O_WRONLY);
- if (fd >= 0 ) {
- FLITE_IN bl;
- bl.mode = 1;
- bl.pwr = bright ? 1 : 0;
- bl.brightness = bright;
- ioctl(fd, FLITE_ON, &bl);
- close(fd);
- }
- }
+
+ int fd;
+ if ( QFile::exists( "/dev/ts" ) )
+ fd = open( "/dev/ts", O_WRONLY );
+ else
+ fd = open( "/dev/h3600_ts", O_WRONLY );
+ if ( fd >= 0 ) {
+ FLITE_IN bl;
+ bl.mode = 1;
+ bl.pwr = bright ? 1 : 0;
+ bl.brightness = bright;
+ ioctl( fd, FLITE_ON, &bl );
+ close( fd );
+ }
+ }
#endif
#endif
- curbl = bright;
+ curbl = bright;
}
-void qpe_setBacklight(int bright) { setBacklight(bright); }
+void qpe_setBacklight( int bright ) {
+ setBacklight( bright );
+}
static bool dim_on = FALSE;
@@ -338,10 +358,10 @@ static int disable_suspend = 100;
static bool powerOnline()
{
- return PowerStatusManager::readStatus().acStatus() == PowerStatus::Online;
+ return PowerStatusManager::readStatus().acStatus() == PowerStatus::Online;
}
static bool networkOnline()
{
- return Network::networkOnline();
+ return Network::networkOnline();
}
@@ -349,105 +369,116 @@ class QPEScreenSaver : public QWSScreenSaver
{
private:
- int LcdOn;
+ int LcdOn;
public:
- QPEScreenSaver()
- {
- int fd;
-
- 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); }
- }
- void restore()
- {
- if (!LcdOn) // We must have turned it off
- {
- int fd;
- fd=open("/dev/fb0",O_RDWR);
- if (fd != -1) { ioctl(fd,FBIOBLANK,VESA_NO_BLANKING); close(fd); }
- }
- setBacklight(-1);
- }
- bool save(int level)
- {
- int fd;
-
- switch ( level ) {
- case 0:
- if ( disable_suspend > 0 && dim_on ) {
- if (backlight() > 1)
- setBacklight(1); // lowest non-off
- }
- return TRUE;
- break;
- case 1:
- if ( disable_suspend > 1 && lightoff_on ) {
- setBacklight(0); // off
- }
- return TRUE;
- break;
- case 2:
- Config config( "qpe" );
- config.setGroup( "Screensaver" );
- 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); }
- LcdOn = FALSE;
- }
- else // We're going to suspend the whole machine
- {
- if ( disable_suspend > 2 && !powerOnline() && !networkOnline() ) {
- QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE );
- return TRUE;
- }
- }
- break;
- }
- return FALSE;
- }
+ QPEScreenSaver()
+ {
+ int fd;
+
+ 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 );
+ }
+ }
+ void restore()
+ {
+ if ( !LcdOn ) // We must have turned it off
+ {
+ int fd;
+ fd = open( "/dev/fb0", O_RDWR );
+ if ( fd != -1 )
+ {
+ ioctl( fd, FBIOBLANK, VESA_NO_BLANKING );
+ close( fd );
+ }
+ }
+ setBacklight( -1 );
+ }
+ bool save( int level )
+ {
+ int fd;
+
+ switch ( level ) {
+ case 0:
+ if ( disable_suspend > 0 && dim_on ) {
+ if ( backlight() > 1 )
+ setBacklight( 1 ); // lowest non-off
+ }
+ return TRUE;
+ break;
+ case 1:
+ if ( disable_suspend > 1 && lightoff_on ) {
+ setBacklight( 0 ); // off
+ }
+ return TRUE;
+ break;
+ case 2:
+ Config config( "qpe" );
+ config.setGroup( "Screensaver" );
+ 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 );
+ }
+ LcdOn = FALSE;
+ }
+ else // We're going to suspend the whole machine
+ {
+ if ( disable_suspend > 2 && !powerOnline() && !networkOnline() ) {
+ QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE );
+ return TRUE;
+ }
+ }
+ break;
+ }
+ return FALSE;
+ }
};
-static int ssi(int interval, Config &config, const QString &enable, const QString& value, int def)
+static int ssi( int interval, Config & config, const QString & enable, const QString & value, int def )
{
- if ( !enable.isEmpty() && config.readNumEntry(enable,0) == 0 )
- return 0;
+ if ( !enable.isEmpty() && config.readNumEntry( enable, 0 ) == 0 )
+ return 0;
- if ( interval < 0 ) {
- // Restore screen blanking and power saving state
- interval = config.readNumEntry( value, def );
- }
- return interval;
+ if ( interval < 0 ) {
+ // Restore screen blanking and power saving state
+ interval = config.readNumEntry( value, def );
+ }
+ return interval;
}
-static void setScreenSaverIntervals(int i1, int i2, int i3)
+static void setScreenSaverIntervals( int i1, int i2, int i3 )
{
- Config config( "qpe" );
- config.setGroup( "Screensaver" );
-
- int v[4];
- i1 = ssi(i1, config, "Dim","Interval_Dim", 30);
- i2 = ssi(i2, config, "LightOff","Interval_LightOff", 20);
- i3 = ssi(i3, config, "","Interval", 60);
-
- //qDebug("screen saver intervals: %d %d %d", i1, i2, i3);
-
- v[0] = QMAX( 1000*i1, 100);
- v[1] = QMAX( 1000*i2, 100);
- v[2] = QMAX( 1000*i3, 100);
- v[3] = 0;
- dim_on = ( (i1 != 0) ? config.readNumEntry("Dim",1) : FALSE );
- lightoff_on = ( (i2 != 0 ) ? config.readNumEntry("LightOff",1) : FALSE );
- if ( !i1 && !i2 && !i3 )
- QWSServer::setScreenSaverInterval(0);
- else
- QWSServer::setScreenSaverIntervals(v);
+ Config config( "qpe" );
+ config.setGroup( "Screensaver" );
+
+ int v[ 4 ];
+ i1 = ssi( i1, config, "Dim", "Interval_Dim", 30 );
+ i2 = ssi( i2, config, "LightOff", "Interval_LightOff", 20 );
+ i3 = ssi( i3, config, "", "Interval", 60 );
+
+ //qDebug("screen saver intervals: %d %d %d", i1, i2, i3);
+
+ v[ 0 ] = QMAX( 1000 * i1, 100 );
+ v[ 1 ] = QMAX( 1000 * i2, 100 );
+ v[ 2 ] = QMAX( 1000 * i3, 100 );
+ v[ 3 ] = 0;
+ dim_on = ( ( i1 != 0 ) ? config.readNumEntry( "Dim", 1 ) : FALSE );
+ lightoff_on = ( ( i2 != 0 ) ? config.readNumEntry( "LightOff", 1 ) : FALSE );
+ if ( !i1 && !i2 && !i3 )
+ QWSServer::setScreenSaverInterval( 0 );
+ else
+ QWSServer::setScreenSaverIntervals( v );
}
-static void setScreenSaverInterval(int interval)
+static void setScreenSaverInterval( int interval )
{
- setScreenSaverIntervals(-1,-1,interval);
+ setScreenSaverIntervals( -1, -1, interval );
}
@@ -457,5 +488,5 @@ static void setScreenSaverInterval(int interval)
\brief The QPEApplication class implements various system services
that are available to all Qtopia applications.
-
+
Simply by using QPEApplication instead of QApplication, a plain Qt
application becomes a Qtopia application. It automatically follows
@@ -467,5 +498,5 @@ static void setScreenSaverInterval(int interval)
/*!
\fn void QPEApplication::clientMoused()
-
+
\internal
*/
@@ -473,5 +504,5 @@ static void setScreenSaverInterval(int interval)
/*!
\fn void QPEApplication::timeChanged();
-
+
This signal is emitted when the time jumps forward or backwards
by more than the normal passage of time.
@@ -480,5 +511,5 @@ static void setScreenSaverInterval(int interval)
/*!
\fn void QPEApplication::clockChanged( bool ampm );
-
+
This signal is emitted when the user changes the style
of clock. If \a ampm is TRUE, the user wants a 12-hour
@@ -488,11 +519,11 @@ static void setScreenSaverInterval(int interval)
/*!
\fn void QPEApplication::appMessage( const QCString& msg, const QByteArray& data )
-
+
This signal is emitted when a message is received on the
QPE/Application/<i>appname</i> QCop channel for this application.
-
+
The slot to which you connect this signal uses \a msg and \a data
in the following way:
-
+
\code
void MyWidget::receive( const QCString& msg, const QByteArray& data )
@@ -508,5 +539,5 @@ static void setScreenSaverInterval(int interval)
}
\endcode
-
+
\sa qcop.html
*/
@@ -516,144 +547,146 @@ static void setScreenSaverInterval(int interval)
a QApplication, passing \a argc, \a argv, and \a t.
*/
-QPEApplication::QPEApplication( int& argc, char **argv, Type t )
- : QApplication( hack(argc), argv, t )
+QPEApplication::QPEApplication( int & argc, char **argv, Type t )
+ : QApplication( hack( argc ), argv, t )
{
- int dw = desktop()->width();
- if ( dw < 200 ) {
-// setFont( QFont( "helvetica", 8 ) );
- AppLnk::setSmallIconSize(10);
- AppLnk::setBigIconSize(28);
- }
+ int dw = desktop() ->width();
+ if ( dw < 200 ) {
+ // setFont( QFont( "helvetica", 8 ) );
+ AppLnk::setSmallIconSize( 10 );
+ AppLnk::setBigIconSize( 28 );
+ }
- d = new QPEApplicationData;
- QMimeSourceFactory::setDefaultFactory(new ResourceMimeFactory);
+ d = new QPEApplicationData;
+ QMimeSourceFactory::setDefaultFactory( new ResourceMimeFactory );
- connect(this, SIGNAL(lastWindowClosed()), this, SLOT(hideOrQuit()));
+ connect( this, SIGNAL( lastWindowClosed() ), this, SLOT( hideOrQuit() ) );
#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
- QString qcopfn("/tmp/qcop-msg-");
- qcopfn += QString(argv[0]); // append command name
-
- QFile f(qcopfn);
- if ( f.open(IO_ReadOnly) ) {
- flock(f.handle(), LOCK_EX);
- }
+ QString qcopfn( "/tmp/qcop-msg-" );
+ qcopfn += QString( argv[ 0 ] ); // append command name
- sysChannel = new QCopChannel( "QPE/System", this );
- connect( sysChannel, SIGNAL(received(const QCString &, const QByteArray &)),
- this, SLOT(systemMessage( const QCString &, const QByteArray &)) );
-
- QCString channel = QCString(argv[0]);
- channel.replace(QRegExp(".*/"),"");
- d->appName = channel;
- channel = "QPE/Application/" + channel;
- pidChannel = new QCopChannel( channel, this);
- connect( pidChannel, SIGNAL(received(const QCString &, const QByteArray &)),
- this, SLOT(pidMessage(const QCString &, const QByteArray &)));
-
- if ( f.isOpen() ) {
- d->keep_running = FALSE;
- QDataStream ds(&f);
- QCString channel, message;
- QByteArray data;
- while(!ds.atEnd()) {
- ds >> channel >> message >> data;
- d->enqueueQCop(channel,message,data);
- }
+ QFile f( qcopfn );
+ if ( f.open( IO_ReadOnly ) ) {
+ flock( f.handle(), LOCK_EX );
+ }
- flock(f.handle(), LOCK_UN);
- f.close();
- f.remove();
- }
+ sysChannel = new QCopChannel( "QPE/System", this );
+ connect( sysChannel, SIGNAL( received( const QCString &, const QByteArray & ) ),
+ this, SLOT( systemMessage( const QCString &, const QByteArray & ) ) );
+
+ QCString channel = QCString( argv[ 0 ] );
+ channel.replace( QRegExp( ".*/" ), "" );
+ d->appName = channel;
+ channel = "QPE/Application/" + channel;
+ pidChannel = new QCopChannel( channel, this );
+ connect( pidChannel, SIGNAL( received( const QCString &, const QByteArray & ) ),
+ this, SLOT( pidMessage( const QCString &, const QByteArray & ) ) );
+
+ if ( f.isOpen() ) {
+ d->keep_running = FALSE;
+ QDataStream ds( &f );
+ QCString channel, message;
+ QByteArray data;
+ while ( !ds.atEnd() ) {
+ ds >> channel >> message >> data;
+ d->enqueueQCop( channel, message, data );
+ }
+
+ flock( f.handle(), LOCK_UN );
+ f.close();
+ f.remove();
+ }
- for (int a=0; a<argc; a++) {
- if ( qstrcmp(argv[a],"-preload")==0 ) {
- argv[a] = argv[a+1];
- a++;
- d->preloaded = TRUE;
- argc-=1;
- } else if ( qstrcmp(argv[a],"-preload-show")==0 ) {
- argv[a] = argv[a+1];
- a++;
- d->preloaded = TRUE;
- d->forceshow = TRUE;
- argc-=1;
- }
- }
+ for ( int a = 0; a < argc; a++ ) {
+ if ( qstrcmp( argv[ a ], "-preload" ) == 0 ) {
+ argv[ a ] = argv[ a + 1 ];
+ a++;
+ d->preloaded = TRUE;
+ argc -= 1;
+ }
+ else if ( qstrcmp( argv[ a ], "-preload-show" ) == 0 ) {
+ argv[ a ] = argv[ a + 1 ];
+ a++;
+ d->preloaded = TRUE;
+ d->forceshow = TRUE;
+ argc -= 1;
+ }
+ }
- /* overide stored arguments */
- setArgs(argc, argv);
+ /* overide stored arguments */
+ setArgs( argc, argv );
#endif
- qwsSetDecoration( new QPEDecoration() );
+ qwsSetDecoration( new QPEDecoration() );
#ifndef QT_NO_TRANSLATION
- QStringList langs = Global::languageList();
- for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) {
- QString lang = *it;
-
- QTranslator * trans;
- QString tfn;
-
- trans = new QTranslator(this);
- tfn = qpeDir()+"/i18n/"+lang+"/libqpe.qm";
- if ( trans->load( tfn ))
- installTranslator( trans );
- else
- delete trans;
-
- trans = new QTranslator(this);
- tfn = qpeDir()+"/i18n/"+lang+"/"+d->appName+".qm";
- if ( trans->load( tfn ))
- installTranslator( trans );
- else
- delete trans;
-
- //###language/font hack; should look it up somewhere
- if ( lang == "ja" || lang == "zh_CN" || lang == "zh_TW" || lang == "ko" ) {
- QFont fn = FontManager::unicodeFont( FontManager::Proportional );
- setFont( fn );
- }
- else {
- Config config( "qpe" );
- config.setGroup( "Appearance" );
- QString familyStr = config.readEntry( "FontFamily", "helvetica" );
- QString styleStr = config.readEntry( "FontStyle", "Regular" );
- QString sizeStr = config.readEntry( "FontSize", "10" );
- QString charSetStr = config.readEntry( "FontCharSet", QString::null );
- bool ok;
- int i_size = sizeStr.toInt( &ok, 10 );
- FontDatabase fdb;
- QFont selectedFont = fdb.font( familyStr, styleStr, i_size, charSetStr );
- setFont( selectedFont );
- }
- }
+
+ QStringList langs = Global::languageList();
+ for ( QStringList::ConstIterator it = langs.begin(); it != langs.end(); ++it ) {
+ QString lang = *it;
+
+ QTranslator * trans;
+ QString tfn;
+
+ trans = new QTranslator( this );
+ tfn = qpeDir() + "/i18n/" + lang + "/libqpe.qm";
+ if ( trans->load( tfn ) )
+ installTranslator( trans );
+ else
+ delete trans;
+
+ trans = new QTranslator( this );
+ tfn = qpeDir() + "/i18n/" + lang + "/" + d->appName + ".qm";
+ if ( trans->load( tfn ) )
+ installTranslator( trans );
+ else
+ delete trans;
+
+ //###language/font hack; should look it up somewhere
+ if ( lang == "ja" || lang == "zh_CN" || lang == "zh_TW" || lang == "ko" ) {
+ QFont fn = FontManager::unicodeFont( FontManager::Proportional );
+ setFont( fn );
+ }
+ else {
+ Config config( "qpe" );
+ config.setGroup( "Appearance" );
+ QString familyStr = config.readEntry( "FontFamily", "helvetica" );
+ QString styleStr = config.readEntry( "FontStyle", "Regular" );
+ QString sizeStr = config.readEntry( "FontSize", "10" );
+ QString charSetStr = config.readEntry( "FontCharSet", QString::null );
+ bool ok;
+ int i_size = sizeStr.toInt( &ok, 10 );
+ FontDatabase fdb;
+ QFont selectedFont = fdb.font( familyStr, styleStr, i_size, charSetStr );
+ setFont( selectedFont );
+ }
+ }
#endif
- applyStyle();
+ applyStyle();
- if ( type() == GuiServer ) {
- setScreenSaverInterval(-1);
- setVolume();
- QWSServer::setScreenSaver(new QPEScreenSaver);
- }
+ if ( type() == GuiServer ) {
+ setScreenSaverInterval( -1 );
+ setVolume();
+ QWSServer::setScreenSaver( new QPEScreenSaver );
+ }
- installEventFilter( this );
+ installEventFilter( this );
- QPEMenuToolFocusManager::initialize();
+ QPEMenuToolFocusManager::initialize();
#ifdef QT_NO_QWS_CURSOR
- // if we have no cursor, probably don't want tooltips
- QToolTip::setEnabled( FALSE );
+ // if we have no cursor, probably don't want tooltips
+ QToolTip::setEnabled( FALSE );
#endif
}
-static QPtrDict<void>* inputMethodDict=0;
+static QPtrDict<void>* inputMethodDict = 0;
static void createInputMethodDict()
{
- if ( !inputMethodDict )
- inputMethodDict = new QPtrDict<void>;
+ if ( !inputMethodDict )
+ inputMethodDict = new QPtrDict<void>;
}
@@ -661,17 +694,17 @@ static void createInputMethodDict()
Returns the currently set hint to the system as to whether
\a w has any use for text input methods.
-
+
\sa setInputMethodHint()
*/
-QPEApplication::InputMethodHint QPEApplication::inputMethodHint( QWidget* w )
+QPEApplication::InputMethodHint QPEApplication::inputMethodHint( QWidget * w )
{
- if ( inputMethodDict && w )
- return (InputMethodHint)(int)inputMethodDict->find(w);
- return Normal;
+ if ( inputMethodDict && w )
+ return ( InputMethodHint ) ( int ) inputMethodDict->find( w );
+ return Normal;
}
/*!
\enum QPEApplication::InputMethodHint
-
+
\value Normal the application sometimes needs text input (the default).
\value AlwaysOff the application never needs text input.
@@ -682,15 +715,17 @@ QPEApplication::InputMethodHint QPEApplication::inputMethodHint( QWidget* w )
Hints to the system that \a w has use for text input methods
as specified by \a mode.
-
+
\sa inputMethodHint()
*/
-void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode )
+void QPEApplication::setInputMethodHint( QWidget * w, InputMethodHint mode )
{
- createInputMethodDict();
- if ( mode == Normal ) {
- inputMethodDict->remove(w);
- } else {
- inputMethodDict->insert(w,(void*)mode);
- }
+ createInputMethodDict();
+ if ( mode == Normal ) {
+ inputMethodDict->remove
+ ( w );
+ }
+ else {
+ inputMethodDict->insert( w, ( void* ) mode );
+ }
}
@@ -698,22 +733,28 @@ class HackDialog : public QDialog
{
public:
- void acceptIt() { accept(); }
- void rejectIt() { reject(); }
+ void acceptIt()
+ {
+ accept();
+ }
+ void rejectIt()
+ {
+ reject();
+ }
};
-void QPEApplication::mapToDefaultAction( QWSKeyEvent *ke, int key )
+void QPEApplication::mapToDefaultAction( QWSKeyEvent * ke, int key )
{
- // specialised actions for certain widgets. May want to
- // add more stuff here.
- if ( activePopupWidget() && activePopupWidget()->inherits( "QListBox" )
- && activePopupWidget()->parentWidget()
- && activePopupWidget()->parentWidget()->inherits( "QComboBox" ) )
- key = Qt::Key_Return;
+ // specialised actions for certain widgets. May want to
+ // add more stuff here.
+ if ( activePopupWidget() && activePopupWidget() ->inherits( "QListBox" )
+ && activePopupWidget() ->parentWidget()
+ && activePopupWidget() ->parentWidget() ->inherits( "QComboBox" ) )
+ key = Qt::Key_Return;
- if ( activePopupWidget() && activePopupWidget()->inherits( "QPopupMenu" ) )
- key = Qt::Key_Return;
+ if ( activePopupWidget() && activePopupWidget() ->inherits( "QPopupMenu" ) )
+ key = Qt::Key_Return;
- ke->simpleData.keycode = key;
+ ke->simpleData.keycode = key;
}
@@ -721,6 +762,8 @@ class HackWidget : public QWidget
{
public:
- bool needsOk()
- { return (getWState() & WState_Reserved1 ); }
+ bool needsOk()
+ {
+ return ( getWState() & WState_Reserved1 );
+ }
};
@@ -728,111 +771,118 @@ public:
\internal
*/
-bool QPEApplication::qwsEventFilter( QWSEvent *e )
+bool QPEApplication::qwsEventFilter( QWSEvent * e )
{
- if ( !d->notbusysent && e->type == QWSEvent::Focus ) {
- if ( qApp->type() != QApplication::GuiServer ) {
- QCopEnvelope e("QPE/System", "notBusy(QString)" );
- e << d->appName;
- }
- d->notbusysent=TRUE;
- }
- if ( type() == GuiServer ) {
- switch ( e->type ) {
- case QWSEvent::Mouse:
- if ( e->asMouse()->simpleData.state && !QWidget::find(e->window()) )
- emit clientMoused();
- }
- }
- if ( e->type == QWSEvent::Key ) {
- if ( d->kbgrabber == 1 )
- return TRUE;
- QWSKeyEvent *ke = (QWSKeyEvent *)e;
- if ( ke->simpleData.keycode == Qt::Key_F33 ) {
- // Use special "OK" key to press "OK" on top level widgets
- QWidget *active = activeWindow();
- QWidget *popup = 0;
- if ( active && active->isPopup() ) {
- popup = active;
- active = active->parentWidget();
- }
- if ( active && (int)active->winId() == ke->simpleData.window &&
- !active->testWFlags( WStyle_Customize|WType_Popup|WType_Desktop )) {
- if ( ke->simpleData.is_press ) {
- if ( popup )
- popup->close();
- if ( active->inherits( "QDialog" ) ) {
- HackDialog *d = (HackDialog *)active;
- d->acceptIt();
- return TRUE;
- } else if ( ((HackWidget *)active)->needsOk() ) {
- QSignal s;
- s.connect( active, SLOT( accept() ) );
- s.activate();
- } 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 ) {
- // 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 &&
- ke->simpleData.is_press ) {
- // Escape key closes app if focus on toplevel
- QWidget *active = activeWindow();
- if ( active && active->testWFlags( WType_TopLevel ) &&
- (int)active->winId() == ke->simpleData.window &&
- !active->testWFlags( WStyle_Dialog|WStyle_Customize|WType_Popup|WType_Desktop )) {
- if ( active->inherits( "QDialog" ) ) {
- HackDialog *d = (HackDialog *)active;
- d->rejectIt();
- return TRUE;
- } else if ( strcmp( argv()[0], "embeddedkonsole") != 0 ) {
- active->close();
- }
- }
- }
+ if ( !d->notbusysent && e->type == QWSEvent::Focus ) {
+ if ( qApp->type() != QApplication::GuiServer ) {
+ QCopEnvelope e( "QPE/System", "notBusy(QString)" );
+ e << d->appName;
+ }
+ d->notbusysent = TRUE;
+ }
+ if ( type() == GuiServer ) {
+ switch ( e->type ) {
+ case QWSEvent::Mouse:
+ if ( e->asMouse() ->simpleData.state && !QWidget::find( e->window() ) )
+ emit clientMoused();
+ }
+ }
+ if ( e->type == QWSEvent::Key ) {
+ if ( d->kbgrabber == 1 )
+ return TRUE;
+ QWSKeyEvent *ke = ( QWSKeyEvent * ) e;
+ if ( ke->simpleData.keycode == Qt::Key_F33 ) {
+ // Use special "OK" key to press "OK" on top level widgets
+ QWidget * active = activeWindow();
+ QWidget *popup = 0;
+ if ( active && active->isPopup() ) {
+ popup = active;
+ active = active->parentWidget();
+ }
+ if ( active && ( int ) active->winId() == ke->simpleData.window &&
+ !active->testWFlags( WStyle_Customize | WType_Popup | WType_Desktop ) ) {
+ if ( ke->simpleData.is_press ) {
+ if ( popup )
+ popup->close();
+ if ( active->inherits( "QDialog" ) ) {
+ HackDialog * d = ( HackDialog * ) active;
+ d->acceptIt();
+ return TRUE;
+ }
+ else if ( ( ( HackWidget * ) active ) ->needsOk() ) {
+ QSignal s;
+ s.connect( active, SLOT( accept() ) );
+ s.activate();
+ }
+ 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 ) {
+ // 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 &&
+ ke->simpleData.is_press ) {
+ // Escape key closes app if focus on toplevel
+ QWidget * active = activeWindow();
+ if ( active && active->testWFlags( WType_TopLevel ) &&
+ ( int ) active->winId() == ke->simpleData.window &&
+ !active->testWFlags( WStyle_Dialog | WStyle_Customize | WType_Popup | WType_Desktop ) ) {
+ if ( active->inherits( "QDialog" ) ) {
+ HackDialog * d = ( HackDialog * ) active;
+ d->rejectIt();
+ return TRUE;
+ }
+ else if ( strcmp( argv() [ 0 ], "embeddedkonsole" ) != 0 ) {
+ active->close();
+ }
+ }
+ }
#if QT_VERSION < 231
- // Filter out the F4/Launcher key from apps
- // ### The launcher key may not always be F4 on all devices
- if ( ((QWSKeyEvent *)e)->simpleData.keycode == Qt::Key_F4 )
- return TRUE;
+ // Filter out the F4/Launcher key from apps
+ // ### The launcher key may not always be F4 on all devices
+ if ( ( ( QWSKeyEvent * ) e ) ->simpleData.keycode == Qt::Key_F4 )
+ return TRUE;
#endif
- }
- if ( e->type == QWSEvent::Focus ) {
- QWSFocusEvent *fe = (QWSFocusEvent*)e;
- QWidget* nfw = QWidget::find(e->window());
- if ( !fe->simpleData.get_focus ) {
- QWidget *active = activeWindow();
- while ( active && active->isPopup() ) {
- active->close();
- active = activeWindow();
- }
- if ( !nfw && d->kbgrabber == 2 ) {
- ungrabKeyboard();
- d->kbregrab = TRUE; // want kb back when we're active
- }
- } else {
- // make sure our modal widget is ALWAYS on top
- QWidget *topm = activeModalWidget();
- if ( topm ) {
- topm->raise();
- }
- if ( d->kbregrab ) {
- grabKeyboard();
- d->kbregrab = FALSE;
- }
- }
- if ( fe->simpleData.get_focus && inputMethodDict ) {
- InputMethodHint m = inputMethodHint( QWidget::find(e->window()) );
- if ( m == AlwaysOff )
- Global::hideInputMethod();
- if ( m == AlwaysOn )
- Global::showInputMethod();
- }
- }
- return QApplication::qwsEventFilter( e );
+
+ }
+ if ( e->type == QWSEvent::Focus ) {
+ QWSFocusEvent * fe = ( QWSFocusEvent* ) e;
+ QWidget* nfw = QWidget::find( e->window() );
+ if ( !fe->simpleData.get_focus ) {
+ QWidget * active = activeWindow();
+ while ( active && active->isPopup() ) {
+ active->close();
+ active = activeWindow();
+ }
+ if ( !nfw && d->kbgrabber == 2 ) {
+ ungrabKeyboard();
+ d->kbregrab = TRUE; // want kb back when we're active
+ }
+ }
+ else {
+ // make sure our modal widget is ALWAYS on top
+ QWidget *topm = activeModalWidget();
+ if ( topm ) {
+ topm->raise();
+ }
+ if ( d->kbregrab ) {
+ grabKeyboard();
+ d->kbregrab = FALSE;
+ }
+ }
+ if ( fe->simpleData.get_focus && inputMethodDict ) {
+ InputMethodHint m = inputMethodHint( QWidget::find( e->window() ) );
+ if ( m == AlwaysOff )
+ Global::hideInputMethod();
+ if ( m == AlwaysOn )
+ Global::showInputMethod();
+ }
+ }
+ return QApplication::qwsEventFilter( e );
}
@@ -842,12 +892,13 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
QPEApplication::~QPEApplication()
{
- ungrabKeyboard();
+ ungrabKeyboard();
#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
- // Need to delete QCopChannels early, since the display will
- // be gone by the time we get to ~QObject().
- delete sysChannel;
- delete pidChannel;
+ // Need to delete QCopChannels early, since the display will
+ // be gone by the time we get to ~QObject().
+ delete sysChannel;
+ delete pidChannel;
#endif
- delete d;
+
+ delete d;
}
@@ -857,9 +908,9 @@ QPEApplication::~QPEApplication()
QString QPEApplication::qpeDir()
{
- const char *base = getenv( "OPIEDIR" );
- if ( base )
- return QString( base ) + "/";
+ const char * base = getenv( "OPIEDIR" );
+ if ( base )
+ return QString( base ) + "/";
- return QString( "../" );
+ return QString( "../" );
}
@@ -869,12 +920,12 @@ QString QPEApplication::qpeDir()
QString QPEApplication::documentDir()
{
- const char *base = getenv( "HOME" );
- if ( base )
- return QString( base ) + "/Documents/";
+ const char * base = getenv( "HOME" );
+ if ( base )
+ return QString( base ) + "/Documents/";
- return QString( "../Documents/" );
+ return QString( "../Documents/" );
}
-static int deforient=-1;
+static int deforient = -1;
/*!
@@ -883,17 +934,20 @@ static int deforient=-1;
int QPEApplication::defaultRotation()
{
- if ( deforient < 0 ) {
- QString d = getenv("QWS_DISPLAY");
- if ( d.contains("Rot90") ) {
- deforient = 90;
- } else if ( d.contains("Rot180") ) {
- deforient = 180;
- } else if ( d.contains("Rot270") ) {
- deforient = 270;
- } else {
- deforient=0;
- }
- }
- return deforient;
+ if ( deforient < 0 ) {
+ QString d = getenv( "QWS_DISPLAY" );
+ if ( d.contains( "Rot90" ) ) {
+ deforient = 90;
+ }
+ else if ( d.contains( "Rot180" ) ) {
+ deforient = 180;
+ }
+ else if ( d.contains( "Rot270" ) ) {
+ deforient = 270;
+ }
+ else {
+ deforient = 0;
+ }
+ }
+ return deforient;
}
@@ -901,12 +955,13 @@ int QPEApplication::defaultRotation()
\internal
*/
-void QPEApplication::setDefaultRotation(int r)
+void QPEApplication::setDefaultRotation( int r )
{
- if ( qApp->type() == GuiServer ) {
- deforient = r;
- setenv("QWS_DISPLAY", QString("Transformed:Rot%1:0").arg(r).latin1(), 1);
- } else {
- QCopEnvelope("QPE/System", "setDefaultRotation(int)") << r;
- }
+ if ( qApp->type() == GuiServer ) {
+ deforient = r;
+ setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 );
+ }
+ else {
+ QCopEnvelope( "QPE/System", "setDefaultRotation(int)" ) << r;
+ }
}
@@ -916,173 +971,196 @@ void QPEApplication::setDefaultRotation(int r)
void QPEApplication::applyStyle()
{
- Config config( "qpe" );
-
- config.setGroup( "Appearance" );
-
- // Widget style
- QString style = config.readEntry( "Style", "Light" );
- internalSetStyle( style );
-
- // Colors
- QColor bgcolor( config.readEntry( "Background", "#E5E1D5" ) );
- QColor btncolor( config.readEntry( "Button", "#D6CDBB" ) );
- QPalette pal( btncolor, bgcolor );
- QString color = config.readEntry( "Highlight", "#800000" );
- pal.setColor( QColorGroup::Highlight, QColor(color) );
- color = config.readEntry( "HighlightedText", "#FFFFFF" );
- pal.setColor( QColorGroup::HighlightedText, QColor(color) );
- color = config.readEntry( "Text", "#000000" );
- pal.setColor( QColorGroup::Text, QColor(color) );
- color = config.readEntry( "ButtonText", "#000000" );
- pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor(color) );
- color = config.readEntry( "Base", "#FFFFFF" );
- pal.setColor( QColorGroup::Base, QColor(color) );
-
- pal.setColor( QPalette::Disabled, QColorGroup::Text,
- pal.color(QPalette::Active, QColorGroup::Background).dark() );
-
- setPalette( pal, TRUE );
+ Config config( "qpe" );
+
+ config.setGroup( "Appearance" );
+
+ // Widget style
+ QString style = config.readEntry( "Style", "Light" );
+ internalSetStyle( style );
+
+ // Colors
+ QColor bgcolor( config.readEntry( "Background", "#E5E1D5" ) );
+ QColor btncolor( config.readEntry( "Button", "#D6CDBB" ) );
+ QPalette pal( btncolor, bgcolor );
+ QString color = config.readEntry( "Highlight", "#800000" );
+ pal.setColor( QColorGroup::Highlight, QColor( color ) );
+ color = config.readEntry( "HighlightedText", "#FFFFFF" );
+ pal.setColor( QColorGroup::HighlightedText, QColor( color ) );
+ color = config.readEntry( "Text", "#000000" );
+ pal.setColor( QColorGroup::Text, QColor( color ) );
+ color = config.readEntry( "ButtonText", "#000000" );
+ pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) );
+ color = config.readEntry( "Base", "#FFFFFF" );
+ pal.setColor( QColorGroup::Base, QColor( color ) );
+
+ pal.setColor( QPalette::Disabled, QColorGroup::Text,
+ pal.color( QPalette::Active, QColorGroup::Background ).dark() );
+
+ setPalette( pal, TRUE );
}
-void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
+void QPEApplication::systemMessage( const QCString & msg, const QByteArray & data )
{
#ifdef Q_WS_QWS
- QDataStream stream( data, IO_ReadOnly );
- if ( msg == "applyStyle()" ) {
- applyStyle();
- } else if ( msg == "setScreenSaverInterval(int)" ) {
- if ( type() == GuiServer ) {
- int time;
- stream >> time;
- setScreenSaverInterval(time);
- }
- } 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)" ) {
- if ( type() == GuiServer ) {
- int bright;
- stream >> bright;
- setBacklight(bright);
- }
- } else if ( msg == "setDefaultRotation(int)" ) {
- if ( type() == GuiServer ) {
- int r;
- stream >> r;
- setDefaultRotation(r);
- }
- } else if ( msg == "shutdown()" ) {
- if ( type() == GuiServer )
- shutdown();
- } else if ( msg == "quit()" ) {
- if ( type() != GuiServer )
- tryQuit();
- } else if ( msg == "forceQuit()" ) {
- if ( type() != GuiServer )
- quit();
- } else if ( msg == "restart()" ) {
- if ( type() == GuiServer )
- restart();
- } else if ( msg == "grabKeyboard(QString)" ) {
- QString who;
- stream >> who;
- if ( who.isEmpty() )
- d->kbgrabber = 0;
- else if ( who != d->appName )
- d->kbgrabber = 1;
- else
- d->kbgrabber = 2;
- } else if ( msg == "language(QString)" ) {
- if ( type() == GuiServer ) {
- QString l;
- stream >> l;
- QString cl = getenv("LANG");
- if ( cl != l ) {
- if ( l.isNull() )
- unsetenv( "LANG" );
- else
- setenv( "LANG", l.latin1(), 1 );
- restart();
- }
- }
- } else if ( msg == "timeChange(QString)" ) {
- QString t;
- stream >> t;
- if ( t.isNull() )
- unsetenv( "TZ" );
- else
- setenv( "TZ", t.latin1(), 1 );
- // emit the signal so everyone else knows...
- emit timeChanged();
- } else if ( msg == "execute(QString)" ) {
- if ( type() == GuiServer ) {
- QString t;
- stream >> t;
- Global::execute( t );
- }
- } 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)" ) {
- if ( type() == GuiServer ) {
- QDateTime when;
- QCString channel, message;
- int data;
- stream >> when >> channel >> message >> data;
- AlarmServer::addAlarm( when, channel, message, data );
- }
- } else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) {
- if ( type() == GuiServer ) {
- QDateTime when;
- QCString channel, message;
- int data;
- stream >> when >> channel >> message >> data;
- AlarmServer::deleteAlarm( when, channel, message, data );
- }
- } else if ( msg == "clockChange(bool)" ) {
- int tmp;
- stream >> tmp;
- emit clockChanged( tmp );
- } else if ( msg == "weekChange(bool)" ) {
- int tmp;
- stream >> tmp;
- emit weekChanged( tmp );
- } else if ( msg == "setDateFormat(DateFormat)" ) {
- DateFormat tmp;
- stream >> tmp;
- emit dateFormatChanged( tmp );
- } else if ( msg == "setVolume(int,int)" ) {
- int t,v;
- stream >> t >> v;
- setVolume(t,v);
- emit volumeChanged( muted );
- } 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>
- 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>
- stream >> micMuted;
- setMic();
- emit micChanged( micMuted );
- } else if ( msg == "setScreenSaverMode(int)" ) {
- if ( type() == GuiServer ) {
- int old = disable_suspend;
- stream >> disable_suspend;
- //qDebug("setScreenSaverMode(%d)", disable_suspend );
- if ( disable_suspend > old )
- setScreenSaverInterval( -1 );
- }
- }
+ QDataStream stream( data, IO_ReadOnly );
+ if ( msg == "applyStyle()" ) {
+ applyStyle();
+ }
+ else if ( msg == "setScreenSaverInterval(int)" ) {
+ if ( type() == GuiServer ) {
+ int time;
+ stream >> time;
+ setScreenSaverInterval( time );
+ }
+ }
+ 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)" ) {
+ if ( type() == GuiServer ) {
+ int bright;
+ stream >> bright;
+ setBacklight( bright );
+ }
+ }
+ else if ( msg == "setDefaultRotation(int)" ) {
+ if ( type() == GuiServer ) {
+ int r;
+ stream >> r;
+ setDefaultRotation( r );
+ }
+ }
+ else if ( msg == "shutdown()" ) {
+ if ( type() == GuiServer )
+ shutdown();
+ }
+ else if ( msg == "quit()" ) {
+ if ( type() != GuiServer )
+ tryQuit();
+ }
+ else if ( msg == "forceQuit()" ) {
+ if ( type() != GuiServer )
+ quit();
+ }
+ else if ( msg == "restart()" ) {
+ if ( type() == GuiServer )
+ restart();
+ }
+ else if ( msg == "grabKeyboard(QString)" ) {
+ QString who;
+ stream >> who;
+ if ( who.isEmpty() )
+ d->kbgrabber = 0;
+ else if ( who != d->appName )
+ d->kbgrabber = 1;
+ else
+ d->kbgrabber = 2;
+ }
+ else if ( msg == "language(QString)" ) {
+ if ( type() == GuiServer ) {
+ QString l;
+ stream >> l;
+ QString cl = getenv( "LANG" );
+ if ( cl != l ) {
+ if ( l.isNull() )
+ unsetenv( "LANG" );
+ else
+ setenv( "LANG", l.latin1(), 1 );
+ restart();
+ }
+ }
+ }
+ else if ( msg == "timeChange(QString)" ) {
+ QString t;
+ stream >> t;
+ if ( t.isNull() )
+ unsetenv( "TZ" );
+ else
+ setenv( "TZ", t.latin1(), 1 );
+ // emit the signal so everyone else knows...
+ emit timeChanged();
+ }
+ else if ( msg == "execute(QString)" ) {
+ if ( type() == GuiServer ) {
+ QString t;
+ stream >> t;
+ Global::execute( t );
+ }
+ }
+ 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)" ) {
+ if ( type() == GuiServer ) {
+ QDateTime when;
+ QCString channel, message;
+ int data;
+ stream >> when >> channel >> message >> data;
+ AlarmServer::addAlarm( when, channel, message, data );
+ }
+ }
+ else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) {
+ if ( type() == GuiServer ) {
+ QDateTime when;
+ QCString channel, message;
+ int data;
+ stream >> when >> channel >> message >> data;
+ AlarmServer::deleteAlarm( when, channel, message, data );
+ }
+ }
+ else if ( msg == "clockChange(bool)" ) {
+ int tmp;
+ stream >> tmp;
+ emit clockChanged( tmp );
+ }
+ else if ( msg == "weekChange(bool)" ) {
+ int tmp;
+ stream >> tmp;
+ emit weekChanged( tmp );
+ }
+ else if ( msg == "setDateFormat(DateFormat)" ) {
+ DateFormat tmp;
+ stream >> tmp;
+ emit dateFormatChanged( tmp );
+ }
+ else if ( msg == "setVolume(int,int)" ) {
+ int t, v;
+ stream >> t >> v;
+ setVolume( t, v );
+ emit volumeChanged( muted );
+ }
+ 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>
+ 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>
+ stream >> micMuted;
+ setMic();
+ emit micChanged( micMuted );
+ }
+ else if ( msg == "setScreenSaverMode(int)" ) {
+ if ( type() == GuiServer ) {
+ int old = disable_suspend;
+ stream >> disable_suspend;
+ //qDebug("setScreenSaverMode(%d)", disable_suspend );
+ if ( disable_suspend > old )
+ setScreenSaverInterval( -1 );
+ }
+ }
#endif
}
@@ -1093,77 +1171,90 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
bool QPEApplication::raiseAppropriateWindow()
{
- bool r=FALSE;
- // ########## 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 && d->keep_running ) {
- if ( top->isVisible() )
- r = TRUE;
+ bool r = FALSE;
+ // ########## 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 && d->keep_running ) {
+ if ( top->isVisible() )
+ r = TRUE;
#ifdef Q_WS_QWS
- if ( !d->nomaximize )
- top->showMaximized();
- else
+
+ if ( !d->nomaximize )
+ top->showMaximized();
+ else
#endif
- top->show();
- top->raise();
- top->setActiveWindow();
- }
- QWidget *topm = activeModalWidget();
- if ( topm && topm != top ) {
- topm->show();
- topm->raise();
- topm->setActiveWindow();
- r = FALSE;
- }
- return r;
+
+ top->show();
+ top->raise();
+ top->setActiveWindow();
+ }
+ QWidget *topm = activeModalWidget();
+ if ( topm && topm != top ) {
+ topm->show();
+ topm->raise();
+ topm->setActiveWindow();
+ r = FALSE;
+ }
+ return r;
}
-void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
+void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data )
{
#ifdef Q_WS_QWS
- if ( msg == "quit()" ) {
- tryQuit();
- } else if ( msg == "quitIfInvisible()" ) {
- if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() )
- quit();
- } else if ( msg == "close()" ) {
- hideOrQuit();
- } else if ( msg == "disablePreload()" ) {
- d->preloaded = FALSE;
- d->keep_running = TRUE;
- /* so that quit will quit */
- } else if ( msg == "enablePreload()" ) {
- d->preloaded = TRUE;
- d->keep_running = TRUE;
- /* so next quit won't quit */
- } else if ( msg == "raise()" ) {
- d->keep_running = TRUE;
- d->notbusysent = FALSE;
- raiseAppropriateWindow();
- } 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()" ) {
- emit reload();
- } else if ( msg == "setDocument(QString)" ) {
- d->keep_running = TRUE;
- QDataStream stream( data, IO_ReadOnly );
- QString doc;
- stream >> doc;
- QWidget *mw = mainWidget();
- if ( !mw )
- mw = d->qpe_main_widget;
- if ( mw )
- Global::setDocument( mw, doc );
- } else if ( msg == "nextView()" ) {
- if ( raiseAppropriateWindow() )
- emit appMessage( msg, data);
- } else {
- emit appMessage( msg, data);
- }
+ if ( msg == "quit()" ) {
+ tryQuit();
+ }
+ else if ( msg == "quitIfInvisible()" ) {
+ if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() )
+ quit();
+ }
+ else if ( msg == "close()" ) {
+ hideOrQuit();
+ }
+ else if ( msg == "disablePreload()" ) {
+ d->preloaded = FALSE;
+ d->keep_running = TRUE;
+ /* so that quit will quit */
+ }
+ else if ( msg == "enablePreload()" ) {
+ d->preloaded = TRUE;
+ d->keep_running = TRUE;
+ /* so next quit won't quit */
+ }
+ else if ( msg == "raise()" ) {
+ d->keep_running = TRUE;
+ d->notbusysent = FALSE;
+ raiseAppropriateWindow();
+ }
+ 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()" ) {
+ emit reload();
+ }
+ else if ( msg == "setDocument(QString)" ) {
+ d->keep_running = TRUE;
+ QDataStream stream( data, IO_ReadOnly );
+ QString doc;
+ stream >> doc;
+ QWidget *mw = mainWidget();
+ if ( !mw )
+ mw = d->qpe_main_widget;
+ if ( mw )
+ Global::setDocument( mw, doc );
+ }
+ else if ( msg == "nextView()" ) {
+ if ( raiseAppropriateWindow() )
+ emit appMessage( msg, data );
+ }
+ else {
+ emit appMessage( msg, data );
+ }
#endif
}
@@ -1172,23 +1263,23 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
static bool setWidgetCaptionFromAppName( QWidget* /*mw*/, const QString& /*appName*/, const QString& /*appsPath*/ )
{
-/*
- // This works but disable it for now until it is safe to apply
- // What is does is scan the .desktop files of all the apps for
- // the applnk that has the corresponding argv[0] as this program
- // then it uses the name stored in the .desktop file as the caption
- // for the main widget. This saves duplicating translations for
- // the app name in the program and in the .desktop files.
-
- AppLnkSet apps( appsPath );
-
- QList<AppLnk> appsList = apps.children();
- for ( QListIterator<AppLnk> it(appsList); it.current(); ++it ) {
- if ( (*it)->exec() == appName ) {
- mw->setCaption( (*it)->name() );
- return TRUE;
- }
- }
-*/
- return FALSE;
+ /*
+ // This works but disable it for now until it is safe to apply
+ // What is does is scan the .desktop files of all the apps for
+ // the applnk that has the corresponding argv[0] as this program
+ // then it uses the name stored in the .desktop file as the caption
+ // for the main widget. This saves duplicating translations for
+ // the app name in the program and in the .desktop files.
+
+ AppLnkSet apps( appsPath );
+
+ QList<AppLnk> appsList = apps.children();
+ for ( QListIterator<AppLnk> it(appsList); it.current(); ++it ) {
+ if ( (*it)->exec() == appName ) {
+ mw->setCaption( (*it)->name() );
+ return TRUE;
+ }
+ }
+ */
+ return FALSE;
}
@@ -1197,31 +1288,34 @@ static bool setWidgetCaptionFromAppName( QWidget* /*mw*/, const QString& /*appNa
Sets \a mw as the mainWidget() and shows it. For small windows,
consider passing TRUE for \a nomaximize rather than the default FALSE.
-
+
\sa showMainDocumentWidget()
*/
void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
{
- setWidgetCaptionFromAppName( mw, d->appName, qpeDir() + "apps" );
+ setWidgetCaptionFromAppName( mw, d->appName, qpeDir() + "apps" );
- d->nomaximize = nomaximize;
- d->qpe_main_widget = mw;
- d->sendQCopQ();
- if ( d->preloaded ) {
- if(d->forceshow) {
+ d->nomaximize = nomaximize;
+ d->qpe_main_widget = mw;
+ d->sendQCopQ();
+ if ( d->preloaded ) {
+ if ( d->forceshow ) {
#ifdef Q_WS_QWS
- if ( !nomaximize )
- mw->showMaximized();
- else
+ if ( !nomaximize )
+ mw->showMaximized();
+ else
#endif
- mw->show();
- }
- } else if ( d->keep_running ) {
+
+ mw->show();
+ }
+ }
+ else if ( d->keep_running ) {
#ifdef Q_WS_QWS
- if ( !nomaximize )
- mw->showMaximized();
- else
+ if ( !nomaximize )
+ mw->showMaximized();
+ else
#endif
- mw->show();
- }
+
+ mw->show();
+ }
}
@@ -1229,38 +1323,41 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
Sets \a mw as the mainWidget() and shows it. For small windows,
consider passing TRUE for \a nomaximize rather than the default FALSE.
-
+
This calls designates the application as
a \link docwidget.html document-oriented\endlink application.
-
+
The \a mw widget must have a slot: setDocument(const QString&).
-
+
\sa showMainWidget()
*/
void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize )
{
- setWidgetCaptionFromAppName( mw, d->appName, qpeDir() + "apps" );
-
- if ( mw && argc() == 2 )
- Global::setDocument( mw, QString::fromUtf8(argv()[1]) );
- d->nomaximize = nomaximize;
- d->qpe_main_widget = mw;
- d->sendQCopQ();
- if ( d->preloaded ) {
- if(d->forceshow) {
+ setWidgetCaptionFromAppName( mw, d->appName, qpeDir() + "apps" );
+
+ if ( mw && argc() == 2 )
+ Global::setDocument( mw, QString::fromUtf8( argv() [ 1 ] ) );
+ d->nomaximize = nomaximize;
+ d->qpe_main_widget = mw;
+ d->sendQCopQ();
+ if ( d->preloaded ) {
+ if ( d->forceshow ) {
#ifdef Q_WS_QWS
- if ( !nomaximize )
- mw->showMaximized();
- else
+ if ( !nomaximize )
+ mw->showMaximized();
+ else
#endif
- mw->show();
- }
- } else if ( d->keep_running ) {
+
+ mw->show();
+ }
+ }
+ else if ( d->keep_running ) {
#ifdef Q_WS_QWS
- if ( !nomaximize )
- mw->showMaximized();
- else
+ if ( !nomaximize )
+ mw->showMaximized();
+ else
#endif
- mw->show();
- }
+
+ mw->show();
+ }
}
@@ -1272,13 +1369,13 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize )
processing the qcop message it calls this function, then the application
will show and start proper once it has finished processing qcop messages.
-
+
\sa keepRunning()
*/
void QPEApplication::setKeepRunning()
{
- if ( qApp && qApp->inherits( "QPEApplication" ) ) {
- QPEApplication *qpeApp = (QPEApplication*)qApp;
- qpeApp->d->keep_running = TRUE;
- }
+ if ( qApp && qApp->inherits( "QPEApplication" ) ) {
+ QPEApplication * qpeApp = ( QPEApplication* ) qApp;
+ qpeApp->d->keep_running = TRUE;
+ }
}
@@ -1286,10 +1383,10 @@ void QPEApplication::setKeepRunning()
Returns whether the application will quit after processing the current
list of qcop messages.
-
+
\sa setKeepRunning()
*/
bool QPEApplication::keepRunning() const
{
- return d->keep_running;
+ return d->keep_running;
}
@@ -1300,81 +1397,118 @@ void QPEApplication::internalSetStyle( const QString &style )
{
#if QT_VERSION >= 300
- if ( style == "QPE" ) {
- setStyle( new QPEStyle );
- } else {
- QStyle *s = QStyleFactory::create(style);
- if ( s ) setStyle(s);
- }
+ if ( style == "QPE" ) {
+ setStyle( new QPEStyle );
+ }
+ else {
+ QStyle *s = QStyleFactory::create( style );
+ if ( s )
+ setStyle( s );
+ }
#else
- if ( style == "Windows" ) {
- setStyle( new QWindowsStyle );
- } else if ( style == "QPE" ) {
- setStyle( new QPEStyle );
- } else if ( style == "Light" ) {
- setStyle( new LightStyle );
- }
+ if ( style == "Windows" ) {
+ setStyle( new QWindowsStyle );
+ }
+ else if ( style == "QPE" ) {
+ setStyle( new QPEStyle );
+ }
+ else if ( style == "Light" ) {
+ setStyle( new LightStyle );
+ }
#ifndef QT_NO_STYLE_PLATINUM
- else if ( style == "Platinum" ) {
- setStyle( new QPlatinumStyle );
- }
+ else if ( style == "Platinum" ) {
+ setStyle( new QPlatinumStyle );
+ }
#endif
#ifndef QT_NO_STYLE_MOTIF
- else if ( style == "Motif" ) {
- setStyle( new QMotifStyle );
- }
+ else if ( style == "Motif" ) {
+ setStyle( new QMotifStyle );
+ }
#endif
#ifndef QT_NO_STYLE_MOTIFPLUS
- else if ( style == "MotifPlus" ) {
- setStyle( new QMotifPlusStyle );
- }
+ else if ( style == "MotifPlus" ) {
+ setStyle( new QMotifPlusStyle );
+ }
#endif
// 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 ( ']' );
int p1 = style. findRev ( '[' );
QString style2;
-
- if (( p1 > 0 ) && ( p2 > 0 ) && (( p1 + 1 ) < p2 ))
+
+ if ( ( p1 > 0 ) && ( p2 > 0 ) && ( ( p1 + 1 ) < p2 ) )
style2 = "lib" + style. mid ( p1 + 1, p2 - p1 - 1 ). lower ( ) + ".so";
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 ) ( );
-
+ QStyle * sty = ( *fpa ) ( );
+
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
}
- // HACK for Qt2 only
#endif
}
@@ -1383,23 +1517,24 @@ void QPEApplication::internalSetStyle( const QString &style )
\internal
*/
-void QPEApplication::prepareForTermination(bool willrestart)
+void QPEApplication::prepareForTermination( bool willrestart )
{
- if ( willrestart ) {
- // Draw a big wait icon, the image can be altered in later revisions
-// QWidget *d = QApplication::desktop();
- QImage img = Resource::loadImage( "launcher/new_wait" );
- QPixmap pix;
- pix.convertFromImage(img.smoothScale(1*img.width(), 1*img.height()));
- QLabel *lblWait = new QLabel(0, "wait hack!", QWidget::WStyle_Customize |
- QWidget::WStyle_NoBorder | QWidget::WStyle_Tool );
- lblWait->setPixmap( pix );
- lblWait->setAlignment( QWidget::AlignCenter );
- lblWait->show();
- lblWait->showMaximized();
- }
+ if ( willrestart ) {
+ // Draw a big wait icon, the image can be altered in later revisions
+ // QWidget *d = QApplication::desktop();
+ QImage img = Resource::loadImage( "launcher/new_wait" );
+ QPixmap pix;
+ pix.convertFromImage( img.smoothScale( 1 * img.width(), 1 * img.height() ) );
+ QLabel *lblWait = new QLabel( 0, "wait hack!", QWidget::WStyle_Customize |
+ QWidget::WStyle_NoBorder | QWidget::WStyle_Tool );
+ lblWait->setPixmap( pix );
+ lblWait->setAlignment( QWidget::AlignCenter );
+ lblWait->show();
+ lblWait->showMaximized();
+ }
#ifndef SINGLE_APP
- { QCopEnvelope envelope("QPE/System", "forceQuit()"); }
- processEvents(); // ensure the message goes out.
- sleep(1); // You have 1 second to comply.
+ { QCopEnvelope envelope( "QPE/System", "forceQuit()" );
+ }
+ processEvents(); // ensure the message goes out.
+ sleep( 1 ); // You have 1 second to comply.
#endif
}
@@ -1410,5 +1545,5 @@ void QPEApplication::prepareForTermination(bool willrestart)
void QPEApplication::shutdown()
{
- // Implement in server's QPEApplication subclass
+ // Implement in server's QPEApplication subclass
}
@@ -1418,34 +1553,34 @@ void QPEApplication::shutdown()
void QPEApplication::restart()
{
- // Implement in server's QPEApplication subclass
+ // Implement in server's QPEApplication subclass
}
-static QPtrDict<void>* stylusDict=0;
+static QPtrDict<void>* stylusDict = 0;
static void createDict()
{
- if ( !stylusDict )
- stylusDict = new QPtrDict<void>;
+ if ( !stylusDict )
+ stylusDict = new QPtrDict<void>;
}
/*!
Returns the current StylusMode for \a w.
-
+
\sa setStylusOperation()
*/
-QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w )
+QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget * w )
{
- if ( stylusDict )
- return (StylusMode)(int)stylusDict->find(w);
- return LeftOnly;
+ if ( stylusDict )
+ return ( StylusMode ) ( int ) stylusDict->find( w );
+ return LeftOnly;
}
/*!
\enum QPEApplication::StylusMode
-
+
\value LeftOnly the stylus only generates LeftButton
events (the default).
\value RightOnHold the stylus generates RightButton events
if the user uses the press-and-hold gesture.
-
+
See setStylusOperation().
*/
@@ -1453,18 +1588,20 @@ QPEApplication::StylusMode QPEApplication::stylusOperation( QWidget* w )
/*!
Causes \a w to receive mouse events according to \a mode.
-
+
\sa stylusOperation()
*/
-void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode )
+void QPEApplication::setStylusOperation( QWidget * w, StylusMode mode )
{
- createDict();
- if ( mode == LeftOnly ) {
- stylusDict->remove(w);
- w->removeEventFilter(qApp);
- } else {
- stylusDict->insert(w,(void*)mode);
- connect(w,SIGNAL(destroyed()),qApp,SLOT(removeSenderFromStylusDict()));
- w->installEventFilter(qApp);
- }
+ createDict();
+ if ( mode == LeftOnly ) {
+ stylusDict->remove
+ ( w );
+ w->removeEventFilter( qApp );
+ }
+ else {
+ stylusDict->insert( w, ( void* ) mode );
+ connect( w, SIGNAL( destroyed() ), qApp, SLOT( removeSenderFromStylusDict() ) );
+ w->installEventFilter( qApp );
+ }
}
@@ -1475,58 +1612,59 @@ void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode )
bool QPEApplication::eventFilter( QObject *o, QEvent *e )
{
- if ( stylusDict && e->type() >= QEvent::MouseButtonPress && e->type() <= QEvent::MouseMove ) {
- QMouseEvent* me = (QMouseEvent*)e;
- if ( me->button() == LeftButton ) {
- StylusMode mode = (StylusMode)(int)stylusDict->find(o);
- switch (mode) {
- case RightOnHold:
- switch ( me->type() ) {
- case QEvent::MouseButtonPress:
- d->presstimer = startTimer(500); // #### pref.
- d->presswidget = (QWidget*)o;
- d->presspos = me->pos();
- d->rightpressed = FALSE;
- break;
- case QEvent::MouseButtonRelease:
- if ( d->presstimer ) {
- killTimer(d->presstimer);
- d->presstimer = 0;
- }
- if ( d->rightpressed && d->presswidget ) {
- // Right released
- postEvent( d->presswidget,
- new QMouseEvent( QEvent::MouseButtonRelease, me->pos(),
- RightButton, LeftButton+RightButton ) );
- // Left released, off-widget
- postEvent( d->presswidget,
- new QMouseEvent( QEvent::MouseMove, QPoint(-1,-1),
- LeftButton, LeftButton ) );
- postEvent( d->presswidget,
- new QMouseEvent( QEvent::MouseButtonRelease, QPoint(-1,-1),
- LeftButton, LeftButton ) );
- d->rightpressed = FALSE;
- return TRUE; // don't send the real Left release
- }
- break;
- default:
- break;
- }
- break;
- default:
- ;
- }
- }
- } 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" ) ) {
- postEvent( o, new QKeyEvent( e->type(), Key_Space, ' ',
- ke->state(), " ", ke->isAutoRepeat(), ke->count() ) );
- return TRUE;
- }
- }
- }
+ if ( stylusDict && e->type() >= QEvent::MouseButtonPress && e->type() <= QEvent::MouseMove ) {
+ QMouseEvent * me = ( QMouseEvent* ) e;
+ if ( me->button() == LeftButton ) {
+ StylusMode mode = ( StylusMode ) ( int ) stylusDict->find( o );
+ switch ( mode ) {
+ case RightOnHold:
+ switch ( me->type() ) {
+ case QEvent::MouseButtonPress:
+ d->presstimer = startTimer( 500 ); // #### pref.
+ d->presswidget = ( QWidget* ) o;
+ d->presspos = me->pos();
+ d->rightpressed = FALSE;
+ break;
+ case QEvent::MouseButtonRelease:
+ if ( d->presstimer ) {
+ killTimer( d->presstimer );
+ d->presstimer = 0;
+ }
+ if ( d->rightpressed && d->presswidget ) {
+ // Right released
+ postEvent( d->presswidget,
+ new QMouseEvent( QEvent::MouseButtonRelease, me->pos(),
+ RightButton, LeftButton + RightButton ) );
+ // Left released, off-widget
+ postEvent( d->presswidget,
+ new QMouseEvent( QEvent::MouseMove, QPoint( -1, -1 ),
+ LeftButton, LeftButton ) );
+ postEvent( d->presswidget,
+ new QMouseEvent( QEvent::MouseButtonRelease, QPoint( -1, -1 ),
+ LeftButton, LeftButton ) );
+ d->rightpressed = FALSE;
+ return TRUE; // don't send the real Left release
+ }
+ break;
+ default:
+ break;
+ }
+ break;
+ default:
+ ;
+ }
+ }
+ }
+ 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" ) ) {
+ postEvent( o, new QKeyEvent( e->type(), Key_Space, ' ',
+ ke->state(), " ", ke->isAutoRepeat(), ke->count() ) );
+ return TRUE;
+ }
+ }
+ }
- return FALSE;
+ return FALSE;
}
@@ -1536,20 +1674,21 @@ bool QPEApplication::eventFilter( QObject *o, QEvent *e )
void QPEApplication::timerEvent( QTimerEvent *e )
{
- if ( e->timerId() == d->presstimer && d->presswidget ) {
- // Right pressed
- postEvent( d->presswidget,
- new QMouseEvent( QEvent::MouseButtonPress, d->presspos,
- RightButton, LeftButton ) );
- killTimer( d->presstimer );
- d->presstimer = 0;
- d->rightpressed = TRUE;
- }
+ if ( e->timerId() == d->presstimer && d->presswidget ) {
+ // Right pressed
+ postEvent( d->presswidget,
+ new QMouseEvent( QEvent::MouseButtonPress, d->presspos,
+ RightButton, LeftButton ) );
+ killTimer( d->presstimer );
+ d->presstimer = 0;
+ d->rightpressed = TRUE;
+ }
}
void QPEApplication::removeSenderFromStylusDict()
{
- stylusDict->remove((void*)sender());
- if ( d->presswidget == sender() )
- d->presswidget = 0;
+ stylusDict->remove
+ ( ( void* ) sender() );
+ if ( d->presswidget == sender() )
+ d->presswidget = 0;
}
@@ -1559,5 +1698,5 @@ void QPEApplication::removeSenderFromStylusDict()
bool QPEApplication::keyboardGrabbed() const
{
- return d->kbgrabber;
+ return d->kbgrabber;
}
@@ -1569,11 +1708,11 @@ bool QPEApplication::keyboardGrabbed() const
void QPEApplication::ungrabKeyboard()
{
- QPEApplicationData* d = ((QPEApplication*)qApp)->d;
- if ( d->kbgrabber == 2 ) {
- QCopEnvelope e("QPE/System", "grabKeyboard(QString)" );
- e << QString::null;
- d->kbregrab = FALSE;
- d->kbgrabber = 0;
- }
+ QPEApplicationData * d = ( ( QPEApplication* ) qApp ) ->d;
+ if ( d->kbgrabber == 2 ) {
+ QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" );
+ e << QString::null;
+ d->kbregrab = FALSE;
+ d->kbgrabber = 0;
+ }
}
@@ -1582,17 +1721,17 @@ void QPEApplication::ungrabKeyboard()
keys no longer work, and instead they are receivable by this
application.
-
+
\sa ungrabKeyboard()
*/
void QPEApplication::grabKeyboard()
{
- QPEApplicationData* d = ((QPEApplication*)qApp)->d;
- if ( qApp->type() == QApplication::GuiServer )
- d->kbgrabber = 0;
- else {
- QCopEnvelope e("QPE/System", "grabKeyboard(QString)" );
- e << d->appName;
- d->kbgrabber = 2; // me
- }
+ QPEApplicationData * d = ( ( QPEApplication* ) qApp ) ->d;
+ if ( qApp->type() == QApplication::GuiServer )
+ d->kbgrabber = 0;
+ else {
+ QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" );
+ e << d->appName;
+ d->kbgrabber = 2; // me
+ }
}
@@ -1602,15 +1741,15 @@ void QPEApplication::grabKeyboard()
int QPEApplication::exec()
{
- d->sendQCopQ();
- if ( d->keep_running)
- //|| d->qpe_main_widget && d->qpe_main_widget->isVisible() )
- return QApplication::exec();
-
- {
- QCopEnvelope e("QPE/System", "closing(QString)" );
- e << d->appName;
- }
- processEvents();
- return 0;
+ d->sendQCopQ();
+ if ( d->keep_running )
+ //|| d->qpe_main_widget && d->qpe_main_widget->isVisible() )
+ return QApplication::exec();
+
+ {
+ QCopEnvelope e( "QPE/System", "closing(QString)" );
+ e << d->appName;
+ }
+ processEvents();
+ return 0;
}
@@ -1622,13 +1761,13 @@ int QPEApplication::exec()
void QPEApplication::tryQuit()
{
- if ( activeModalWidget() || strcmp( argv()[0], "embeddedkonsole") == 0 )
- return; // Inside modal loop or konsole. Too hard to save state.
- {
- QCopEnvelope e("QPE/System", "closing(QString)" );
- e << d->appName;
- }
- processEvents();
+ if ( activeModalWidget() || strcmp( argv() [ 0 ], "embeddedkonsole" ) == 0 )
+ return ; // Inside modal loop or konsole. Too hard to save state.
+ {
+ QCopEnvelope e( "QPE/System", "closing(QString)" );
+ e << d->appName;
+ }
+ processEvents();
- quit();
+ quit();
}
@@ -1641,14 +1780,14 @@ void QPEApplication::tryQuit()
void QPEApplication::hideOrQuit()
{
- // notify of our demise :)
- {
- QCopEnvelope e("QPE/System", "closing(QString)" );
- e << d->appName;
- }
- processEvents();
- if ( d->preloaded && d->qpe_main_widget )
- d->qpe_main_widget->hide();
- else
- quit();
+ // notify of our demise :)
+ {
+ QCopEnvelope e( "QPE/System", "closing(QString)" );
+ e << d->appName;
+ }
+ processEvents();
+ if ( d->preloaded && d->qpe_main_widget )
+ d->qpe_main_widget->hide();
+ else
+ quit();
}
@@ -1660,32 +1799,32 @@ void QPEApplication::hideOrQuit()
// functions.
-void* operator new[](size_t size)
+void* operator new[] ( size_t size )
{
- return malloc(size);
+ return malloc( size );
}
-void* operator new(size_t size)
+void* operator new( size_t size )
{
- return malloc(size);
+ return malloc( size );
}
-void operator delete[](void* p)
+void operator delete[] ( void* p )
{
- free(p);
+ free( p );
}
-void operator delete[](void* p, size_t /*size*/)
+void operator delete[] ( void* p, size_t /*size*/ )
{
- free(p);
+ free( p );
}
-void operator delete(void* p)
+void operator delete( void* p )
{
- free(p);
+ free( p );
}
-void operator delete(void* p, size_t /*size*/)
+void operator delete( void* p, size_t /*size*/ )
{
- free(p);
+ free( p );
}
@@ -1696,21 +1835,20 @@ void operator delete(void* p, size_t /*size*/)
#include <qgfx_qws.h>
extern QRect qt_maxWindowRect;
-void qt_setMaxWindowRect(const QRect& r)
+void qt_setMaxWindowRect( const QRect & r )
{
- qt_maxWindowRect = qt_screen->mapFromDevice(r,
- qt_screen->mapToDevice(QSize(qt_screen->width(),qt_screen->height())));
- // Re-resize any maximized windows
- QWidgetList* l = QApplication::topLevelWidgets();
- if ( l ) {
- QWidget *w = l->first();
- while ( w ) {
- if ( w->isVisible() && w->isMaximized() )
- {
- w->showMaximized();
- }
- w = l->next();
- }
- delete l;
- }
+ qt_maxWindowRect = qt_screen->mapFromDevice( r,
+ qt_screen->mapToDevice( QSize( qt_screen->width(), qt_screen->height() ) ) );
+ // Re-resize any maximized windows
+ QWidgetList* l = QApplication::topLevelWidgets();
+ if ( l ) {
+ QWidget * w = l->first();
+ while ( w ) {
+ if ( w->isVisible() && w->isMaximized() ) {
+ w->showMaximized();
+ }
+ w = l->next();
+ }
+ delete l;
+ }
}
#endif
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 *LiquidInterface::create ( )
+{
+ return new LiquidStyle ( );
+}
+
+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 QCString ( "liquid" );
+}
+
+unsigned int LiquidInterface::version ( )
+{
+ return 100; // 1.0.0 (\d+.\d.\d)
+}
+
+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 )
}
-QStyle* allocate ( )
+
+LiquidSettingsInterface::LiquidSettingsInterface ( ) : ref ( 0 )
+{
+ m_widget = 0;
+}
+
+LiquidSettingsInterface::~LiquidSettingsInterface ( )
{
- return new LiquidStyle ( );
+}
+
+QWidget *LiquidSettingsInterface::create ( QWidget *parent, const char *name )
+{
+ m_widget = new LiquidSettings ( parent, name ? name : "LIQUID-SETTINGS" );
+
+ return m_widget;
}
-int minor_version ( )
+bool LiquidSettingsInterface::accept ( )
{
- return 0;
+ if ( !m_widget )
+ return false;
+
+ return m_widget-> writeConfig ( );
}
-int major_version ( )
+void LiquidSettingsInterface::reject ( )
{
- return 1;
}
-const char *description ( )
+QRESULT LiquidSettingsInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
{
- return "High Performance Liquid";
+ *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 )
+{
+}
+
+MetalInterface::~MetalInterface ( )
+{
+}
+
+QStyle *MetalInterface::create ( )
+{
+ return new MetalStyle ( );
+}
+
+QString MetalInterface::name ( )
+{
+ return QObject::tr( "Metal", "name" );
+}
+
+QString MetalInterface::description ( )
+{
+ return QObject::tr( "Metal style", "description" );
}
-QStyle* allocate ( )
+QCString MetalInterface::key ( )
{
- return new MetalStyle ( );
+ return QCString ( "metal" );
}
-int minor_version ( )
+unsigned int MetalInterface::version ( )
{
- return 0;
+ return 100; // 1.0.0 (\d+.\d.\d)
}
-int major_version ( )
+QRESULT MetalInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
{
- return 1;
+ *iface = 0;
+
+ if ( uuid == IID_QUnknown )
+ *iface = this;
+ else if ( uuid == IID_Style )
+ *iface = this;
+
+ if ( *iface )
+ (*iface)-> addRef ( );
+
+ return QS_OK;
}
-const char *description ( )
+Q_EXPORT_INTERFACE()
{
- return "Metal style plugin";
+ 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 )
{
- QStyle * allocate() {
- return new OThemeStyle ( "" );
- }
- int minor_version() {
- return 0;
- }
- int major_version() {
- return 1;
- }
- const char * description() {
- return ( "Theme Style" );
+}
+
+ThemeInterface::~ThemeInterface ( )
+{
+}
+
+QStyle *ThemeInterface::create ( )
+{
+ return new OThemeStyle ( "" );
+}
+
+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;
+}
+
+bool ThemeSettingsInterface::accept ( )
+{
+ if ( !m_widget )
+ return false;
+
+ return m_widget-> writeConfig ( );
+}
+
+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