summaryrefslogtreecommitdiff
path: root/library/qpeapplication.cpp
Unidiff
Diffstat (limited to 'library/qpeapplication.cpp') (more/less context) (show whitespace changes)
-rw-r--r--library/qpeapplication.cpp322
1 files changed, 230 insertions, 92 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index dff8235..187a7e2 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -66,2 +66,3 @@
66#include "qpestyle.h" 66#include "qpestyle.h"
67#include "styleinterface.h"
67#if QT_VERSION >= 300 68#if QT_VERSION >= 300
@@ -76,3 +77,2 @@
76#include <qpe/qlibrary.h> 77#include <qpe/qlibrary.h>
77#include <dlfcn.h>
78#endif 78#endif
@@ -107,3 +107,4 @@
107 107
108class QPEApplicationData { 108class QPEApplicationData
109{
109public: 110public:
@@ -125,6 +126,8 @@ public:
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
@@ -155,3 +158,4 @@ public:
155 158
156class ResourceMimeFactory : public QMimeSourceFactory { 159class ResourceMimeFactory : public QMimeSourceFactory
160{
157public: 161public:
@@ -177,3 +181,4 @@ public:
177 r = new QImageDrag(img); 181 r = new QImageDrag(img);
178 } while (!r && sl>0); 182 }
183 while ( !r && sl > 0 );
179 } 184 }
@@ -202,3 +207,4 @@ static void setVolume(int t=0, int percent=-1)
202 } 207 }
203 } break; 208 }
209 break;
204 } 210 }
@@ -221,3 +227,4 @@ static void setMic(int t=0, int percent=-1)
221 } 227 }
222 } break; 228 }
229 break;
223 } 230 }
@@ -230,4 +237,6 @@ int qpe_sysBrightnessSteps()
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; // ?
@@ -244,2 +253,3 @@ static int& hack(int& i)
244#endif 253#endif
254
245 return i; 255 return i;
@@ -288,3 +298,5 @@ static void setBacklight(int bright)
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
@@ -294,3 +306,4 @@ static void setBacklight(int bright)
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);
@@ -300,3 +313,6 @@ static void setBacklight(int bright)
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 {
@@ -305,3 +321,4 @@ static void setBacklight(int bright)
305 unsigned char brightness; 321 unsigned char brightness;
306 } FLITE_IN; 322 }
323 FLITE_IN;
307# ifndef FLITE_ON 324# ifndef FLITE_ON
@@ -312,2 +329,3 @@ static void setBacklight(int bright)
312# endif 329# endif
330
313 int fd; 331 int fd;
@@ -331,3 +349,5 @@ static void setBacklight(int bright)
331 349
332void qpe_setBacklight(int bright) { setBacklight(bright); } 350void qpe_setBacklight( int bright ) {
351 setBacklight( bright );
352}
333 353
@@ -360,3 +380,6 @@ public:
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 }
@@ -368,3 +391,7 @@ public:
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 }
@@ -396,3 +423,7 @@ public:
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;
@@ -574,3 +605,4 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t )
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];
@@ -591,2 +623,3 @@ QPEApplication::QPEApplication( int& argc, char **argv, Type t )
591#ifndef QT_NO_TRANSLATION 623#ifndef QT_NO_TRANSLATION
624
592 QStringList langs = Global::languageList(); 625 QStringList langs = Global::languageList();
@@ -690,4 +723,6 @@ void QPEApplication::setInputMethodHint( QWidget* w, InputMethodHint mode )
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);
@@ -699,4 +734,10 @@ class HackDialog : public QDialog
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};
@@ -723,3 +764,5 @@ public:
723 bool needsOk() 764 bool needsOk()
724 { return (getWState() & WState_Reserved1 ); } 765 {
766 return ( getWState() & WState_Reserved1 );
767 }
725}; 768};
@@ -766,3 +809,4 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
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;
@@ -770,3 +814,4 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
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:
@@ -776,6 +821,8 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
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 ) {
@@ -790,3 +837,4 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
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();
@@ -802,2 +850,3 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
802#endif 850#endif
851
803 } 852 }
@@ -816,3 +865,4 @@ bool QPEApplication::qwsEventFilter( QWSEvent *e )
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
@@ -850,2 +900,3 @@ QPEApplication::~QPEApplication()
850#endif 900#endif
901
851 delete d; 902 delete d;
@@ -888,7 +939,10 @@ int QPEApplication::defaultRotation()
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;
@@ -907,3 +961,4 @@ void QPEApplication::setDefaultRotation(int 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;
@@ -952,3 +1007,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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 ) {
@@ -958,3 +1014,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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 ) {
@@ -964,3 +1021,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
964 } 1021 }
965 } else if ( msg == "setBacklight(int)" ) { 1022 }
1023 else if ( msg == "setBacklight(int)" ) {
966 if ( type() == GuiServer ) { 1024 if ( type() == GuiServer ) {
@@ -970,3 +1028,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
970 } 1028 }
971 } else if ( msg == "setDefaultRotation(int)" ) { 1029 }
1030 else if ( msg == "setDefaultRotation(int)" ) {
972 if ( type() == GuiServer ) { 1031 if ( type() == GuiServer ) {
@@ -976,15 +1035,20 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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;
@@ -997,3 +1061,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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 ) {
@@ -1010,3 +1075,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
1010 } 1075 }
1011 } else if ( msg == "timeChange(QString)" ) { 1076 }
1077 else if ( msg == "timeChange(QString)" ) {
1012 QString t; 1078 QString t;
@@ -1019,3 +1085,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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 ) {
@@ -1025,3 +1092,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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 ) {
@@ -1031,3 +1099,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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 ) {
@@ -1039,3 +1108,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &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 ) {
@@ -1047,3 +1117,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
1047 } 1117 }
1048 } else if ( msg == "clockChange(bool)" ) { 1118 }
1119 else if ( msg == "clockChange(bool)" ) {
1049 int tmp; 1120 int tmp;
@@ -1051,3 +1122,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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;
@@ -1055,3 +1127,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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;
@@ -1059,3 +1132,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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;
@@ -1064,3 +1138,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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;
@@ -1068,3 +1143,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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;
@@ -1073,3 +1149,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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;
@@ -1077,3 +1154,4 @@ void QPEApplication::systemMessage( const QCString &msg, const QByteArray &data)
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 ) {
@@ -1098,3 +1176,4 @@ bool QPEApplication::raiseAppropriateWindow()
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 ) {
@@ -1103,2 +1182,3 @@ bool QPEApplication::raiseAppropriateWindow()
1103#ifdef Q_WS_QWS 1182#ifdef Q_WS_QWS
1183
1104 if ( !d->nomaximize ) 1184 if ( !d->nomaximize )
@@ -1107,2 +1187,3 @@ bool QPEApplication::raiseAppropriateWindow()
1107#endif 1187#endif
1188
1108 top->show(); 1189 top->show();
@@ -1127,8 +1208,11 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
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;
@@ -1136,3 +1220,4 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
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;
@@ -1140,3 +1225,4 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
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;
@@ -1144,3 +1230,4 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
1144 raiseAppropriateWindow(); 1230 raiseAppropriateWindow();
1145 } else if ( msg == "flush()" ) { 1231 }
1232 else if ( msg == "flush()" ) {
1146 emit flush(); 1233 emit flush();
@@ -1149,5 +1236,7 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
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;
@@ -1161,6 +1250,8 @@ void QPEApplication::pidMessage( const QCString &msg, const QByteArray & data)
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);
@@ -1215,5 +1306,7 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
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
@@ -1223,2 +1316,3 @@ void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
1223#endif 1316#endif
1317
1224 mw->show(); 1318 mw->show();
@@ -1254,5 +1348,7 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize )
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
@@ -1262,2 +1358,3 @@ void QPEApplication::showMainDocumentWidget( QWidget* mw, bool nomaximize )
1262#endif 1358#endif
1359
1263 mw->show(); 1360 mw->show();
@@ -1303,5 +1400,7 @@ void QPEApplication::internalSetStyle( const QString &style )
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 }
@@ -1310,5 +1409,7 @@ void QPEApplication::internalSetStyle( const QString &style )
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 );
@@ -1333,2 +1434,39 @@ void QPEApplication::internalSetStyle( const QString &style )
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)"
@@ -1344,4 +1482,3 @@ void QPEApplication::internalSetStyle( const QString &style )
1344 1482
1345 // static QLibrary *currentlib = 0; 1483 static QLibrary *currentlib = 0;
1346 static void *currentlib = 0;
1347 1484
@@ -1350,8 +1487,6 @@ void QPEApplication::internalSetStyle( const QString &style )
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
@@ -1363,6 +1498,4 @@ void QPEApplication::internalSetStyle( const QString &style )
1363 1498
1364 if ( currentlib ) { 1499 if ( currentlib )
1365 //delete currentlib; 1500 delete currentlib;
1366 ::dlclose ( currentlib );
1367 }
1368 currentlib = lib; 1501 currentlib = lib;
@@ -1372,7 +1505,6 @@ void QPEApplication::internalSetStyle( const QString &style )
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
@@ -1380,2 +1512,4 @@ void QPEApplication::internalSetStyle( const QString &style )
1380} 1512}
1513#endif
1514}
1381 1515
@@ -1400,3 +1534,4 @@ void QPEApplication::prepareForTermination(bool willrestart)
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.
@@ -1461,5 +1596,7 @@ void QPEApplication::setStylusOperation( QWidget* w, StylusMode mode )
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);
@@ -1518,3 +1655,4 @@ bool QPEApplication::eventFilter( QObject *o, QEvent *e )
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;
@@ -1550,3 +1688,4 @@ void 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() )
@@ -1706,4 +1845,3 @@ void qt_setMaxWindowRect(const QRect& r)
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();