-rw-r--r-- | library/qpeapplication.cpp | 322 |
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 | ||
108 | class QPEApplicationData { | 108 | class QPEApplicationData |
109 | { | ||
109 | public: | 110 | public: |
@@ -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 | ||
156 | class ResourceMimeFactory : public QMimeSourceFactory { | 159 | class ResourceMimeFactory : public QMimeSourceFactory |
160 | { | ||
157 | public: | 161 | public: |
@@ -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 | ||
332 | void qpe_setBacklight(int bright) { setBacklight(bright); } | 350 | void 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 | |||
699 | public: | 734 | public: |
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(); |