summaryrefslogtreecommitdiff
authorsandman <sandman>2002-07-06 16:42:29 (UTC)
committer sandman <sandman>2002-07-06 16:42:29 (UTC)
commit3a422983abc7342c9229dccac825d0608fca10f3 (patch) (unidiff)
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) (show whitespace changes)
-rw-r--r--Makefile4
-rw-r--r--apps/Settings/Liquid.desktop7
-rw-r--r--apps/Settings/Theme.desktop7
-rw-r--r--library/qpeapplication.cpp322
-rw-r--r--library/styleinterface.h68
-rw-r--r--noncore/styles/liquid/liquid.pro6
-rw-r--r--noncore/styles/liquid/liquidset.cpp (renamed from noncore/styles/liquid/settings/liquidset.cpp)26
-rw-r--r--noncore/styles/liquid/liquidset.h (renamed from noncore/styles/liquid/settings/liquidset.h)7
-rw-r--r--noncore/styles/liquid/opie-liquid.control2
-rw-r--r--noncore/styles/liquid/plugin.cpp106
-rw-r--r--noncore/styles/liquid/plugin.h46
-rw-r--r--noncore/styles/liquid/settings/.cvsignore2
-rw-r--r--noncore/styles/liquid/settings/main.cpp34
-rw-r--r--noncore/styles/liquid/settings/settings.pro24
-rw-r--r--noncore/styles/metal/metal.pro2
-rw-r--r--noncore/styles/metal/plugin.cpp52
-rw-r--r--noncore/styles/metal/plugin.h27
-rw-r--r--noncore/styles/theme/opie-theme.control2
-rw-r--r--noncore/styles/theme/plugin.cpp110
-rw-r--r--noncore/styles/theme/plugin.h46
-rw-r--r--noncore/styles/theme/settings/main.cpp34
-rw-r--r--noncore/styles/theme/settings/settings.pro24
-rw-r--r--noncore/styles/theme/settings/themeset.h20
-rw-r--r--noncore/styles/theme/theme.pro5
-rw-r--r--noncore/styles/theme/themeset.cpp (renamed from noncore/styles/theme/settings/themeset.cpp)11
-rw-r--r--noncore/styles/theme/themeset.h20
-rw-r--r--pics/liquid/Liquid.pngbin2771 -> 0 bytes
-rw-r--r--pics/theme/Theme.pngbin2771 -> 0 bytes
28 files changed, 705 insertions, 309 deletions
diff --git a/Makefile b/Makefile
index 0dfa22e..8fa60d8 100644
--- a/Makefile
+++ b/Makefile
@@ -50,9 +50,7 @@ NONCORESETTINGS =noncore/settings/language noncore/settings/rotation \
50NONCORETOOLS = noncore/tools/calculator noncore/tools/clock \ 50NONCORETOOLS = noncore/tools/calculator noncore/tools/clock \
51 noncore/tools/remote noncore/tools/opie-sh noncore/apps/advancedfm 51 noncore/tools/remote noncore/tools/opie-sh noncore/apps/advancedfm
52 52
53NONCORESTYLES = noncore/styles/liquid noncore/styles/liquid/settings \ 53NONCORESTYLES = noncore/styles/liquid noncore/styles/theme noncore/styles/metal
54 noncore/styles/theme noncore/styles/theme/settings \
55 noncore/styles/metal
56 54
57GAMES = noncore/games/minesweep noncore/games/solitaire \ 55GAMES = noncore/games/minesweep noncore/games/solitaire \
58 noncore/games/tetrix noncore/games/wordgame \ 56 noncore/games/tetrix noncore/games/wordgame \
diff --git a/apps/Settings/Liquid.desktop b/apps/Settings/Liquid.desktop
deleted file mode 100644
index 8a1727f..0000000
--- a/apps/Settings/Liquid.desktop
+++ b/dev/null
@@ -1,7 +0,0 @@
1[Desktop Entry]
2Type=Application
3Exec=liquid-settings
4Icon=liquid/Liquid
5Name=Liquid-Settings
6Name[de]=Liquid-Einstellungen
7
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 @@
1[Desktop Entry]
2Type=Application
3Exec=theme-settings
4Icon=theme/Theme
5Name=Theme-Settings
6Name[de]=Thema-Einstellungen
7
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index dff8235..187a7e2 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -64,6 +64,7 @@
64#include <qsignal.h> 64#include <qsignal.h>
65#include "qpeapplication.h" 65#include "qpeapplication.h"
66#include "qpestyle.h" 66#include "qpestyle.h"
67#include "styleinterface.h"
67#if QT_VERSION >= 300 68#if QT_VERSION >= 300
68#include <qstylefactory.h> 69#include <qstylefactory.h>
69#else 70#else
@@ -74,7 +75,6 @@
74#include "lightstyle.h" 75#include "lightstyle.h"
75 76
76#include <qpe/qlibrary.h> 77#include <qpe/qlibrary.h>
77#include <dlfcn.h>
78#endif 78#endif
79#include "global.h" 79#include "global.h"
80#include "resource.h" 80#include "resource.h"
@@ -105,7 +105,8 @@
105#include <stdlib.h> 105#include <stdlib.h>
106 106
107 107
108class QPEApplicationData { 108class QPEApplicationData
109{
109public: 110public:
110 QPEApplicationData() : presstimer(0), presswidget(0), rightpressed(FALSE), 111 QPEApplicationData() : presstimer(0), presswidget(0), rightpressed(FALSE),
111 kbgrabber(0), kbregrab(FALSE), notbusysent(FALSE), preloaded(FALSE), 112 kbgrabber(0), kbregrab(FALSE), notbusysent(FALSE), preloaded(FALSE),
@@ -123,10 +124,12 @@ public:
123 bool kbregrab; 124 bool kbregrab;
124 bool notbusysent; 125 bool notbusysent;
125 QString appName; 126 QString appName;
126 struct QCopRec { 127 struct QCopRec
128 {
127 QCopRec(const QCString &ch, const QCString &msg, 129 QCopRec(const QCString &ch, const QCString &msg,
128 const QByteArray &d) : 130 const QByteArray &d) :
129 channel(ch), message(msg), data(d) { } 131 channel( ch ), message( msg ), data( d )
132 { }
130 133
131 QCString channel; 134 QCString channel;
132 QCString message; 135 QCString message;
@@ -153,7 +156,8 @@ public:
153 } 156 }
154}; 157};
155 158
156class ResourceMimeFactory : public QMimeSourceFactory { 159class ResourceMimeFactory : public QMimeSourceFactory
160{
157public: 161public:
158 ResourceMimeFactory() 162 ResourceMimeFactory()
159 { 163 {
@@ -175,7 +179,8 @@ public:
175 QImage img = Resource::loadImage(name); 179 QImage img = Resource::loadImage(name);
176 if ( !img.isNull() ) 180 if ( !img.isNull() )
177 r = new QImageDrag(img); 181 r = new QImageDrag(img);
178 } while (!r && sl>0); 182 }
183 while ( !r && sl > 0 );
179 } 184 }
180 return r; 185 return r;
181 } 186 }
@@ -200,7 +205,8 @@ static void setVolume(int t=0, int percent=-1)
200 ioctl(fd, MIXER_WRITE(0), &vol); 205 ioctl(fd, MIXER_WRITE(0), &vol);
201 ::close(fd); 206 ::close(fd);
202 } 207 }
203 } break; 208 }
209 break;
204 } 210 }
205} 211}
206 212
@@ -219,7 +225,8 @@ static void setMic(int t=0, int percent=-1)
219 ioctl(fd, MIXER_WRITE(SOUND_MIXER_MIC), &mic); 225 ioctl(fd, MIXER_WRITE(SOUND_MIXER_MIC), &mic);
220 ::close(fd); 226 ::close(fd);
221 } 227 }
222 } break; 228 }
229 break;
223 } 230 }
224} 231}
225 232
@@ -228,8 +235,10 @@ int qpe_sysBrightnessSteps()
228#if defined(QT_QWS_IPAQ) 235#if defined(QT_QWS_IPAQ)
229 return 255; 236 return 255;
230#elif defined(QT_QWS_EBX) 237#elif defined(QT_QWS_EBX)
238
231 return 4; 239 return 4;
232#else 240#else
241
233 return 255; // ? 242 return 255; // ?
234#endif 243#endif
235} 244}
@@ -242,6 +251,7 @@ static int& hack(int& i)
242 (void)new QUtf8Codec; 251 (void)new QUtf8Codec;
243 (void)new QUtf16Codec; 252 (void)new QUtf16Codec;
244#endif 253#endif
254
245 return i; 255 return i;
246} 256}
247 257
@@ -286,30 +296,38 @@ static void setBacklight(int bright)
286 cmd += QString::number(bright); 296 cmd += QString::number(bright);
287 system(cmd.latin1()); 297 system(cmd.latin1());
288#if defined(QT_QWS_EBX) 298#if defined(QT_QWS_EBX)
289 } else if ( QFile::exists("/dev/fl") ) { 299
300 }
301 else if ( QFile::exists( "/dev/fl" ) ) {
290#define FL_IOCTL_STEP_CONTRAST 100 302#define FL_IOCTL_STEP_CONTRAST 100
291 int fd = open("/dev/fl", O_WRONLY); 303 int fd = open("/dev/fl", O_WRONLY);
292 if (fd >= 0 ) { 304 if (fd >= 0 ) {
293 int steps = qpe_sysBrightnessSteps(); 305 int steps = qpe_sysBrightnessSteps();
294 int bl = ( bright * steps + 127 ) / 255; 306 int bl = ( bright * steps + 127 ) / 255;
295 if ( bright && !bl ) bl = 1; 307 if ( bright && !bl )
308 bl = 1;
296 bl = ioctl(fd, FL_IOCTL_STEP_CONTRAST, bl); 309 bl = ioctl(fd, FL_IOCTL_STEP_CONTRAST, bl);
297 close(fd); 310 close(fd);
298 } 311 }
299 } 312 }
300#elif defined(QT_QWS_IPAQ) 313#elif defined(QT_QWS_IPAQ)
301 } else if ( QFile::exists("/dev/ts") || QFile::exists("/dev/h3600_ts") ) { 314
315 }
316 else if ( QFile::exists( "/dev/ts" ) || QFile::exists( "/dev/h3600_ts" ) )
317 {
302 typedef struct { 318 typedef struct {
303 unsigned char mode; 319 unsigned char mode;
304 unsigned char pwr; 320 unsigned char pwr;
305 unsigned char brightness; 321 unsigned char brightness;
306 } FLITE_IN; 322 }
323 FLITE_IN;
307# ifndef FLITE_ON 324# ifndef FLITE_ON
308# ifndef _LINUX_IOCTL_H 325# ifndef _LINUX_IOCTL_H
309# include <linux/ioctl.h> 326# include <linux/ioctl.h>
310# endif 327# endif
311# define FLITE_ON _IOW('f', 7, FLITE_IN) 328# define FLITE_ON _IOW('f', 7, FLITE_IN)
312# endif 329# endif
330
313 int fd; 331 int fd;
314 if ( QFile::exists("/dev/ts") ) 332 if ( QFile::exists("/dev/ts") )
315 fd = open("/dev/ts", O_WRONLY); 333 fd = open("/dev/ts", O_WRONLY);
@@ -329,7 +347,9 @@ static void setBacklight(int bright)
329 curbl = bright; 347 curbl = bright;
330} 348}
331 349
332void qpe_setBacklight(int bright) { setBacklight(bright); } 350void qpe_setBacklight( int bright ) {
351 setBacklight( bright );
352}
333 353
334static bool dim_on = FALSE; 354static bool dim_on = FALSE;
335static bool lightoff_on = FALSE; 355static bool lightoff_on = FALSE;
@@ -358,7 +378,10 @@ public:
358 LcdOn = TRUE; 378 LcdOn = TRUE;
359 // Make sure the LCD is in fact on, (if opie was killed while the LCD is off it would still be off) 379 // Make sure the LCD is in fact on, (if opie was killed while the LCD is off it would still be off)
360 fd=open("/dev/fb0",O_RDWR); 380 fd=open("/dev/fb0",O_RDWR);
361 if (fd != -1) { ioctl(fd,FBIOBLANK,VESA_NO_BLANKING); close(fd); } 381 if ( fd != -1 ) {
382 ioctl( fd, FBIOBLANK, VESA_NO_BLANKING );
383 close( fd );
384 }
362 } 385 }
363 void restore() 386 void restore()
364 { 387 {
@@ -366,7 +389,11 @@ public:
366 { 389 {
367 int fd; 390 int fd;
368 fd=open("/dev/fb0",O_RDWR); 391 fd=open("/dev/fb0",O_RDWR);
369 if (fd != -1) { ioctl(fd,FBIOBLANK,VESA_NO_BLANKING); close(fd); } 392 if ( fd != -1 )
393 {
394 ioctl( fd, FBIOBLANK, VESA_NO_BLANKING );
395 close( fd );
396 }
370 } 397 }
371 setBacklight(-1); 398 setBacklight(-1);
372 } 399 }
@@ -394,7 +421,11 @@ public:
394 if (config.readNumEntry("LcdOffOnly",0) != 0) // We're only turning off the LCD 421 if (config.readNumEntry("LcdOffOnly",0) != 0) // We're only turning off the LCD
395 { 422 {
396 fd=open("/dev/fb0",O_RDWR); 423 fd=open("/dev/fb0",O_RDWR);
397 if (fd != -1) { ioctl(fd,FBIOBLANK,VESA_POWERDOWN); close(fd); } 424 if ( fd != -1 )
425 {
426 ioctl( fd, FBIOBLANK, VESA_POWERDOWN );
427 close( fd );
428 }
398 LcdOn = FALSE; 429 LcdOn = FALSE;
399 } 430 }
400 else // We're going to suspend the whole machine 431 else // We're going to suspend the whole machine
@@ -572,7 +603,8 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t )
572 a++; 603 a++;
573 d->preloaded = TRUE; 604 d->preloaded = TRUE;
574 argc-=1; 605 argc-=1;
575 } else if ( qstrcmp(argv[a],"-preload-show")==0 ) { 606 }
607 else if ( qstrcmp( argv[ a ], "-preload-show" ) == 0 ) {
576 argv[a] = argv[a+1]; 608 argv[a] = argv[a+1];
577 a++; 609 a++;
578 d->preloaded = TRUE; 610 d->preloaded = TRUE;
@@ -589,6 +621,7 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t )
589 qwsSetDecoration( new QPEDecoration() ); 621 qwsSetDecoration( new QPEDecoration() );
590 622
591#ifndef QT_NO_TRANSLATION 623#ifndef QT_NO_TRANSLATION
624
592 QStringList langs = Global::languageList(); 625 QStringList langs = Global::languageList();
593 for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) { 626 for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) {
594 QString lang = *it; 627 QString lang = *it;
@@ -688,8 +721,10 @@ void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode )
688{ 721{
689 createInputMethodDict(); 722 createInputMethodDict();
690 if ( mode == Normal ) { 723 if ( mode == Normal ) {
691 inputMethodDict->remove(w); 724 inputMethodDict->remove
692 } else { 725 ( w );
726 }
727 else {
693 inputMethodDict->insert(w,(void*)mode); 728 inputMethodDict->insert(w,(void*)mode);
694 } 729 }
695} 730}
@@ -697,8 +732,14 @@ void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode )
697class HackDialog : public QDialog 732class HackDialog : public QDialog
698{ 733{
699public: 734public:
700 void acceptIt() { accept(); } 735 void acceptIt()
701 void rejectIt() { reject(); } 736 {
737 accept();
738 }
739 void rejectIt()
740 {
741 reject();
742 }
702}; 743};
703 744
704 745
@@ -721,7 +762,9 @@ class HackWidget : public QWidget
721{ 762{
722public: 763public:
723 bool needsOk() 764 bool needsOk()
724 { return (getWState() & WState_Reserved1 ); } 765 {
766 return ( getWState() & WState_Reserved1 );
767 }
725}; 768};
726 769
727/*! 770/*!
@@ -764,20 +807,24 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
764 HackDialog *d = (HackDialog *)active; 807 HackDialog *d = (HackDialog *)active;
765 d->acceptIt(); 808 d->acceptIt();
766 return TRUE; 809 return TRUE;
767 } else if ( ((HackWidget *)active)->needsOk() ) { 810 }
811 else if ( ( ( HackWidget * ) active ) ->needsOk() ) {
768 QSignal s; 812 QSignal s;
769 s.connect( active, SLOT( accept() ) ); 813 s.connect( active, SLOT( accept() ) );
770 s.activate(); 814 s.activate();
771 } else { 815 }
816 else {
772 // do the same as with the select key: Map to the default action of the widget: 817 // do the same as with the select key: Map to the default action of the widget:
773 mapToDefaultAction( ke, Qt::Key_Return ); 818 mapToDefaultAction( ke, Qt::Key_Return );
774 } 819 }
775 } 820 }
776 } 821 }
777 } else if ( ke->simpleData.keycode == Qt::Key_F30 ) { 822 }
823 else if ( ke->simpleData.keycode == Qt::Key_F30 ) {
778 // Use special "select" key to do whatever default action a widget has 824 // Use special "select" key to do whatever default action a widget has
779 mapToDefaultAction( ke, Qt::Key_Space ); 825 mapToDefaultAction( ke, Qt::Key_Space );
780 } else if ( ke->simpleData.keycode == Qt::Key_Escape && 826 }
827 else if ( ke->simpleData.keycode == Qt::Key_Escape &&
781 ke->simpleData.is_press ) { 828 ke->simpleData.is_press ) {
782 // Escape key closes app if focus on toplevel 829 // Escape key closes app if focus on toplevel
783 QWidget *active = activeWindow(); 830 QWidget *active = activeWindow();
@@ -788,7 +835,8 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
788 HackDialog *d = (HackDialog *)active; 835 HackDialog *d = (HackDialog *)active;
789 d->rejectIt(); 836 d->rejectIt();
790 return TRUE; 837 return TRUE;
791 } else if ( strcmp( argv()[0], "embeddedkonsole") != 0 ) { 838 }
839 else if ( strcmp( argv() [ 0 ], "embeddedkonsole" ) != 0 ) {
792 active->close(); 840 active->close();
793 } 841 }
794 } 842 }
@@ -800,6 +848,7 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
800 if ( ((QWSKeyEvent *)e)->simpleData.keycode == Qt::Key_F4 ) 848 if ( ((QWSKeyEvent *)e)->simpleData.keycode == Qt::Key_F4 )
801 return TRUE; 849 return TRUE;
802#endif 850#endif
851
803 } 852 }
804 if ( e->type == QWSEvent::Focus ) { 853 if ( e->type == QWSEvent::Focus ) {
805 QWSFocusEvent *fe = (QWSFocusEvent*)e; 854 QWSFocusEvent *fe = (QWSFocusEvent*)e;
@@ -814,7 +863,8 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
814 ungrabKeyboard(); 863 ungrabKeyboard();
815 d->kbregrab = TRUE; // want kb back when we're active 864 d->kbregrab = TRUE; // want kb back when we're active
816 } 865 }
817 } else { 866 }
867 else {
818 // make sure our modal widget is ALWAYS on top 868 // make sure our modal widget is ALWAYS on top
819 QWidget *topm = activeModalWidget(); 869 QWidget *topm = activeModalWidget();
820 if ( topm ) { 870 if ( topm ) {
@@ -848,6 +898,7 @@ QPEApplication::~QPEApplication()
848 delete sysChannel; 898 delete sysChannel;
849 delete pidChannel; 899 delete pidChannel;
850#endif 900#endif
901
851 delete d; 902 delete d;
852} 903}
853 904
@@ -886,11 +937,14 @@ int QPEApplication::defaultRotation()
886 QString d = getenv("QWS_DISPLAY"); 937 QString d = getenv("QWS_DISPLAY");
887 if ( d.contains("Rot90") ) { 938 if ( d.contains("Rot90") ) {
888 deforient = 90; 939 deforient = 90;
889 } else if ( d.contains("Rot180") ) { 940 }
941 else if ( d.contains( "Rot180" ) ) {
890 deforient = 180; 942 deforient = 180;
891 } else if ( d.contains("Rot270") ) { 943 }
944 else if ( d.contains( "Rot270" ) ) {
892 deforient = 270; 945 deforient = 270;
893 } else { 946 }
947 else {
894 deforient=0; 948 deforient=0;
895 } 949 }
896 } 950 }
@@ -905,7 +959,8 @@ void QPEApplication::setDefaultRotation(int r)
905 if ( qApp->type() == GuiServer ) { 959 if ( qApp->type() == GuiServer ) {
906 deforient = r; 960 deforient = r;
907 setenv("QWS_DISPLAY", QString("Transformed:Rot%1:0").arg(r).latin1(), 1); 961 setenv("QWS_DISPLAY", QString("Transformed:Rot%1:0").arg(r).latin1(), 1);
908 } else { 962 }
963 else {
909 QCopEnvelope("QPE/System", "setDefaultRotation(int)") << r; 964 QCopEnvelope("QPE/System", "setDefaultRotation(int)") << r;
910 } 965 }
911} 966}
@@ -950,43 +1005,52 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
950 QDataStream stream( data, IO_ReadOnly ); 1005 QDataStream stream( data, IO_ReadOnly );
951 if ( msg == "applyStyle()" ) { 1006 if ( msg == "applyStyle()" ) {
952 applyStyle(); 1007 applyStyle();
953 } else if ( msg == "setScreenSaverInterval(int)" ) { 1008 }
1009 else if ( msg == "setScreenSaverInterval(int)" ) {
954 if ( type() == GuiServer ) { 1010 if ( type() == GuiServer ) {
955 int time; 1011 int time;
956 stream >> time; 1012 stream >> time;
957 setScreenSaverInterval(time); 1013 setScreenSaverInterval(time);
958 } 1014 }
959 } else if ( msg == "setScreenSaverIntervals(int,int,int)" ) { 1015 }
1016 else if ( msg == "setScreenSaverIntervals(int,int,int)" ) {
960 if ( type() == GuiServer ) { 1017 if ( type() == GuiServer ) {
961 int t1,t2,t3; 1018 int t1,t2,t3;
962 stream >> t1 >> t2 >> t3; 1019 stream >> t1 >> t2 >> t3;
963 setScreenSaverIntervals(t1,t2,t3); 1020 setScreenSaverIntervals(t1,t2,t3);
964 } 1021 }
965 } else if ( msg == "setBacklight(int)" ) { 1022 }
1023 else if ( msg == "setBacklight(int)" ) {
966 if ( type() == GuiServer ) { 1024 if ( type() == GuiServer ) {
967 int bright; 1025 int bright;
968 stream >> bright; 1026 stream >> bright;
969 setBacklight(bright); 1027 setBacklight(bright);
970 } 1028 }
971 } else if ( msg == "setDefaultRotation(int)" ) { 1029 }
1030 else if ( msg == "setDefaultRotation(int)" ) {
972 if ( type() == GuiServer ) { 1031 if ( type() == GuiServer ) {
973 int r; 1032 int r;
974 stream >> r; 1033 stream >> r;
975 setDefaultRotation(r); 1034 setDefaultRotation(r);
976 } 1035 }
977 } else if ( msg == "shutdown()" ) { 1036 }
1037 else if ( msg == "shutdown()" ) {
978 if ( type() == GuiServer ) 1038 if ( type() == GuiServer )
979 shutdown(); 1039 shutdown();
980 } else if ( msg == "quit()" ) { 1040 }
1041 else if ( msg == "quit()" ) {
981 if ( type() != GuiServer ) 1042 if ( type() != GuiServer )
982 tryQuit(); 1043 tryQuit();
983 } else if ( msg == "forceQuit()" ) { 1044 }
1045 else if ( msg == "forceQuit()" ) {
984 if ( type() != GuiServer ) 1046 if ( type() != GuiServer )
985 quit(); 1047 quit();
986 } else if ( msg == "restart()" ) { 1048 }
1049 else if ( msg == "restart()" ) {
987 if ( type() == GuiServer ) 1050 if ( type() == GuiServer )
988 restart(); 1051 restart();
989 } else if ( msg == "grabKeyboard(QString)" ) { 1052 }
1053 else if ( msg == "grabKeyboard(QString)" ) {
990 QString who; 1054 QString who;
991 stream >> who; 1055 stream >> who;
992 if ( who.isEmpty() ) 1056 if ( who.isEmpty() )
@@ -995,7 +1059,8 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
995 d->kbgrabber = 1; 1059 d->kbgrabber = 1;
996 else 1060 else
997 d->kbgrabber = 2; 1061 d->kbgrabber = 2;
998 } else if ( msg == "language(QString)" ) { 1062 }
1063 else if ( msg == "language(QString)" ) {
999 if ( type() == GuiServer ) { 1064 if ( type() == GuiServer ) {
1000 QString l; 1065 QString l;
1001 stream >> l; 1066 stream >> l;
@@ -1008,7 +1073,8 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
1008 restart(); 1073 restart();
1009 } 1074 }
1010 } 1075 }
1011 } else if ( msg == "timeChange(QString)" ) { 1076 }
1077 else if ( msg == "timeChange(QString)" ) {
1012 QString t; 1078 QString t;
1013 stream >> t; 1079 stream >> t;
1014 if ( t.isNull() ) 1080 if ( t.isNull() )
@@ -1017,19 +1083,22 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
1017 setenv( "TZ", t.latin1(), 1 ); 1083 setenv( "TZ", t.latin1(), 1 );
1018 // emit the signal so everyone else knows... 1084 // emit the signal so everyone else knows...
1019 emit timeChanged(); 1085 emit timeChanged();
1020 } else if ( msg == "execute(QString)" ) { 1086 }
1087 else if ( msg == "execute(QString)" ) {
1021 if ( type() == GuiServer ) { 1088 if ( type() == GuiServer ) {
1022 QString t; 1089 QString t;
1023 stream >> t; 1090 stream >> t;
1024 Global::execute( t ); 1091 Global::execute( t );
1025 } 1092 }
1026 } else if ( msg == "execute(QString,QString)" ) { 1093 }
1094 else if ( msg == "execute(QString,QString)" ) {
1027 if ( type() == GuiServer ) { 1095 if ( type() == GuiServer ) {
1028 QString t,d; 1096 QString t,d;
1029 stream >> t >> d; 1097 stream >> t >> d;
1030 Global::execute( t, d ); 1098 Global::execute( t, d );
1031 } 1099 }
1032 } else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) { 1100 }
1101 else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) {
1033 if ( type() == GuiServer ) { 1102 if ( type() == GuiServer ) {
1034 QDateTime when; 1103 QDateTime when;
1035 QCString channel, message; 1104 QCString channel, message;
@@ -1037,7 +1106,8 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
1037 stream >> when >> channel >> message >> data; 1106 stream >> when >> channel >> message >> data;
1038 AlarmServer::addAlarm( when, channel, message, data ); 1107 AlarmServer::addAlarm( when, channel, message, data );
1039 } 1108 }
1040 } else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) { 1109 }
1110 else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) {
1041 if ( type() == GuiServer ) { 1111 if ( type() == GuiServer ) {
1042 QDateTime when; 1112 QDateTime when;
1043 QCString channel, message; 1113 QCString channel, message;
@@ -1045,37 +1115,45 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
1045 stream >> when >> channel >> message >> data; 1115 stream >> when >> channel >> message >> data;
1046 AlarmServer::deleteAlarm( when, channel, message, data ); 1116 AlarmServer::deleteAlarm( when, channel, message, data );
1047 } 1117 }
1048 } else if ( msg == "clockChange(bool)" ) { 1118 }
1119 else if ( msg == "clockChange(bool)" ) {
1049 int tmp; 1120 int tmp;
1050 stream >> tmp; 1121 stream >> tmp;
1051 emit clockChanged( tmp ); 1122 emit clockChanged( tmp );
1052 } else if ( msg == "weekChange(bool)" ) { 1123 }
1124 else if ( msg == "weekChange(bool)" ) {
1053 int tmp; 1125 int tmp;
1054 stream >> tmp; 1126 stream >> tmp;
1055 emit weekChanged( tmp ); 1127 emit weekChanged( tmp );
1056 } else if ( msg == "setDateFormat(DateFormat)" ) { 1128 }
1129 else if ( msg == "setDateFormat(DateFormat)" ) {
1057 DateFormat tmp; 1130 DateFormat tmp;
1058 stream >> tmp; 1131 stream >> tmp;
1059 emit dateFormatChanged( tmp ); 1132 emit dateFormatChanged( tmp );
1060 } else if ( msg == "setVolume(int,int)" ) { 1133 }
1134 else if ( msg == "setVolume(int,int)" ) {
1061 int t,v; 1135 int t,v;
1062 stream >> t >> v; 1136 stream >> t >> v;
1063 setVolume(t,v); 1137 setVolume(t,v);
1064 emit volumeChanged( muted ); 1138 emit volumeChanged( muted );
1065 } else if ( msg == "volumeChange(bool)" ) { 1139 }
1140 else if ( msg == "volumeChange(bool)" ) {
1066 stream >> muted; 1141 stream >> muted;
1067 setVolume(); 1142 setVolume();
1068 emit volumeChanged( muted ); 1143 emit volumeChanged( muted );
1069 } else if ( msg == "setMic(int,int)") { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> 1144 }
1145 else if ( msg == "setMic(int,int)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com>
1070 int t,v; 1146 int t,v;
1071 stream >> t >> v; 1147 stream >> t >> v;
1072 setMic(t,v); 1148 setMic(t,v);
1073 emit micChanged( micMuted ); 1149 emit micChanged( micMuted );
1074 } else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> 1150 }
1151 else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com>
1075 stream >> micMuted; 1152 stream >> micMuted;
1076 setMic(); 1153 setMic();
1077 emit micChanged( micMuted ); 1154 emit micChanged( micMuted );
1078 } else if ( msg == "setScreenSaverMode(int)" ) { 1155 }
1156 else if ( msg == "setScreenSaverMode(int)" ) {
1079 if ( type() == GuiServer ) { 1157 if ( type() == GuiServer ) {
1080 int old = disable_suspend; 1158 int old = disable_suspend;
1081 stream >> disable_suspend; 1159 stream >> disable_suspend;
@@ -1096,15 +1174,18 @@ bool QPEApplication::raiseAppropriateWindow()
1096 // ########## raise()ing main window should raise and set active 1174 // ########## raise()ing main window should raise and set active
1097 // ########## it and then all childen. This belongs in Qt/Embedded 1175 // ########## it and then all childen. This belongs in Qt/Embedded
1098 QWidget *top = d->qpe_main_widget; 1176 QWidget *top = d->qpe_main_widget;
1099 if ( !top ) top =mainWidget(); 1177 if ( !top )
1178 top = mainWidget();
1100 if ( top && d->keep_running ) { 1179 if ( top && d->keep_running ) {
1101 if ( top->isVisible() ) 1180 if ( top->isVisible() )
1102 r = TRUE; 1181 r = TRUE;
1103#ifdef Q_WS_QWS 1182#ifdef Q_WS_QWS
1183
1104 if ( !d->nomaximize ) 1184 if ( !d->nomaximize )
1105 top->showMaximized(); 1185 top->showMaximized();
1106 else 1186 else
1107#endif 1187#endif
1188
1108 top->show(); 1189 top->show();
1109 top->raise(); 1190 top->raise();
1110 top->setActiveWindow(); 1191 top->setActiveWindow();
@@ -1125,31 +1206,39 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
1125 1206
1126 if ( msg == "quit()" ) { 1207 if ( msg == "quit()" ) {
1127 tryQuit(); 1208 tryQuit();
1128 } else if ( msg == "quitIfInvisible()" ) { 1209 }
1210 else if ( msg == "quitIfInvisible()" ) {
1129 if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() ) 1211 if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() )
1130 quit(); 1212 quit();
1131 } else if ( msg == "close()" ) { 1213 }
1214 else if ( msg == "close()" ) {
1132 hideOrQuit(); 1215 hideOrQuit();
1133 } else if ( msg == "disablePreload()" ) { 1216 }
1217 else if ( msg == "disablePreload()" ) {
1134 d->preloaded = FALSE; 1218 d->preloaded = FALSE;
1135 d->keep_running = TRUE; 1219 d->keep_running = TRUE;
1136 /* so that quit will quit */ 1220 /* so that quit will quit */
1137 } else if ( msg == "enablePreload()" ) { 1221 }
1222 else if ( msg == "enablePreload()" ) {
1138 d->preloaded = TRUE; 1223 d->preloaded = TRUE;
1139 d->keep_running = TRUE; 1224 d->keep_running = TRUE;
1140 /* so next quit won't quit */ 1225 /* so next quit won't quit */
1141 } else if ( msg == "raise()" ) { 1226 }
1227 else if ( msg == "raise()" ) {
1142 d->keep_running = TRUE; 1228 d->keep_running = TRUE;
1143 d->notbusysent = FALSE; 1229 d->notbusysent = FALSE;
1144 raiseAppropriateWindow(); 1230 raiseAppropriateWindow();
1145 } else if ( msg == "flush()" ) { 1231 }
1232 else if ( msg == "flush()" ) {
1146 emit flush(); 1233 emit flush();
1147 // we need to tell the desktop 1234 // we need to tell the desktop
1148 QCopEnvelope e( "QPE/Desktop", "flushDone(QString)" ); 1235 QCopEnvelope e( "QPE/Desktop", "flushDone(QString)" );
1149 e << d->appName; 1236 e << d->appName;
1150 } else if ( msg == "reload()" ) { 1237 }
1238 else if ( msg == "reload()" ) {
1151 emit reload(); 1239 emit reload();
1152 } else if ( msg == "setDocument(QString)" ) { 1240 }
1241 else if ( msg == "setDocument(QString)" ) {
1153 d->keep_running = TRUE; 1242 d->keep_running = TRUE;
1154 QDataStream stream( data, IO_ReadOnly ); 1243 QDataStream stream( data, IO_ReadOnly );
1155 QString doc; 1244 QString doc;
@@ -1159,10 +1248,12 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
1159 mw = d->qpe_main_widget; 1248 mw = d->qpe_main_widget;
1160 if ( mw ) 1249 if ( mw )
1161 Global::setDocument( mw, doc ); 1250 Global::setDocument( mw, doc );
1162 } else if ( msg == "nextView()" ) { 1251 }
1252 else if ( msg == "nextView()" ) {
1163 if ( raiseAppropriateWindow() ) 1253 if ( raiseAppropriateWindow() )
1164 emit appMessage( msg, data); 1254 emit appMessage( msg, data);
1165 } else { 1255 }
1256 else {
1166 emit appMessage( msg, data); 1257 emit appMessage( msg, data);
1167 } 1258 }
1168#endif 1259#endif
@@ -1213,14 +1304,17 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
1213 mw->showMaximized(); 1304 mw->showMaximized();
1214 else 1305 else
1215#endif 1306#endif
1307
1216 mw->show(); 1308 mw->show();
1217 } 1309 }
1218 } else if ( d->keep_running ) { 1310 }
1311 else if ( d->keep_running ) {
1219#ifdef Q_WS_QWS 1312#ifdef Q_WS_QWS
1220 if ( !nomaximize ) 1313 if ( !nomaximize )
1221 mw->showMaximized(); 1314 mw->showMaximized();
1222 else 1315 else
1223#endif 1316#endif
1317
1224 mw->show(); 1318 mw->show();
1225 } 1319 }
1226} 1320}
@@ -1252,14 +1346,17 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize )
1252 mw->showMaximized(); 1346 mw->showMaximized();
1253 else 1347 else
1254#endif 1348#endif
1349
1255 mw->show(); 1350 mw->show();
1256 } 1351 }
1257 } else if ( d->keep_running ) { 1352 }
1353 else if ( d->keep_running ) {
1258#ifdef Q_WS_QWS 1354#ifdef Q_WS_QWS
1259 if ( !nomaximize ) 1355 if ( !nomaximize )
1260 mw->showMaximized(); 1356 mw->showMaximized();
1261 else 1357 else
1262#endif 1358#endif
1359
1263 mw->show(); 1360 mw->show();
1264 } 1361 }
1265} 1362}
@@ -1301,16 +1398,20 @@ void QPEApplication::internalSetStyle( const QString &style )
1301#if QT_VERSION >= 300 1398#if QT_VERSION >= 300
1302 if ( style == "QPE" ) { 1399 if ( style == "QPE" ) {
1303 setStyle( new QPEStyle ); 1400 setStyle( new QPEStyle );
1304 } else { 1401 }
1402 else {
1305 QStyle *s = QStyleFactory::create(style); 1403 QStyle *s = QStyleFactory::create(style);
1306 if ( s ) setStyle(s); 1404 if ( s )
1405 setStyle( s );
1307 } 1406 }
1308#else 1407#else
1309 if ( style == "Windows" ) { 1408 if ( style == "Windows" ) {
1310 setStyle( new QWindowsStyle ); 1409 setStyle( new QWindowsStyle );
1311 } else if ( style == "QPE" ) { 1410 }
1411 else if ( style == "QPE" ) {
1312 setStyle( new QPEStyle ); 1412 setStyle( new QPEStyle );
1313 } else if ( style == "Light" ) { 1413 }
1414 else if ( style == "Light" ) {
1314 setStyle( new LightStyle ); 1415 setStyle( new LightStyle );
1315 } 1416 }
1316#ifndef QT_NO_STYLE_PLATINUM 1417#ifndef QT_NO_STYLE_PLATINUM
@@ -1331,6 +1432,43 @@ void QPEApplication::internalSetStyle( const QString &style )
1331 1432
1332 // HACK for Qt2 only 1433 // HACK for Qt2 only
1333 else { 1434 else {
1435 QStyle *sty = 0;
1436 QString path = QPEApplication::qpeDir ( ) + "/plugins/styles/lib" + style. lower ( ) + ".so";
1437
1438 static QLibrary *lastlib = 0;
1439 static StyleInterface *lastiface = 0;
1440
1441 QLibrary *lib = new QLibrary ( path );
1442 StyleInterface *iface = 0;
1443
1444 if ( lib-> queryInterface ( IID_Style, ( QUnknownInterface ** ) &iface ) == QS_OK )
1445 sty = iface-> create ( );
1446
1447 if ( sty ) {
1448 setStyle ( sty );
1449
1450 qDebug ( "Got Style: %p -- iface: %p, lib: %p\n", sty, iface, lib );
1451
1452 if ( lastiface )
1453 lastiface-> release ( );
1454 lastiface = iface;
1455
1456
1457 if ( lastlib ) {
1458 lastlib-> unload ( );
1459 delete lastlib;
1460 }
1461 lastlib = lib;
1462 }
1463 else {
1464 if ( iface )
1465 iface-> release ( );
1466 delete lib;
1467
1468 setStyle ( new QPEStyle ( ));
1469 }
1470
1471#if 0
1334 // style == "Liquid Style (libliquid.so)" (or "Windows XP (libxp.so)" 1472 // style == "Liquid Style (libliquid.so)" (or "Windows XP (libxp.so)"
1335 1473
1336 int p2 = style. findRev ( ']' ); 1474 int p2 = style. findRev ( ']' );
@@ -1342,18 +1480,15 @@ void QPEApplication::internalSetStyle( const QString &style )
1342 else 1480 else
1343 style2 = "lib" + style. lower ( ) + ".so"; 1481 style2 = "lib" + style. lower ( ) + ".so";
1344 1482
1345 // static QLibrary *currentlib = 0; 1483 static QLibrary *currentlib = 0;
1346 static void *currentlib = 0;
1347 1484
1348 QString path = QPEApplication::qpeDir ( ) + "/plugins/styles/" + style2; 1485 QString path = QPEApplication::qpeDir ( ) + "/plugins/styles/" + style2;
1349 1486
1350 do { // try/catch simulation 1487 do { // try/catch simulation
1351 // QLibrary *lib = new QLibrary ( path, QLibrary::Immediately ); 1488 QLibrary *lib = new QLibrary ( path, QLibrary::Immediately );
1352 void *lib = ::dlopen ( path. local8Bit ( ), RTLD_LAZY | RTLD_GLOBAL );
1353 1489
1354 if ( lib ) { 1490 if ( lib ) {
1355 //QStyle * (*fpa) ( ) = (QStyle * (*) ( )) lib-> resolve ( "allocate" ); 1491 QStyle * ( *fpa ) ( ) = ( QStyle * ( * ) ( ) ) lib-> resolve ( "allocate" );
1356 QStyle * (*fpa) ( ) = (QStyle * (*) ( )) ::dlsym ( lib, "allocate" );
1357 1492
1358 if ( fpa ) { 1493 if ( fpa ) {
1359 QStyle *sty = ( *fpa ) ( ); 1494 QStyle *sty = ( *fpa ) ( );
@@ -1361,23 +1496,22 @@ void QPEApplication::internalSetStyle( const QString &style )
1361 if ( sty ) { 1496 if ( sty ) {
1362 setStyle ( sty ); 1497 setStyle ( sty );
1363 1498
1364 if ( currentlib ) { 1499 if ( currentlib )
1365 //delete currentlib; 1500 delete currentlib;
1366 ::dlclose ( currentlib );
1367 }
1368 currentlib = lib; 1501 currentlib = lib;
1369 1502
1370 break; 1503 break;
1371 } 1504 }
1372 } 1505 }
1373 //delete lib; 1506 delete lib;
1374 ::dlclose ( lib );
1375 } 1507 }
1376 } while ( false );
1377 } 1508 }
1509 while ( false );
1378 // HACK for Qt2 only 1510 // HACK for Qt2 only
1379#endif 1511#endif
1380} 1512}
1513#endif
1514}
1381 1515
1382/*! 1516/*!
1383 \internal 1517 \internal
@@ -1398,7 +1532,8 @@ void QPEApplication::prepareForTermination(bool willrestart)
1398 lblWait->showMaximized(); 1532 lblWait->showMaximized();
1399 } 1533 }
1400#ifndef SINGLE_APP 1534#ifndef SINGLE_APP
1401 { QCopEnvelope envelope("QPE/System", "forceQuit()"); } 1535 { QCopEnvelope envelope( "QPE/System", "forceQuit()" );
1536 }
1402 processEvents(); // ensure the message goes out. 1537 processEvents(); // ensure the message goes out.
1403 sleep(1); // You have 1 second to comply. 1538 sleep(1); // You have 1 second to comply.
1404#endif 1539#endif
@@ -1459,9 +1594,11 @@ void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode )
1459{ 1594{
1460 createDict(); 1595 createDict();
1461 if ( mode == LeftOnly ) { 1596 if ( mode == LeftOnly ) {
1462 stylusDict->remove(w); 1597 stylusDict->remove
1598 ( w );
1463 w->removeEventFilter(qApp); 1599 w->removeEventFilter(qApp);
1464 } else { 1600 }
1601 else {
1465 stylusDict->insert(w,(void*)mode); 1602 stylusDict->insert(w,(void*)mode);
1466 connect(w,SIGNAL(destroyed()),qApp,SLOT(removeSenderFromStylusDict())); 1603 connect(w,SIGNAL(destroyed()),qApp,SLOT(removeSenderFromStylusDict()));
1467 w->installEventFilter(qApp); 1604 w->installEventFilter(qApp);
@@ -1516,7 +1653,8 @@ bool QPEApplication::eventFilter( QObject *o, QEvent *e )
1516 ; 1653 ;
1517 } 1654 }
1518 } 1655 }
1519 } else if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { 1656 }
1657 else if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) {
1520 QKeyEvent *ke = (QKeyEvent *)e; 1658 QKeyEvent *ke = (QKeyEvent *)e;
1521 if ( ke->key() == Key_Enter ) { 1659 if ( ke->key() == Key_Enter ) {
1522 if ( o->isA( "QRadioButton" ) || o->isA( "QCheckBox" ) ) { 1660 if ( o->isA( "QRadioButton" ) || o->isA( "QCheckBox" ) ) {
@@ -1548,7 +1686,8 @@ void QPEApplication::timerEvent( QTimerEvent *e )
1548 1686
1549void QPEApplication::removeSenderFromStylusDict() 1687void QPEApplication::removeSenderFromStylusDict()
1550{ 1688{
1551 stylusDict->remove((void*)sender()); 1689 stylusDict->remove
1690 ( ( void* ) sender() );
1552 if ( d->presswidget == sender() ) 1691 if ( d->presswidget == sender() )
1553 d->presswidget = 0; 1692 d->presswidget = 0;
1554} 1693}
@@ -1704,8 +1843,7 @@ void qt_setMaxWindowRect(const QRect& r)
1704 if ( l ) { 1843 if ( l ) {
1705 QWidget *w = l->first(); 1844 QWidget *w = l->first();
1706 while ( w ) { 1845 while ( w ) {
1707 if ( w->isVisible() && w->isMaximized() ) 1846 if ( w->isVisible() && w->isMaximized() ) {
1708 {
1709 w->showMaximized(); 1847 w->showMaximized();
1710 } 1848 }
1711 w = l->next(); 1849 w = l->next();
diff --git a/library/styleinterface.h b/library/styleinterface.h
new file mode 100644
index 0000000..9fea636
--- a/dev/null
+++ b/library/styleinterface.h
@@ -0,0 +1,68 @@
1/**********************************************************************
2** Copyright (C) 2002 Robert Griebl. All rights reserved.
3**
4** This file is part of OPIE (http://www.opie.info).
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14**********************************************************************/
15
16#ifndef STYLEINTERFACE_H
17#define STYLEINTERFACE_H
18
19#include <qpe/qcom.h>
20
21#ifndef QT_NO_COMPONENT
22
23// {6C33B4F9-D529-453A-8FB3-DA42B21872BD}
24# ifndef IID_Style
25# define IID_Style QUuid( 0x6c33b4f9, 0xd529, 0x453a, 0x8f, 0xb3, 0xda, 0x42, 0xb2, 0x18, 0x72, 0xbd)
26#endif
27
28// {9757A252-3FD4-438F-A756-80BE4A9FB8DC}
29# ifndef IID_StyleSettings
30# define IID_StyleSettings QUuid( 0x9757a252, 0x3fd4, 0x438f, 0xa7, 0x56, 0x80, 0xbe, 0x4a, 0x9f, 0xb8, 0xdc)
31# endif
32
33#endif
34
35class QWidget;
36class QStyle;
37
38struct StyleInterface : public QUnknownInterface
39{
40 //! Return a new style.
41 virtual QStyle *create ( ) = 0;
42
43 //! Return a (longer) description for the style.
44 virtual QString description ( ) = 0;
45
46 //! Return a short name for the style.
47 virtual QString name ( ) = 0;
48
49 //! Return the library basename (libliquid.so => liquid)
50 virtual QCString key ( ) = 0;
51
52 //! QT_VERSION like 1.2.3 == 123
53 virtual unsigned int version ( ) = 0;
54};
55
56struct StyleSettingsInterface : public QUnknownInterface
57{
58 //! Return a new settings page.
59 virtual QWidget *create ( QWidget *parent, const char *name = 0 ) = 0;
60
61 //! Callback for appearance app when OK is clicked (return true when style has to re-applied).
62 virtual bool accept ( ) = 0;
63
64 //! Callback for appeaeance app when Cancel is clicked.
65 virtual void reject ( ) = 0;
66};
67
68#endif
diff --git a/noncore/styles/liquid/liquid.pro b/noncore/styles/liquid/liquid.pro
index 23dce09..a07eaf2 100644
--- a/noncore/styles/liquid/liquid.pro
+++ b/noncore/styles/liquid/liquid.pro
@@ -3,11 +3,15 @@ CONFIG = qt embedded release warn_on
3SOURCES = liquid.cpp \ 3SOURCES = liquid.cpp \
4 liquiddeco.cpp \ 4 liquiddeco.cpp \
5 effects.cpp \ 5 effects.cpp \
6 liquidset.cpp \
6 plugin.cpp 7 plugin.cpp
7 8
8HEADERS = liquid.h \ 9HEADERS = liquid.h \
9 liquiddeco.h \ 10 liquiddeco.h \
10 effects.h 11 effects.h \
12 liquidset.h \
13 plugin.h
14
11LIBS += -lqpe 15LIBS += -lqpe
12INCLUDEPATH += $(OPIEDIR)/include 16INCLUDEPATH += $(OPIEDIR)/include
13DESTDIR = $(OPIEDIR)/plugins/styles 17DESTDIR = $(OPIEDIR)/plugins/styles
diff --git a/noncore/styles/liquid/settings/liquidset.cpp b/noncore/styles/liquid/liquidset.cpp
index 1479ac0..5ae19ba 100644
--- a/noncore/styles/liquid/settings/liquidset.cpp
+++ b/noncore/styles/liquid/liquidset.cpp
@@ -21,7 +21,7 @@
21 21
22 22
23#include "liquidset.h" 23#include "liquidset.h"
24#include "../liquid.h" 24#include "liquid.h"
25 25
26#include <qpe/qpeapplication.h> 26#include <qpe/qpeapplication.h>
27#include <qpe/global.h> 27#include <qpe/global.h>
@@ -57,8 +57,8 @@ static void changeButtonColor ( QWidget *btn, const QColor &col )
57} 57}
58 58
59 59
60LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl ) 60LiquidSettings::LiquidSettings ( QWidget* parent, const char *name, WFlags fl )
61 : QDialog ( parent, name, fl ) 61 : QWidget ( parent, name, fl )
62{ 62{
63 setCaption ( tr( "Liquid Style" ) ); 63 setCaption ( tr( "Liquid Style" ) );
64 64
@@ -122,7 +122,7 @@ LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl )
122 122
123 QPopupMenu *popup; 123 QPopupMenu *popup;
124 124
125 popup = new ColorPopupMenu ( m_menucol, this ); 125 popup = new ColorPopupMenu ( m_menucol, 0 );
126 m_menubtn-> setPopup ( popup ); 126 m_menubtn-> setPopup ( popup );
127 m_menubtn-> setPopupDelay ( 0 ); 127 m_menubtn-> setPopupDelay ( 0 );
128 connect ( popup, SIGNAL( colorSelected ( const QColor & )), this, SLOT( changeMenuColor ( const QColor & ))); 128 connect ( popup, SIGNAL( colorSelected ( const QColor & )), this, SLOT( changeMenuColor ( const QColor & )));
@@ -131,7 +131,7 @@ LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl )
131 m_textbtn = new QToolButton ( this ); 131 m_textbtn = new QToolButton ( this );
132 grid-> addWidget ( m_textbtn, 0, 5 ); 132 grid-> addWidget ( m_textbtn, 0, 5 );
133 133
134 popup = new ColorPopupMenu ( m_textcol, this ); 134 popup = new ColorPopupMenu ( m_textcol, 0 );
135 m_textbtn-> setPopup ( popup ); 135 m_textbtn-> setPopup ( popup );
136 m_textbtn-> setPopupDelay ( 0 ); 136 m_textbtn-> setPopupDelay ( 0 );
137 connect ( popup, SIGNAL( colorSelected ( const QColor & )), this, SLOT( changeTextColor ( const QColor & ))); 137 connect ( popup, SIGNAL( colorSelected ( const QColor & )), this, SLOT( changeTextColor ( const QColor & )));
@@ -176,7 +176,7 @@ LiquidSet::LiquidSet ( QWidget* parent, const char *name, WFlags fl )
176 connect ( windeco, SIGNAL( toggled ( bool ) ), this, SLOT( changeDeco ( bool ) ) ); 176 connect ( windeco, SIGNAL( toggled ( bool ) ), this, SLOT( changeDeco ( bool ) ) );
177} 177}
178 178
179void LiquidSet::changeType ( int t ) 179void LiquidSettings::changeType ( int t )
180{ 180{
181 bool custom = ( t == Custom ); 181 bool custom = ( t == Custom );
182 182
@@ -190,30 +190,30 @@ void LiquidSet::changeType ( int t )
190 m_type = t; 190 m_type = t;
191} 191}
192 192
193void LiquidSet::changeMenuColor ( const QColor &col ) 193void LiquidSettings::changeMenuColor ( const QColor &col )
194{ 194{
195 changeButtonColor ( m_menubtn, col ); 195 changeButtonColor ( m_menubtn, col );
196 m_menucol = col; 196 m_menucol = col;
197} 197}
198 198
199void LiquidSet::changeTextColor ( const QColor &col ) 199void LiquidSettings::changeTextColor ( const QColor &col )
200{ 200{
201 changeButtonColor ( m_textbtn, col ); 201 changeButtonColor ( m_textbtn, col );
202 m_textcol = col; 202 m_textcol = col;
203} 203}
204 204
205void LiquidSet::changeShadow ( bool b ) 205void LiquidSettings::changeShadow ( bool b )
206{ 206{
207 m_shadow = b; 207 m_shadow = b;
208} 208}
209 209
210void LiquidSet::changeDeco ( bool b ) 210void LiquidSettings::changeDeco ( bool b )
211{ 211{
212 m_deco = b; 212 m_deco = b;
213} 213}
214 214
215 215
216void LiquidSet::accept ( ) 216bool LiquidSettings::writeConfig ( )
217{ 217{
218 Config config ( "qpe" ); 218 Config config ( "qpe" );
219 config. setGroup ( "Liquid-Style" ); 219 config. setGroup ( "Liquid-Style" );
@@ -227,8 +227,6 @@ void LiquidSet::accept ( )
227 config. writeEntry ( "StippleContrast", m_contsld-> value ( )); 227 config. writeEntry ( "StippleContrast", m_contsld-> value ( ));
228 config. write ( ); 228 config. write ( );
229 229
230 Global::applyStyle ( ); 230 return true;
231
232 QDialog::accept ( );
233} 231}
234 232
diff --git a/noncore/styles/liquid/settings/liquidset.h b/noncore/styles/liquid/liquidset.h
index a0f590a..7843513 100644
--- a/noncore/styles/liquid/settings/liquidset.h
+++ b/noncore/styles/liquid/liquidset.h
@@ -8,11 +8,11 @@ class QLabel;
8class QToolButton; 8class QToolButton;
9class QSlider; 9class QSlider;
10 10
11class LiquidSet : public QDialog { 11class LiquidSettings : public QWidget {
12 Q_OBJECT 12 Q_OBJECT
13 13
14public: 14public:
15 LiquidSet ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 ); 15 LiquidSettings ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 );
16 16
17public slots: 17public slots:
18 void changeType ( int t ); 18 void changeType ( int t );
@@ -21,8 +21,7 @@ public slots:
21 void changeShadow ( bool b ); 21 void changeShadow ( bool b );
22 void changeDeco ( bool b ); 22 void changeDeco ( bool b );
23 23
24protected: 24 virtual bool writeConfig ( );
25 virtual void accept ( );
26 25
27private: 26private:
28 QColor m_menucol; 27 QColor m_menucol;
diff --git a/noncore/styles/liquid/opie-liquid.control b/noncore/styles/liquid/opie-liquid.control
index 6311dee..7b6ae71 100644
--- a/noncore/styles/liquid/opie-liquid.control
+++ b/noncore/styles/liquid/opie-liquid.control
@@ -1,4 +1,4 @@
1Files: plugins/styles/libliquid.so* bin/liquid-settings apps/Settings/Liquid.desktop pics/liquid/Liquid.png 1Files: plugins/styles/libliquid.so*
2Priority: optional 2Priority: optional
3Section: opie/system 3Section: opie/system
4Maintainer: Robert Griebl <sandman@handhelds.org> 4Maintainer: Robert Griebl <sandman@handhelds.org>
diff --git a/noncore/styles/liquid/plugin.cpp b/noncore/styles/liquid/plugin.cpp
index d9aa8ef..f149c29 100644
--- a/noncore/styles/liquid/plugin.cpp
+++ b/noncore/styles/liquid/plugin.cpp
@@ -1,29 +1,111 @@
1#include "liquid.h" 1#include "liquid.h"
2#include "liquidset.h"
3#include "plugin.h"
2 4
3 5
4extern "C" { 6
5 QStyle* allocate ( ); 7LiquidInterface::LiquidInterface ( ) : ref ( 0 )
6 int minor_version ( ); 8{
7 int major_version ( ); 9}
8 const char *description ( ); 10
11LiquidInterface::~LiquidInterface ( )
12{
9} 13}
10 14
11QStyle* allocate ( ) 15QStyle *LiquidInterface::create ( )
12{ 16{
13 return new LiquidStyle ( ); 17 return new LiquidStyle ( );
14} 18}
15 19
16int minor_version ( ) 20QString LiquidInterface::name ( )
21{
22 return QObject::tr( "Liquid", "name" );
23}
24
25QString LiquidInterface::description ( )
26{
27 return QObject::tr( "High Performance Liquid style by Mosfet", "description" );
28}
29
30QCString LiquidInterface::key ( )
17{ 31{
18 return 0; 32 return QCString ( "liquid" );
19} 33}
20 34
21int major_version ( ) 35unsigned int LiquidInterface::version ( )
22{ 36{
23 return 1; 37 return 100; // 1.0.0 (\d+.\d.\d)
24} 38}
25 39
26const char *description ( ) 40QRESULT LiquidInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
41{
42 static LiquidSettingsInterface *setiface = 0;
43
44 *iface = 0;
45
46 if ( uuid == IID_QUnknown )
47 *iface = this;
48 else if ( uuid == IID_Style )
49 *iface = this;
50 else if ( uuid == IID_StyleSettings ) {
51 if ( !setiface )
52 setiface = new LiquidSettingsInterface ( );
53 *iface = setiface;
54 }
55
56 if ( *iface )
57 (*iface)-> addRef ( );
58
59 return QS_OK;
60}
61
62Q_EXPORT_INTERFACE()
63{
64 Q_CREATE_INSTANCE( LiquidInterface )
65}
66
67
68LiquidSettingsInterface::LiquidSettingsInterface ( ) : ref ( 0 )
27{ 69{
28 return "High Performance Liquid"; 70 m_widget = 0;
29} 71}
72
73LiquidSettingsInterface::~LiquidSettingsInterface ( )
74{
75}
76
77QWidget *LiquidSettingsInterface::create ( QWidget *parent, const char *name )
78{
79 m_widget = new LiquidSettings ( parent, name ? name : "LIQUID-SETTINGS" );
80
81 return m_widget;
82}
83
84bool LiquidSettingsInterface::accept ( )
85{
86 if ( !m_widget )
87 return false;
88
89 return m_widget-> writeConfig ( );
90}
91
92void LiquidSettingsInterface::reject ( )
93{
94}
95
96QRESULT LiquidSettingsInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
97{
98 *iface = 0;
99
100
101 if ( uuid == IID_QUnknown )
102 *iface = this;
103 else if ( uuid == IID_StyleSettings )
104 *iface = this;
105
106 if ( *iface )
107 (*iface)-> addRef ( );
108
109 return QS_OK;
110}
111
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 @@
1#ifndef __OPIE_LIQUID_PLUGIN_H__
2#define __OPIE_LIQUID_PLUGIN_H__
3
4#include <qpe/styleinterface.h>
5
6class LiquidSettings;
7
8class LiquidInterface : public StyleInterface {
9public:
10 LiquidInterface ( );
11 virtual ~LiquidInterface ( );
12
13 QRESULT queryInterface ( const QUuid &, QUnknownInterface ** );
14 Q_REFCOUNT
15
16 virtual QStyle *create ( );
17
18 virtual QString description ( );
19 virtual QString name ( );
20 virtual QCString key ( );
21
22 virtual unsigned int version ( );
23
24private:
25 ulong ref;
26};
27
28class LiquidSettingsInterface : public StyleSettingsInterface {
29public:
30 LiquidSettingsInterface ( );
31 virtual ~LiquidSettingsInterface ( );
32
33 QRESULT queryInterface ( const QUuid &, QUnknownInterface ** );
34 Q_REFCOUNT
35
36 virtual QWidget *create ( QWidget *parent, const char *name = 0 );
37
38 virtual bool accept ( );
39 virtual void reject ( );
40
41private:
42 LiquidSettings *m_widget;
43 ulong ref;
44};
45
46#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 @@
1Makefile*
2moc_*
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 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20
21#include "liquidset.h"
22
23#include <qpe/qpeapplication.h>
24
25
26int main ( int argc, char** argv )
27{
28 QPEApplication a ( argc, argv );
29
30 LiquidSet dlg;
31 a. showMainWidget ( &dlg );
32
33 return a. exec ( );
34}
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 @@
1 TEMPLATE= app
2 CONFIG += qt warn_on release
3 DESTDIR = $(OPIEDIR)/bin
4 HEADERS = liquidset.h
5 SOURCES = liquidset.cpp main.cpp
6INCLUDEPATH += $(OPIEDIR)/include
7 DEPENDPATH+= ../$(OPIEDIR)/include
8LIBS += -lqpe -lopie
9 TARGET = liquid-settings
10
11TRANSLATIONS = ../../../../i18n/de/liquid-settings.ts \
12 ../../../../i18n/en/liquid-settings.ts \
13 ../../../../i18n/es/liquid-settings.ts \
14 ../../../../i18n/fr/liquid-settings.ts \
15 ../../../../i18n/hu/liquid-settings.ts \
16 ../../../../i18n/ja/liquid-settings.ts \
17 ../../../../i18n/ko/liquid-settings.ts \
18 ../../../../i18n/no/liquid-settings.ts \
19 ../../../../i18n/pl/liquid-settings.ts \
20 ../../../../i18n/pt/liquid-settings.ts \
21 ../../../../i18n/pt_BR/liquid-settings.ts \
22 ../../../../i18n/sl/liquid-settings.ts \
23 ../../../../i18n/zh_CN/liquid-settings.ts \
24 ../../../../i18n/zh_TW/liquid-settings.ts
diff --git a/noncore/styles/metal/metal.pro b/noncore/styles/metal/metal.pro
index 6e99389..cf15f33 100644
--- a/noncore/styles/metal/metal.pro
+++ b/noncore/styles/metal/metal.pro
@@ -2,7 +2,7 @@ TEMPLATE = lib
2CONFIG = qt embedded release warn_on 2CONFIG = qt embedded release warn_on
3SOURCES = metal.cpp plugin.cpp 3SOURCES = metal.cpp plugin.cpp
4 4
5HEADERS = metal.h 5HEADERS = metal.h plugin.h
6LIBS += -lqpe 6LIBS += -lqpe
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DESTDIR = $(OPIEDIR)/plugins/styles 8DESTDIR = $(OPIEDIR)/plugins/styles
diff --git a/noncore/styles/metal/plugin.cpp b/noncore/styles/metal/plugin.cpp
index e5bee10..1db4aac 100644
--- a/noncore/styles/metal/plugin.cpp
+++ b/noncore/styles/metal/plugin.cpp
@@ -1,29 +1,57 @@
1#include "metal.h" 1#include "metal.h"
2#include "plugin.h"
2 3
3 4
4extern "C" { 5MetalInterface::MetalInterface ( ) : ref ( 0 )
5 QStyle* allocate ( ); 6{
6 int minor_version ( );
7 int major_version ( );
8 const char *description ( );
9} 7}
10 8
11QStyle* allocate ( ) 9MetalInterface::~MetalInterface ( )
10{
11}
12
13QStyle *MetalInterface::create ( )
12{ 14{
13 return new MetalStyle ( ); 15 return new MetalStyle ( );
14} 16}
15 17
16int minor_version ( ) 18QString MetalInterface::name ( )
17{ 19{
18 return 0; 20 return QObject::tr( "Metal", "name" );
19} 21}
20 22
21int major_version ( ) 23QString MetalInterface::description ( )
22{ 24{
23 return 1; 25 return QObject::tr( "Metal style", "description" );
24} 26}
25 27
26const char *description ( ) 28QCString MetalInterface::key ( )
27{ 29{
28 return "Metal style plugin"; 30 return QCString ( "metal" );
29} 31}
32
33unsigned int MetalInterface::version ( )
34{
35 return 100; // 1.0.0 (\d+.\d.\d)
36}
37
38QRESULT MetalInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
39{
40 *iface = 0;
41
42 if ( uuid == IID_QUnknown )
43 *iface = this;
44 else if ( uuid == IID_Style )
45 *iface = this;
46
47 if ( *iface )
48 (*iface)-> addRef ( );
49
50 return QS_OK;
51}
52
53Q_EXPORT_INTERFACE()
54{
55 Q_CREATE_INSTANCE( MetalInterface )
56}
57
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 @@
1#ifndef __OPIE_METAL_PLUGIN_H__
2#define __OPIE_METAL_PLUGIN_H__
3
4#include <qpe/styleinterface.h>
5
6
7class MetalInterface : public StyleInterface {
8public:
9 MetalInterface ( );
10 virtual ~MetalInterface ( );
11
12 QRESULT queryInterface ( const QUuid &, QUnknownInterface ** );
13 Q_REFCOUNT
14
15 virtual QStyle *create ( );
16
17 virtual QString description ( );
18 virtual QString name ( );
19 virtual QCString key ( );
20
21 virtual unsigned int version ( );
22
23private:
24 ulong ref;
25};
26
27#endif
diff --git a/noncore/styles/theme/opie-theme.control b/noncore/styles/theme/opie-theme.control
index 02739fb..adb4f4b 100644
--- a/noncore/styles/theme/opie-theme.control
+++ b/noncore/styles/theme/opie-theme.control
@@ -1,4 +1,4 @@
1Files: plugins/styles/libtheme.so* bin/theme-settings apps/Settings/Theme.desktop pics/theme/Theme.png 1Files: plugins/styles/libtheme.so*
2Priority: optional 2Priority: optional
3Section: opie/system 3Section: opie/system
4Maintainer: Robert Griebl <sandman@handhelds.org> 4Maintainer: Robert Griebl <sandman@handhelds.org>
diff --git a/noncore/styles/theme/plugin.cpp b/noncore/styles/theme/plugin.cpp
index b334357..4383693 100644
--- a/noncore/styles/theme/plugin.cpp
+++ b/noncore/styles/theme/plugin.cpp
@@ -1,19 +1,111 @@
1//#include <klocale.h>
2#include "othemestyle.h" 1#include "othemestyle.h"
2#include "themeset.h"
3#include "plugin.h"
3 4
4extern "C" 5
6
7ThemeInterface::ThemeInterface ( ) : ref ( 0 )
8{
9}
10
11ThemeInterface::~ThemeInterface ( )
12{
13}
14
15QStyle *ThemeInterface::create ( )
5{ 16{
6 QStyle * allocate() {
7 return new OThemeStyle ( "" ); 17 return new OThemeStyle ( "" );
8 } 18 }
9 int minor_version() { 19
10 return 0; 20QString ThemeInterface::name ( )
21{
22 return QObject::tr( "Themed style", "name" );
23}
24
25QString ThemeInterface::description ( )
26{
27 return QObject::tr( "KDE2 theme compatible style engine", "description" );
28}
29
30QCString ThemeInterface::key ( )
31{
32 return QCString ( "theme" );
33}
34
35unsigned int ThemeInterface::version ( )
36{
37 return 100; // 1.0.0 (\d+.\d.\d)
38}
39
40QRESULT ThemeInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
41{
42 static ThemeSettingsInterface *setiface = 0;
43
44 *iface = 0;
45
46 if ( uuid == IID_QUnknown )
47 *iface = this;
48 else if ( uuid == IID_Style )
49 *iface = this;
50 else if ( uuid == IID_StyleSettings ) {
51 if ( !setiface )
52 setiface = new ThemeSettingsInterface ( );
53 *iface = setiface;
54 }
55
56 if ( *iface )
57 (*iface)-> addRef ( );
58
59 return QS_OK;
60}
61
62Q_EXPORT_INTERFACE()
63{
64 Q_CREATE_INSTANCE( ThemeInterface )
65}
66
67
68ThemeSettingsInterface::ThemeSettingsInterface ( ) : ref ( 0 )
69{
70 m_widget = 0;
71}
72
73ThemeSettingsInterface::~ThemeSettingsInterface ( )
74{
75}
76
77QWidget *ThemeSettingsInterface::create ( QWidget *parent, const char *name )
78{
79 m_widget = new ThemeSettings ( parent, name ? name : "THEME-SETTINGS" );
80
81 return m_widget;
11 } 82 }
12 int major_version() { 83
13 return 1; 84bool ThemeSettingsInterface::accept ( )
85{
86 if ( !m_widget )
87 return false;
88
89 return m_widget-> writeConfig ( );
14 } 90 }
15 const char * description() { 91
16 return ( "Theme Style" ); 92void ThemeSettingsInterface::reject ( )
93{
17 } 94 }
95
96QRESULT ThemeSettingsInterface::queryInterface ( const QUuid &uuid, QUnknownInterface **iface )
97{
98 *iface = 0;
99
100
101 if ( uuid == IID_QUnknown )
102 *iface = this;
103 else if ( uuid == IID_StyleSettings )
104 *iface = this;
105
106 if ( *iface )
107 (*iface)-> addRef ( );
108
109 return QS_OK;
18} 110}
19 111
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 @@
1#ifndef __OPIE_THEME_PLUGIN_H__
2#define __OPIE_THEME_PLUGIN_H__
3
4#include <qpe/styleinterface.h>
5
6class ThemeSettings;
7
8class ThemeInterface : public StyleInterface {
9public:
10 ThemeInterface ( );
11 virtual ~ThemeInterface ( );
12
13 QRESULT queryInterface ( const QUuid &, QUnknownInterface ** );
14 Q_REFCOUNT
15
16 virtual QStyle *create ( );
17
18 virtual QString description ( );
19 virtual QString name ( );
20 virtual QCString key ( );
21
22 virtual unsigned int version ( );
23
24private:
25 ulong ref;
26};
27
28class ThemeSettingsInterface : public StyleSettingsInterface {
29public:
30 ThemeSettingsInterface ( );
31 virtual ~ThemeSettingsInterface ( );
32
33 QRESULT queryInterface ( const QUuid &, QUnknownInterface ** );
34 Q_REFCOUNT
35
36 virtual QWidget *create ( QWidget *parent, const char *name = 0 );
37
38 virtual bool accept ( );
39 virtual void reject ( );
40
41private:
42 ThemeSettings *m_widget;
43 ulong ref;
44};
45
46#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 @@
1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3**
4** This file is part of Qtopia Environment.
5**
6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file.
10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15**
16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you.
18**
19**********************************************************************/
20
21#include "themeset.h"
22
23#include <qpe/qpeapplication.h>
24
25
26int main ( int argc, char** argv )
27{
28 QPEApplication a ( argc, argv );
29
30 ThemeSet dlg;
31 a. showMainWidget ( &dlg );
32
33 return a. exec ( );
34}
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 @@
1 TEMPLATE= app
2 CONFIG += qt warn_on release
3 DESTDIR = $(OPIEDIR)/bin
4 HEADERS = themeset.h
5 SOURCES = themeset.cpp main.cpp
6INCLUDEPATH += $(OPIEDIR)/include
7 DEPENDPATH+= ../$(OPIEDIR)/include
8LIBS += -lqpe
9 TARGET = theme-settings
10
11TRANSLATIONS = ../../../../i18n/de/theme-settings.ts \
12 ../../../../i18n/en/theme-settings.ts \
13 ../../../../i18n/es/theme-settings.ts \
14 ../../../../i18n/fr/theme-settings.ts \
15 ../../../../i18n/hu/theme-settings.ts \
16 ../../../../i18n/ja/theme-settings.ts \
17 ../../../../i18n/ko/theme-settings.ts \
18 ../../../../i18n/no/theme-settings.ts \
19 ../../../../i18n/pl/theme-settings.ts \
20 ../../../../i18n/pt/theme-settings.ts \
21 ../../../../i18n/pt_BR/theme-settings.ts \
22 ../../../../i18n/sl/theme-settings.ts \
23 ../../../../i18n/zh_CN/theme-settings.ts \
24 ../../../../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 @@
1#ifndef __OPIE_THEME_SET_H__
2#define __OPIE_THEME_SET_H__
3
4#include <qdialog.h>
5
6class QListView;
7
8class ThemeSet : public QDialog {
9 Q_OBJECT
10
11public:
12 ThemeSet ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 );
13
14protected:
15 virtual void accept ( );
16
17private:
18 QListView *m_list;
19};
20#endif
diff --git a/noncore/styles/theme/theme.pro b/noncore/styles/theme/theme.pro
index fdcd20e..49c4103 100644
--- a/noncore/styles/theme/theme.pro
+++ b/noncore/styles/theme/theme.pro
@@ -3,11 +3,14 @@ CONFIG = qt embedded debug warn_on
3SOURCES = ogfxeffect.cpp \ 3SOURCES = ogfxeffect.cpp \
4 othemestyle.cpp \ 4 othemestyle.cpp \
5 othemebase.cpp \ 5 othemebase.cpp \
6 themeset.cpp \
6 plugin.cpp 7 plugin.cpp
7 8
8HEADERS = ogfxeffect.h \ 9HEADERS = ogfxeffect.h \
9 othemebase.h \ 10 othemebase.h \
10 othemestyle.h 11 othemestyle.h \
12 themeset.h \
13 plugin.h
11 14
12 15
13LIBS += -lqpe 16LIBS += -lqpe
diff --git a/noncore/styles/theme/settings/themeset.cpp b/noncore/styles/theme/themeset.cpp
index 046618e..4a4efcb 100644
--- a/noncore/styles/theme/settings/themeset.cpp
+++ b/noncore/styles/theme/themeset.cpp
@@ -59,8 +59,8 @@ public:
59}; 59};
60 60
61 61
62ThemeSet::ThemeSet ( QWidget* parent, const char *name, WFlags fl ) 62ThemeSettings::ThemeSettings ( QWidget* parent, const char *name, WFlags fl )
63 : QDialog ( parent, name, fl ) 63 : QWidget ( parent, name, fl )
64{ 64{
65 setCaption ( tr( "Theme Style" ) ); 65 setCaption ( tr( "Theme Style" ) );
66 66
@@ -109,16 +109,15 @@ ThemeSet::ThemeSet ( QWidget* parent, const char *name, WFlags fl )
109 } 109 }
110} 110}
111 111
112void ThemeSet::accept ( ) 112bool ThemeSettings::writeConfig ( )
113{ 113{
114 Config config ( "qpe" ); 114 Config config ( "qpe" );
115 config. setGroup ( "Appearance" ); 115 config. setGroup ( "Appearance" );
116 116
117 MyItem *it = (MyItem *) m_list-> selectedItem ( ); 117 MyItem *it = (MyItem *) m_list-> selectedItem ( );
118 config. writeEntry ( "Theme", it ? it-> m_theme : QString ( "" )); 118 config. writeEntry ( "Theme", it ? it-> m_theme : QString ( "" ));
119 config. write ( );
119 120
120 Global::applyStyle ( ); 121 return true;
121
122 QDialog::accept ( );
123} 122}
124 123
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 @@
1#ifndef __OPIE_THEME_SETTINGS_H__
2#define __OPIE_THEME_SETTINGS_H__
3
4#include <qdialog.h>
5
6class QListView;
7
8class ThemeSettings : public QWidget {
9 Q_OBJECT
10
11public:
12 ThemeSettings ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 );
13
14public:
15 virtual bool writeConfig ( );
16
17private:
18 QListView *m_list;
19};
20#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