summaryrefslogtreecommitdiff
path: root/library
Unidiff
Diffstat (limited to 'library') (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.cpp8
-rw-r--r--library/qpeapplication.h5
2 files changed, 3 insertions, 10 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index f5bf0c5..7463074 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -878,389 +878,387 @@ QPEApplication::~QPEApplication()
878 // be gone by the time we get to ~QObject(). 878 // be gone by the time we get to ~QObject().
879 delete sysChannel; 879 delete sysChannel;
880 delete pidChannel; 880 delete pidChannel;
881#endif 881#endif
882 882
883 delete d; 883 delete d;
884} 884}
885 885
886/*! 886/*!
887 Returns <tt>$OPIEDIR/</tt>. 887 Returns <tt>$OPIEDIR/</tt>.
888*/ 888*/
889QString QPEApplication::qpeDir() 889QString QPEApplication::qpeDir()
890{ 890{
891 const char * base = getenv( "OPIEDIR" ); 891 const char * base = getenv( "OPIEDIR" );
892 if ( base ) 892 if ( base )
893 return QString( base ) + "/"; 893 return QString( base ) + "/";
894 894
895 return QString( "../" ); 895 return QString( "../" );
896} 896}
897 897
898/*! 898/*!
899 Returns the user's current Document directory. There is a trailing "/". 899 Returns the user's current Document directory. There is a trailing "/".
900 .. well, it does now,, and there's no trailing '/' 900 .. well, it does now,, and there's no trailing '/'
901*/ 901*/
902QString QPEApplication::documentDir() 902QString QPEApplication::documentDir()
903{ 903{
904 const char* base = getenv( "HOME"); 904 const char* base = getenv( "HOME");
905 if ( base ) 905 if ( base )
906 return QString( base ) + "/Documents"; 906 return QString( base ) + "/Documents";
907 907
908 return QString( "../Documents" ); 908 return QString( "../Documents" );
909} 909}
910 910
911static int deforient = -1; 911static int deforient = -1;
912 912
913/*! 913/*!
914 \internal 914 \internal
915*/ 915*/
916int QPEApplication::defaultRotation() 916int QPEApplication::defaultRotation()
917{ 917{
918 if ( deforient < 0 ) { 918 if ( deforient < 0 ) {
919 QString d = getenv( "QWS_DISPLAY" ); 919 QString d = getenv( "QWS_DISPLAY" );
920 if ( d.contains( "Rot90" ) ) { 920 if ( d.contains( "Rot90" ) ) {
921 deforient = 90; 921 deforient = 90;
922 } 922 }
923 else if ( d.contains( "Rot180" ) ) { 923 else if ( d.contains( "Rot180" ) ) {
924 deforient = 180; 924 deforient = 180;
925 } 925 }
926 else if ( d.contains( "Rot270" ) ) { 926 else if ( d.contains( "Rot270" ) ) {
927 deforient = 270; 927 deforient = 270;
928 } 928 }
929 else { 929 else {
930 deforient = 0; 930 deforient = 0;
931 } 931 }
932 } 932 }
933 return deforient; 933 return deforient;
934} 934}
935 935
936/*! 936/*!
937 \internal 937 \internal
938*/ 938*/
939void QPEApplication::setDefaultRotation( int r ) 939void QPEApplication::setDefaultRotation( int r )
940{ 940{
941 if ( qApp->type() == GuiServer ) { 941 if ( qApp->type() == GuiServer ) {
942 deforient = r; 942 deforient = r;
943 setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 ); 943 setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 );
944 Config config("qpe"); 944 Config config("qpe");
945 config.setGroup( "Rotation" ); 945 config.setGroup( "Rotation" );
946 config.writeEntry( "Screen", getenv("QWS_DISPLAY") ); 946 config.writeEntry( "Screen", getenv("QWS_DISPLAY") );
947 } 947 }
948 else { 948 else {
949#ifndef QT_NO_COP 949#ifndef QT_NO_COP
950 { QCopEnvelope e( "QPE/System", "setDefaultRotation(int)" ); 950 { QCopEnvelope e( "QPE/System", "setDefaultRotation(int)" );
951 e << r; 951 e << r;
952 } 952 }
953#endif 953#endif
954 954
955 } 955 }
956} 956}
957 957
958 958
959/*! 959/*!
960 \internal 960 \internal
961*/ 961*/
962void QPEApplication::applyStyle() 962void QPEApplication::applyStyle()
963{ 963{
964 Config config( "qpe" ); 964 Config config( "qpe" );
965 config.setGroup( "Appearance" ); 965 config.setGroup( "Appearance" );
966 966
967 // don't block ourselves ... 967 // don't block ourselves ...
968 Opie::force_appearance = 0; 968 Opie::force_appearance = 0;
969 969
970 static QString appname = Opie::binaryName ( ); 970 static QString appname = Opie::binaryName ( );
971 971
972 QStringList ex = config. readListEntry ( "NoStyle", ';' ); 972 QStringList ex = config. readListEntry ( "NoStyle", ';' );
973 int nostyle = 0; 973 int nostyle = 0;
974 for ( QStringList::Iterator it = ex. begin ( ); it != ex. end ( ); ++it ) { 974 for ( QStringList::Iterator it = ex. begin ( ); it != ex. end ( ); ++it ) {
975 if ( QRegExp (( *it ). mid ( 1 ), false, true ). find ( appname, 0 ) >= 0 ) { 975 if ( QRegExp (( *it ). mid ( 1 ), false, true ). find ( appname, 0 ) >= 0 ) {
976 nostyle = ( *it ). left ( 1 ). toInt ( 0, 32 ); 976 nostyle = ( *it ). left ( 1 ). toInt ( 0, 32 );
977 break; 977 break;
978 } 978 }
979 } 979 }
980 980
981 // Widget style 981 // Widget style
982 QString style = config.readEntry( "Style", "Light" ); 982 QString style = config.readEntry( "Style", "Light" );
983 983
984 // don't set a custom style 984 // don't set a custom style
985 if ( nostyle & Opie::Force_Style ) 985 if ( nostyle & Opie::Force_Style )
986 style = "Light"; 986 style = "Light";
987 987
988 internalSetStyle ( style ); 988 internalSetStyle ( style );
989 989
990 // Colors 990 // Colors
991 QColor bgcolor( config.readEntry( "Background", "#E5E1D5" ) ); 991 QColor bgcolor( config.readEntry( "Background", "#E5E1D5" ) );
992 QColor btncolor( config.readEntry( "Button", "#D6CDBB" ) ); 992 QColor btncolor( config.readEntry( "Button", "#D6CDBB" ) );
993 QPalette pal( btncolor, bgcolor ); 993 QPalette pal( btncolor, bgcolor );
994 QString color = config.readEntry( "Highlight", "#800000" ); 994 QString color = config.readEntry( "Highlight", "#800000" );
995 pal.setColor( QColorGroup::Highlight, QColor( color ) ); 995 pal.setColor( QColorGroup::Highlight, QColor( color ) );
996 color = config.readEntry( "HighlightedText", "#FFFFFF" ); 996 color = config.readEntry( "HighlightedText", "#FFFFFF" );
997 pal.setColor( QColorGroup::HighlightedText, QColor( color ) ); 997 pal.setColor( QColorGroup::HighlightedText, QColor( color ) );
998 color = config.readEntry( "Text", "#000000" ); 998 color = config.readEntry( "Text", "#000000" );
999 pal.setColor( QColorGroup::Text, QColor( color ) ); 999 pal.setColor( QColorGroup::Text, QColor( color ) );
1000 color = config.readEntry( "ButtonText", "#000000" ); 1000 color = config.readEntry( "ButtonText", "#000000" );
1001 pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) ); 1001 pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) );
1002 color = config.readEntry( "Base", "#FFFFFF" ); 1002 color = config.readEntry( "Base", "#FFFFFF" );
1003 pal.setColor( QColorGroup::Base, QColor( color ) ); 1003 pal.setColor( QColorGroup::Base, QColor( color ) );
1004 1004
1005 pal.setColor( QPalette::Disabled, QColorGroup::Text, 1005 pal.setColor( QPalette::Disabled, QColorGroup::Text,
1006 pal.color( QPalette::Active, QColorGroup::Background ).dark() ); 1006 pal.color( QPalette::Active, QColorGroup::Background ).dark() );
1007 1007
1008 setPalette( pal, TRUE ); 1008 setPalette( pal, TRUE );
1009 1009
1010 // Window Decoration 1010 // Window Decoration
1011 QString dec = config.readEntry( "Decoration", "Qtopia" ); 1011 QString dec = config.readEntry( "Decoration", "Qtopia" );
1012 1012
1013 // don't set a custom deco 1013 // don't set a custom deco
1014 if ( nostyle & Opie::Force_Decoration ) 1014 if ( nostyle & Opie::Force_Decoration )
1015 dec = ""; 1015 dec = "";
1016 1016
1017 //qDebug ( "Setting Deco: %s -- old %s (%d)", dec.latin1(), d-> decorationName.latin1(), nostyle); 1017 //qDebug ( "Setting Deco: %s -- old %s (%d)", dec.latin1(), d-> decorationName.latin1(), nostyle);
1018 1018
1019 if ( dec != d->decorationName ) { 1019 if ( dec != d->decorationName ) {
1020 qwsSetDecoration( new QPEDecoration( dec ) ); 1020 qwsSetDecoration( new QPEDecoration( dec ) );
1021 d->decorationName = dec; 1021 d->decorationName = dec;
1022 } 1022 }
1023 1023
1024 // Font 1024 // Font
1025 QString ff = config.readEntry( "FontFamily", font().family() ); 1025 QString ff = config.readEntry( "FontFamily", font().family() );
1026 int fs = config.readNumEntry( "FontSize", font().pointSize() ); 1026 int fs = config.readNumEntry( "FontSize", font().pointSize() );
1027 1027
1028 // don't set a custom font 1028 // don't set a custom font
1029 if ( nostyle & Opie::Force_Font ) { 1029 if ( nostyle & Opie::Force_Font ) {
1030 ff = "Helvetica"; 1030 ff = "Helvetica";
1031 fs = 10; 1031 fs = 10;
1032 } 1032 }
1033 1033
1034 setFont ( QFont ( ff, fs ), true ); 1034 setFont ( QFont ( ff, fs ), true );
1035 1035
1036 // revert to global blocking policy ... 1036 // revert to global blocking policy ...
1037 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None; 1037 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None;
1038 Opie::force_appearance &= ~nostyle; 1038 Opie::force_appearance &= ~nostyle;
1039} 1039}
1040 1040
1041void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data ) 1041void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data )
1042{ 1042{
1043#ifdef Q_WS_QWS 1043#ifdef Q_WS_QWS
1044 QDataStream stream( data, IO_ReadOnly ); 1044 QDataStream stream( data, IO_ReadOnly );
1045 if ( msg == "applyStyle()" ) { 1045 if ( msg == "applyStyle()" ) {
1046 applyStyle(); 1046 applyStyle();
1047 } 1047 }
1048 else if ( msg == "toggleApplicationMenu()" ) { 1048 else if ( msg == "toggleApplicationMenu()" ) {
1049 QWidget *active = activeWindow ( ); 1049 QWidget *active = activeWindow ( );
1050 1050
1051 if ( active ) { 1051 if ( active ) {
1052 QPEMenuToolFocusManager *man = QPEMenuToolFocusManager::manager ( ); 1052 QPEMenuToolFocusManager *man = QPEMenuToolFocusManager::manager ( );
1053 bool oldactive = man-> isActive ( ); 1053 bool oldactive = man-> isActive ( );
1054 1054
1055 man-> setActive( !man-> isActive() ); 1055 man-> setActive( !man-> isActive() );
1056 1056
1057 if ( !oldactive && !man-> isActive ( )) { // no menubar to toggle -> try O-Menu 1057 if ( !oldactive && !man-> isActive ( )) { // no menubar to toggle -> try O-Menu
1058 QCopEnvelope e ( "QPE/TaskBar", "toggleStartMenu()" ); 1058 QCopEnvelope e ( "QPE/TaskBar", "toggleStartMenu()" );
1059 } 1059 }
1060 } 1060 }
1061 } 1061 }
1062 else if ( msg == "setDefaultRotation(int)" ) { 1062 else if ( msg == "setDefaultRotation(int)" ) {
1063 if ( type() == GuiServer ) { 1063 if ( type() == GuiServer ) {
1064 int r; 1064 int r;
1065 stream >> r; 1065 stream >> r;
1066 setDefaultRotation( r ); 1066 setDefaultRotation( r );
1067 } 1067 }
1068 } 1068 }
1069 else if ( msg == "setCurrentRotation(int)" ) { 1069 else if ( msg == "setCurrentRotation(int)" ) {
1070 if ( type() == GuiServer ) { 1070 int r;
1071 int r; 1071 stream >> r;
1072 stream >> r; 1072 setCurrentRotation( r );
1073 setCurrentRotation( r );
1074 }
1075 } 1073 }
1076 else if ( msg == "shutdown()" ) { 1074 else if ( msg == "shutdown()" ) {
1077 if ( type() == GuiServer ) 1075 if ( type() == GuiServer )
1078 shutdown(); 1076 shutdown();
1079 } 1077 }
1080 else if ( msg == "quit()" ) { 1078 else if ( msg == "quit()" ) {
1081 if ( type() != GuiServer ) 1079 if ( type() != GuiServer )
1082 tryQuit(); 1080 tryQuit();
1083 } 1081 }
1084 else if ( msg == "forceQuit()" ) { 1082 else if ( msg == "forceQuit()" ) {
1085 if ( type() != GuiServer ) 1083 if ( type() != GuiServer )
1086 quit(); 1084 quit();
1087 } 1085 }
1088 else if ( msg == "restart()" ) { 1086 else if ( msg == "restart()" ) {
1089 if ( type() == GuiServer ) 1087 if ( type() == GuiServer )
1090 restart(); 1088 restart();
1091 } 1089 }
1092 else if ( msg == "language(QString)" ) { 1090 else if ( msg == "language(QString)" ) {
1093 if ( type() == GuiServer ) { 1091 if ( type() == GuiServer ) {
1094 QString l; 1092 QString l;
1095 stream >> l; 1093 stream >> l;
1096 QString cl = getenv( "LANG" ); 1094 QString cl = getenv( "LANG" );
1097 if ( cl != l ) { 1095 if ( cl != l ) {
1098 if ( l.isNull() ) 1096 if ( l.isNull() )
1099 unsetenv( "LANG" ); 1097 unsetenv( "LANG" );
1100 else 1098 else
1101 setenv( "LANG", l.latin1(), 1 ); 1099 setenv( "LANG", l.latin1(), 1 );
1102 restart(); 1100 restart();
1103 } 1101 }
1104 } 1102 }
1105 } 1103 }
1106 else if ( msg == "timeChange(QString)" ) { 1104 else if ( msg == "timeChange(QString)" ) {
1107 QString t; 1105 QString t;
1108 stream >> t; 1106 stream >> t;
1109 if ( t.isNull() ) 1107 if ( t.isNull() )
1110 unsetenv( "TZ" ); 1108 unsetenv( "TZ" );
1111 else 1109 else
1112 setenv( "TZ", t.latin1(), 1 ); 1110 setenv( "TZ", t.latin1(), 1 );
1113 // emit the signal so everyone else knows... 1111 // emit the signal so everyone else knows...
1114 emit timeChanged(); 1112 emit timeChanged();
1115 } 1113 }
1116 else if ( msg == "execute(QString)" ) { 1114 else if ( msg == "execute(QString)" ) {
1117 if ( type() == GuiServer ) { 1115 if ( type() == GuiServer ) {
1118 QString t; 1116 QString t;
1119 stream >> t; 1117 stream >> t;
1120 Global::execute( t ); 1118 Global::execute( t );
1121 } 1119 }
1122 } 1120 }
1123 else if ( msg == "execute(QString,QString)" ) { 1121 else if ( msg == "execute(QString,QString)" ) {
1124 if ( type() == GuiServer ) { 1122 if ( type() == GuiServer ) {
1125 QString t, d; 1123 QString t, d;
1126 stream >> t >> d; 1124 stream >> t >> d;
1127 Global::execute( t, d ); 1125 Global::execute( t, d );
1128 } 1126 }
1129 } 1127 }
1130 else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) { 1128 else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) {
1131 if ( type() == GuiServer ) { 1129 if ( type() == GuiServer ) {
1132 QDateTime when; 1130 QDateTime when;
1133 QCString channel, message; 1131 QCString channel, message;
1134 int data; 1132 int data;
1135 stream >> when >> channel >> message >> data; 1133 stream >> when >> channel >> message >> data;
1136 AlarmServer::addAlarm( when, channel, message, data ); 1134 AlarmServer::addAlarm( when, channel, message, data );
1137 } 1135 }
1138 } 1136 }
1139 else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) { 1137 else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) {
1140 if ( type() == GuiServer ) { 1138 if ( type() == GuiServer ) {
1141 QDateTime when; 1139 QDateTime when;
1142 QCString channel, message; 1140 QCString channel, message;
1143 int data; 1141 int data;
1144 stream >> when >> channel >> message >> data; 1142 stream >> when >> channel >> message >> data;
1145 AlarmServer::deleteAlarm( when, channel, message, data ); 1143 AlarmServer::deleteAlarm( when, channel, message, data );
1146 } 1144 }
1147 } 1145 }
1148 else if ( msg == "clockChange(bool)" ) { 1146 else if ( msg == "clockChange(bool)" ) {
1149 int tmp; 1147 int tmp;
1150 stream >> tmp; 1148 stream >> tmp;
1151 emit clockChanged( tmp ); 1149 emit clockChanged( tmp );
1152 } 1150 }
1153 else if ( msg == "weekChange(bool)" ) { 1151 else if ( msg == "weekChange(bool)" ) {
1154 int tmp; 1152 int tmp;
1155 stream >> tmp; 1153 stream >> tmp;
1156 emit weekChanged( tmp ); 1154 emit weekChanged( tmp );
1157 } 1155 }
1158 else if ( msg == "setDateFormat(DateFormat)" ) { 1156 else if ( msg == "setDateFormat(DateFormat)" ) {
1159 DateFormat tmp; 1157 DateFormat tmp;
1160 stream >> tmp; 1158 stream >> tmp;
1161 emit dateFormatChanged( tmp ); 1159 emit dateFormatChanged( tmp );
1162 } 1160 }
1163 else if ( msg == "setVolume(int,int)" ) { 1161 else if ( msg == "setVolume(int,int)" ) {
1164 int t, v; 1162 int t, v;
1165 stream >> t >> v; 1163 stream >> t >> v;
1166 setVolume( t, v ); 1164 setVolume( t, v );
1167 emit volumeChanged( muted ); 1165 emit volumeChanged( muted );
1168 } 1166 }
1169 else if ( msg == "volumeChange(bool)" ) { 1167 else if ( msg == "volumeChange(bool)" ) {
1170 stream >> muted; 1168 stream >> muted;
1171 setVolume(); 1169 setVolume();
1172 emit volumeChanged( muted ); 1170 emit volumeChanged( muted );
1173 } 1171 }
1174 else if ( msg == "setMic(int,int)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> 1172 else if ( msg == "setMic(int,int)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com>
1175 int t, v; 1173 int t, v;
1176 stream >> t >> v; 1174 stream >> t >> v;
1177 setMic( t, v ); 1175 setMic( t, v );
1178 emit micChanged( micMuted ); 1176 emit micChanged( micMuted );
1179 } 1177 }
1180 else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> 1178 else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com>
1181 stream >> micMuted; 1179 stream >> micMuted;
1182 setMic(); 1180 setMic();
1183 emit micChanged( micMuted ); 1181 emit micChanged( micMuted );
1184 } 1182 }
1185 else if ( msg == "setBass(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> 1183 else if ( msg == "setBass(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org>
1186 int t, v; 1184 int t, v;
1187 stream >> t >> v; 1185 stream >> t >> v;
1188 setBass( t, v ); 1186 setBass( t, v );
1189 } 1187 }
1190 else if ( msg == "bassChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> 1188 else if ( msg == "bassChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org>
1191 setBass(); 1189 setBass();
1192 } 1190 }
1193 else if ( msg == "setTreble(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> 1191 else if ( msg == "setTreble(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org>
1194 int t, v; 1192 int t, v;
1195 stream >> t >> v; 1193 stream >> t >> v;
1196 setTreble( t, v ); 1194 setTreble( t, v );
1197 } 1195 }
1198 else if ( msg == "trebleChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> 1196 else if ( msg == "trebleChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org>
1199 setTreble(); 1197 setTreble();
1200 } 1198 }
1201 1199
1202 1200
1203 1201
1204#endif 1202#endif
1205} 1203}
1206 1204
1207/*! 1205/*!
1208 \internal 1206 \internal
1209*/ 1207*/
1210bool QPEApplication::raiseAppropriateWindow() 1208bool QPEApplication::raiseAppropriateWindow()
1211{ 1209{
1212 bool r = FALSE; 1210 bool r = FALSE;
1213 // ########## raise()ing main window should raise and set active 1211 // ########## raise()ing main window should raise and set active
1214 // ########## it and then all childen. This belongs in Qt/Embedded 1212 // ########## it and then all childen. This belongs in Qt/Embedded
1215 QWidget *top = d->qpe_main_widget; 1213 QWidget *top = d->qpe_main_widget;
1216 if ( !top ) 1214 if ( !top )
1217 top = mainWidget(); 1215 top = mainWidget();
1218 if ( top && d->keep_running ) { 1216 if ( top && d->keep_running ) {
1219 if ( top->isVisible() ) 1217 if ( top->isVisible() )
1220 r = TRUE; 1218 r = TRUE;
1221 else if (d->preloaded) { 1219 else if (d->preloaded) {
1222 // We are preloaded and not visible.. pretend we just started.. 1220 // We are preloaded and not visible.. pretend we just started..
1223 QCopEnvelope e("QPE/System", "fastAppShowing(QString)"); 1221 QCopEnvelope e("QPE/System", "fastAppShowing(QString)");
1224 e << d->appName; 1222 e << d->appName;
1225 } 1223 }
1226 1224
1227 d->show_mx(top, d->nomaximize); 1225 d->show_mx(top, d->nomaximize);
1228 top->raise(); 1226 top->raise();
1229 top->setActiveWindow(); 1227 top->setActiveWindow();
1230 } 1228 }
1231 QWidget *topm = activeModalWidget(); 1229 QWidget *topm = activeModalWidget();
1232 if ( topm && topm != top ) { 1230 if ( topm && topm != top ) {
1233 topm->show(); 1231 topm->show();
1234 topm->raise(); 1232 topm->raise();
1235 topm->setActiveWindow(); 1233 topm->setActiveWindow();
1236 // If we haven't already handled the fastAppShowing message 1234 // If we haven't already handled the fastAppShowing message
1237 if (!top && d->preloaded) { 1235 if (!top && d->preloaded) {
1238 QCopEnvelope e("QPE/System", "fastAppShowing(QString)"); 1236 QCopEnvelope e("QPE/System", "fastAppShowing(QString)");
1239 e << d->appName; 1237 e << d->appName;
1240 } 1238 }
1241 r = FALSE; 1239 r = FALSE;
1242 } 1240 }
1243 return r; 1241 return r;
1244} 1242}
1245 1243
1246void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data) 1244void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data)
1247{ 1245{
1248#ifdef Q_WS_QWS 1246#ifdef Q_WS_QWS
1249 1247
1250 if ( msg == "quit()" ) { 1248 if ( msg == "quit()" ) {
1251 tryQuit(); 1249 tryQuit();
1252 } 1250 }
1253 else if ( msg == "quitIfInvisible()" ) { 1251 else if ( msg == "quitIfInvisible()" ) {
1254 if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() ) 1252 if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() )
1255 quit(); 1253 quit();
1256 } 1254 }
1257 else if ( msg == "close()" ) { 1255 else if ( msg == "close()" ) {
1258 hideOrQuit(); 1256 hideOrQuit();
1259 } 1257 }
1260 else if ( msg == "disablePreload()" ) { 1258 else if ( msg == "disablePreload()" ) {
1261 d->preloaded = FALSE; 1259 d->preloaded = FALSE;
1262 d->keep_running = TRUE; 1260 d->keep_running = TRUE;
1263 /* so that quit will quit */ 1261 /* so that quit will quit */
1264 } 1262 }
1265 else if ( msg == "enablePreload()" ) { 1263 else if ( msg == "enablePreload()" ) {
1266 if (d->qpe_main_widget) 1264 if (d->qpe_main_widget)
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 82954d0..4c37ea6 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -1,197 +1,192 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 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 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 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 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. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#ifndef __QPE_APPLICATION_H__ 20#ifndef __QPE_APPLICATION_H__
21#define __QPE_APPLICATION_H__ 21#define __QPE_APPLICATION_H__
22 22
23 23
24#include <qglobal.h> 24#include <qglobal.h>
25#include <qapplication.h> 25#include <qapplication.h>
26#include <qdialog.h> 26#include <qdialog.h>
27#include <qwsdisplay_qws.h> 27#include <qwsdisplay_qws.h>
28#if defined(_WS_QWS_) && !defined(Q_WS_QWS) 28#if defined(_WS_QWS_) && !defined(Q_WS_QWS)
29#define Q_WS_QWS 29#define Q_WS_QWS
30#endif 30#endif
31#include "qpedecoration_qws.h" 31#include "qpedecoration_qws.h"
32#include "timestring.h" 32#include "timestring.h"
33 33
34#if ( defined Q_WS_QWS || defined( _WS_QWS_ ) ) && !defined( QT_NO_COP ) 34#if ( defined Q_WS_QWS || defined( _WS_QWS_ ) ) && !defined( QT_NO_COP )
35#include <qpe/qcopenvelope_qws.h> 35#include <qpe/qcopenvelope_qws.h>
36#endif 36#endif
37 37
38class QCopChannel; 38class QCopChannel;
39class QPEApplicationData; 39class QPEApplicationData;
40class QWSEvent; 40class QWSEvent;
41class QWSKeyEvent; 41class QWSKeyEvent;
42 42
43 43
44class QPEApplication : public QApplication 44class QPEApplication : public QApplication
45{ 45{
46 Q_OBJECT 46 Q_OBJECT
47public: 47public:
48 QPEApplication( int& argc, char **argv, Type=GuiClient ); 48 QPEApplication( int& argc, char **argv, Type=GuiClient );
49 ~QPEApplication(); 49 ~QPEApplication();
50 50
51 static QString qpeDir(); 51 static QString qpeDir();
52 static QString documentDir(); 52 static QString documentDir();
53 void applyStyle(); 53 void applyStyle();
54 static int defaultRotation(); 54 static int defaultRotation();
55 static void setDefaultRotation(int r); 55 static void setDefaultRotation(int r);
56 static void setCurrentRotation(int r); 56 static void setCurrentRotation(int r);
57 static void grabKeyboard(); 57 static void grabKeyboard();
58 static void ungrabKeyboard(); 58 static void ungrabKeyboard();
59 59
60 enum StylusMode { 60 enum StylusMode {
61 LeftOnly, 61 LeftOnly,
62 RightOnHold 62 RightOnHold
63 // RightOnHoldLeftDelayed, etc. 63 // RightOnHoldLeftDelayed, etc.
64 }; 64 };
65 static void setStylusOperation( QWidget*, StylusMode ); 65 static void setStylusOperation( QWidget*, StylusMode );
66 static StylusMode stylusOperation( QWidget* ); 66 static StylusMode stylusOperation( QWidget* );
67 67
68 enum InputMethodHint { 68 enum InputMethodHint {
69 Normal, 69 Normal,
70 AlwaysOff, 70 AlwaysOff,
71 AlwaysOn 71 AlwaysOn
72 }; 72 };
73 73
74 enum screenSaverHint { 74 enum screenSaverHint {
75 Disable = 0, 75 Disable = 0,
76 DisableLightOff = 1, 76 DisableLightOff = 1,
77 DisableSuspend = 2, 77 DisableSuspend = 2,
78 Enable = 100 78 Enable = 100
79 }; 79 };
80 80
81 static void setInputMethodHint( QWidget *, InputMethodHint ); 81 static void setInputMethodHint( QWidget *, InputMethodHint );
82 static InputMethodHint inputMethodHint( QWidget * ); 82 static InputMethodHint inputMethodHint( QWidget * );
83 83
84 void showMainWidget( QWidget*, bool nomax=FALSE ); 84 void showMainWidget( QWidget*, bool nomax=FALSE );
85 void showMainDocumentWidget( QWidget*, bool nomax=FALSE ); 85 void showMainDocumentWidget( QWidget*, bool nomax=FALSE );
86 static void showDialog( QDialog*, bool nomax=FALSE ); 86 static void showDialog( QDialog*, bool nomax=FALSE );
87 static int execDialog( QDialog*, bool nomax=FALSE ); 87 static int execDialog( QDialog*, bool nomax=FALSE );
88 88
89 static void setKeepRunning(); 89 static void setKeepRunning();
90 bool keepRunning() const; 90 bool keepRunning() const;
91 91
92 bool keyboardGrabbed() const; 92 bool keyboardGrabbed() const;
93 93
94 int exec(); 94 int exec();
95 95
96signals: 96signals:
97 void clientMoused(); 97 void clientMoused();
98 void timeChanged(); 98 void timeChanged();
99 void clockChanged( bool pm ); 99 void clockChanged( bool pm );
100 void micChanged( bool muted ); 100 void micChanged( bool muted );
101 void volumeChanged( bool muted ); 101 void volumeChanged( bool muted );
102 void appMessage( const QCString& msg, const QByteArray& data); 102 void appMessage( const QCString& msg, const QByteArray& data);
103 void weekChanged( bool startOnMonday ); 103 void weekChanged( bool startOnMonday );
104 void dateFormatChanged( DateFormat ); 104 void dateFormatChanged( DateFormat );
105 void flush(); 105 void flush();
106 void reload(); 106 void reload();
107 107
108private slots: 108private slots:
109 void systemMessage( const QCString &msg, const QByteArray &data ); 109 void systemMessage( const QCString &msg, const QByteArray &data );
110 void pidMessage( const QCString &msg, const QByteArray &data ); 110 void pidMessage( const QCString &msg, const QByteArray &data );
111 void removeSenderFromStylusDict(); 111 void removeSenderFromStylusDict();
112 void hideOrQuit(); 112 void hideOrQuit();
113 113
114protected: 114protected:
115 bool qwsEventFilter( QWSEvent * ); 115 bool qwsEventFilter( QWSEvent * );
116 void internalSetStyle( const QString &style ); 116 void internalSetStyle( const QString &style );
117 void prepareForTermination(bool willrestart); 117 void prepareForTermination(bool willrestart);
118 virtual void restart(); 118 virtual void restart();
119 virtual void shutdown(); 119 virtual void shutdown();
120 bool eventFilter( QObject *, QEvent * ); 120 bool eventFilter( QObject *, QEvent * );
121 void timerEvent( QTimerEvent * ); 121 void timerEvent( QTimerEvent * );
122 bool raiseAppropriateWindow(); 122 bool raiseAppropriateWindow();
123 virtual void tryQuit(); 123 virtual void tryQuit();
124 124
125 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!) 125 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!)
126 126
127private: 127private:
128 void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); 128 void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
129 129
130#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 130#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
131 QCopChannel *sysChannel; 131 QCopChannel *sysChannel;
132 QCopChannel *pidChannel; 132 QCopChannel *pidChannel;
133#endif 133#endif
134 QPEApplicationData *d; 134 QPEApplicationData *d;
135 135
136 bool reserved_sh; 136 bool reserved_sh;
137 137
138 138
139 139
140}; 140};
141 141
142inline void QPEApplication::showDialog( QDialog* d, bool nomax ) 142inline void QPEApplication::showDialog( QDialog* d, bool nomax )
143{ 143{
144 QSize sh = d->sizeHint(); 144 QSize sh = d->sizeHint();
145 int w = QMAX(sh.width(),d->width()); 145 int w = QMAX(sh.width(),d->width());
146 int h = QMAX(sh.height(),d->height()); 146 int h = QMAX(sh.height(),d->height());
147 if ( !nomax 147 if ( !nomax
148 && ( w > qApp->desktop()->width()*3/4 148 && ( w > qApp->desktop()->width()*3/4
149 || h > qApp->desktop()->height()*3/4 ) ) 149 || h > qApp->desktop()->height()*3/4 ) )
150 { 150 {
151 d->showMaximized(); 151 d->showMaximized();
152 } else { 152 } else {
153 d->resize(w,h); 153 d->resize(w,h);
154 d->show(); 154 d->show();
155 } 155 }
156} 156}
157 157
158inline int QPEApplication::execDialog( QDialog* d, bool nomax ) 158inline int QPEApplication::execDialog( QDialog* d, bool nomax )
159{ 159{
160 showDialog(d,nomax); 160 showDialog(d,nomax);
161 return d->exec(); 161 return d->exec();
162} 162}
163 163
164enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ 164enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */
165 165
166inline void QPEApplication::setCurrentRotation( int r ) 166inline void QPEApplication::setCurrentRotation( int r )
167{ 167{
168 if ( qApp->type() != GuiServer ) {
169 QCopEnvelope e( "QPE/System", "setCurrentRotation(int)" );
170 e << r;
171 return;
172 }
173 Transformation e; 168 Transformation e;
174 169
175 switch (r) { 170 switch (r) {
176 case 0: 171 case 0:
177 e = Rot0; 172 e = Rot0;
178 break; 173 break;
179 case 90: 174 case 90:
180 e = Rot90; 175 e = Rot90;
181 break; 176 break;
182 case 180: 177 case 180:
183 e = Rot180; 178 e = Rot180;
184 break; 179 break;
185 case 270: 180 case 270:
186 e = Rot270; 181 e = Rot270;
187 break; 182 break;
188 default: 183 default:
189 return; 184 return;
190 } 185 }
191 186
192 qDebug("calling qApp->desktop()->qwsDisplay()->setTransformation( %d )\n", e); 187 qDebug("calling qApp->desktop()->qwsDisplay()->setTransformation( %d )\n", e);
193 qApp->desktop()->qwsDisplay()->setTransformation( e ); 188 qApp->desktop()->qwsDisplay()->setTransformation( e );
194} 189}
195 190
196 191
197#endif 192#endif