summaryrefslogtreecommitdiff
authorsimon <simon>2003-03-26 09:38:07 (UTC)
committer simon <simon>2003-03-26 09:38:07 (UTC)
commitb7a2238dad7f8f44c3354168d8e2685705616c78 (patch) (unidiff)
tree709e51929ffb25afbe498deb2e9ee1e3d4ccbe44
parent174bf901c2a59bbf1980ea3e770bfb33c50f1c08 (diff)
downloadopie-b7a2238dad7f8f44c3354168d8e2685705616c78.zip
opie-b7a2238dad7f8f44c3354168d8e2685705616c78.tar.gz
opie-b7a2238dad7f8f44c3354168d8e2685705616c78.tar.bz2
- in the systemMessage handler for setCurrentRotation, call
setCurrentRotation only if we're the display server
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index 7463074..f5bf0c5 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -814,515 +814,517 @@ bool QPEApplication::qwsEventFilter( QWSEvent * e )
814 if ( active && ((int) active-> winId ( ) == ke-> simpleData.window )) { 814 if ( active && ((int) active-> winId ( ) == ke-> simpleData.window )) {
815 if ( d-> kbgrabbed ) { // we grabbed the keyboard 815 if ( d-> kbgrabbed ) { // we grabbed the keyboard
816 QChar ch ( ke-> simpleData.unicode ); 816 QChar ch ( ke-> simpleData.unicode );
817 QKeyEvent qke ( ke-> simpleData. is_press ? QEvent::KeyPress : QEvent::KeyRelease, 817 QKeyEvent qke ( ke-> simpleData. is_press ? QEvent::KeyPress : QEvent::KeyRelease,
818 ke-> simpleData.keycode, 818 ke-> simpleData.keycode,
819 ch. latin1 ( ), 819 ch. latin1 ( ),
820 ke-> simpleData.modifiers, 820 ke-> simpleData.modifiers,
821 QString ( ch ), 821 QString ( ch ),
822 ke-> simpleData.is_auto_repeat, 1 ); 822 ke-> simpleData.is_auto_repeat, 1 );
823 823
824 QObject *which = QWidget::keyboardGrabber ( ); 824 QObject *which = QWidget::keyboardGrabber ( );
825 if ( !which ) 825 if ( !which )
826 which = QApplication::focusWidget ( ); 826 which = QApplication::focusWidget ( );
827 if ( !which ) 827 if ( !which )
828 which = QApplication::activeWindow ( ); 828 which = QApplication::activeWindow ( );
829 if ( !which ) 829 if ( !which )
830 which = qApp; 830 which = qApp;
831 831
832 QApplication::sendEvent ( which, &qke ); 832 QApplication::sendEvent ( which, &qke );
833 } 833 }
834 else { // we didn't grab the keyboard, so send the event to the launcher 834 else { // we didn't grab the keyboard, so send the event to the launcher
835 QCopEnvelope e ( "QPE/Launcher", "deviceButton(int,int,int)" ); 835 QCopEnvelope e ( "QPE/Launcher", "deviceButton(int,int,int)" );
836 e << int( ke-> simpleData.keycode ) << int( ke-> simpleData. is_press ) << int( ke-> simpleData.is_auto_repeat ); 836 e << int( ke-> simpleData.keycode ) << int( ke-> simpleData. is_press ) << int( ke-> simpleData.is_auto_repeat );
837 } 837 }
838 } 838 }
839 return true; 839 return true;
840 } 840 }
841 } 841 }
842 if ( e->type == QWSEvent::Focus ) { 842 if ( e->type == QWSEvent::Focus ) {
843 QWSFocusEvent * fe = ( QWSFocusEvent* ) e; 843 QWSFocusEvent * fe = ( QWSFocusEvent* ) e;
844 if ( !fe->simpleData.get_focus ) { 844 if ( !fe->simpleData.get_focus ) {
845 QWidget * active = activeWindow(); 845 QWidget * active = activeWindow();
846 while ( active && active->isPopup() ) { 846 while ( active && active->isPopup() ) {
847 active->close(); 847 active->close();
848 active = activeWindow(); 848 active = activeWindow();
849 } 849 }
850 } 850 }
851 else { 851 else {
852 // make sure our modal widget is ALWAYS on top 852 // make sure our modal widget is ALWAYS on top
853 QWidget *topm = activeModalWidget(); 853 QWidget *topm = activeModalWidget();
854 if ( topm ) { 854 if ( topm ) {
855 topm->raise(); 855 topm->raise();
856 } 856 }
857 } 857 }
858 if ( fe->simpleData.get_focus && inputMethodDict ) { 858 if ( fe->simpleData.get_focus && inputMethodDict ) {
859 InputMethodHint m = inputMethodHint( QWidget::find( e->window() ) ); 859 InputMethodHint m = inputMethodHint( QWidget::find( e->window() ) );
860 if ( m == AlwaysOff ) 860 if ( m == AlwaysOff )
861 Global::hideInputMethod(); 861 Global::hideInputMethod();
862 if ( m == AlwaysOn ) 862 if ( m == AlwaysOn )
863 Global::showInputMethod(); 863 Global::showInputMethod();
864 } 864 }
865 } 865 }
866 return QApplication::qwsEventFilter( e ); 866 return QApplication::qwsEventFilter( e );
867} 867}
868#endif 868#endif
869 869
870/*! 870/*!
871 Destroys the QPEApplication. 871 Destroys the QPEApplication.
872*/ 872*/
873QPEApplication::~QPEApplication() 873QPEApplication::~QPEApplication()
874{ 874{
875 ungrabKeyboard(); 875 ungrabKeyboard();
876#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 876#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
877 // Need to delete QCopChannels early, since the display will 877 // Need to delete QCopChannels early, since the display will
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 int r; 1070 if ( type() == GuiServer ) {
1071 stream >> r; 1071 int r;
1072 setCurrentRotation( r ); 1072 stream >> r;
1073 setCurrentRotation( r );
1074 }
1073 } 1075 }
1074 else if ( msg == "shutdown()" ) { 1076 else if ( msg == "shutdown()" ) {
1075 if ( type() == GuiServer ) 1077 if ( type() == GuiServer )
1076 shutdown(); 1078 shutdown();
1077 } 1079 }
1078 else if ( msg == "quit()" ) { 1080 else if ( msg == "quit()" ) {
1079 if ( type() != GuiServer ) 1081 if ( type() != GuiServer )
1080 tryQuit(); 1082 tryQuit();
1081 } 1083 }
1082 else if ( msg == "forceQuit()" ) { 1084 else if ( msg == "forceQuit()" ) {
1083 if ( type() != GuiServer ) 1085 if ( type() != GuiServer )
1084 quit(); 1086 quit();
1085 } 1087 }
1086 else if ( msg == "restart()" ) { 1088 else if ( msg == "restart()" ) {
1087 if ( type() == GuiServer ) 1089 if ( type() == GuiServer )
1088 restart(); 1090 restart();
1089 } 1091 }
1090 else if ( msg == "language(QString)" ) { 1092 else if ( msg == "language(QString)" ) {
1091 if ( type() == GuiServer ) { 1093 if ( type() == GuiServer ) {
1092 QString l; 1094 QString l;
1093 stream >> l; 1095 stream >> l;
1094 QString cl = getenv( "LANG" ); 1096 QString cl = getenv( "LANG" );
1095 if ( cl != l ) { 1097 if ( cl != l ) {
1096 if ( l.isNull() ) 1098 if ( l.isNull() )
1097 unsetenv( "LANG" ); 1099 unsetenv( "LANG" );
1098 else 1100 else
1099 setenv( "LANG", l.latin1(), 1 ); 1101 setenv( "LANG", l.latin1(), 1 );
1100 restart(); 1102 restart();
1101 } 1103 }
1102 } 1104 }
1103 } 1105 }
1104 else if ( msg == "timeChange(QString)" ) { 1106 else if ( msg == "timeChange(QString)" ) {
1105 QString t; 1107 QString t;
1106 stream >> t; 1108 stream >> t;
1107 if ( t.isNull() ) 1109 if ( t.isNull() )
1108 unsetenv( "TZ" ); 1110 unsetenv( "TZ" );
1109 else 1111 else
1110 setenv( "TZ", t.latin1(), 1 ); 1112 setenv( "TZ", t.latin1(), 1 );
1111 // emit the signal so everyone else knows... 1113 // emit the signal so everyone else knows...
1112 emit timeChanged(); 1114 emit timeChanged();
1113 } 1115 }
1114 else if ( msg == "execute(QString)" ) { 1116 else if ( msg == "execute(QString)" ) {
1115 if ( type() == GuiServer ) { 1117 if ( type() == GuiServer ) {
1116 QString t; 1118 QString t;
1117 stream >> t; 1119 stream >> t;
1118 Global::execute( t ); 1120 Global::execute( t );
1119 } 1121 }
1120 } 1122 }
1121 else if ( msg == "execute(QString,QString)" ) { 1123 else if ( msg == "execute(QString,QString)" ) {
1122 if ( type() == GuiServer ) { 1124 if ( type() == GuiServer ) {
1123 QString t, d; 1125 QString t, d;
1124 stream >> t >> d; 1126 stream >> t >> d;
1125 Global::execute( t, d ); 1127 Global::execute( t, d );
1126 } 1128 }
1127 } 1129 }
1128 else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) { 1130 else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) {
1129 if ( type() == GuiServer ) { 1131 if ( type() == GuiServer ) {
1130 QDateTime when; 1132 QDateTime when;
1131 QCString channel, message; 1133 QCString channel, message;
1132 int data; 1134 int data;
1133 stream >> when >> channel >> message >> data; 1135 stream >> when >> channel >> message >> data;
1134 AlarmServer::addAlarm( when, channel, message, data ); 1136 AlarmServer::addAlarm( when, channel, message, data );
1135 } 1137 }
1136 } 1138 }
1137 else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) { 1139 else if ( msg == "deleteAlarm(QDateTime,QCString,QCString,int)" ) {
1138 if ( type() == GuiServer ) { 1140 if ( type() == GuiServer ) {
1139 QDateTime when; 1141 QDateTime when;
1140 QCString channel, message; 1142 QCString channel, message;
1141 int data; 1143 int data;
1142 stream >> when >> channel >> message >> data; 1144 stream >> when >> channel >> message >> data;
1143 AlarmServer::deleteAlarm( when, channel, message, data ); 1145 AlarmServer::deleteAlarm( when, channel, message, data );
1144 } 1146 }
1145 } 1147 }
1146 else if ( msg == "clockChange(bool)" ) { 1148 else if ( msg == "clockChange(bool)" ) {
1147 int tmp; 1149 int tmp;
1148 stream >> tmp; 1150 stream >> tmp;
1149 emit clockChanged( tmp ); 1151 emit clockChanged( tmp );
1150 } 1152 }
1151 else if ( msg == "weekChange(bool)" ) { 1153 else if ( msg == "weekChange(bool)" ) {
1152 int tmp; 1154 int tmp;
1153 stream >> tmp; 1155 stream >> tmp;
1154 emit weekChanged( tmp ); 1156 emit weekChanged( tmp );
1155 } 1157 }
1156 else if ( msg == "setDateFormat(DateFormat)" ) { 1158 else if ( msg == "setDateFormat(DateFormat)" ) {
1157 DateFormat tmp; 1159 DateFormat tmp;
1158 stream >> tmp; 1160 stream >> tmp;
1159 emit dateFormatChanged( tmp ); 1161 emit dateFormatChanged( tmp );
1160 } 1162 }
1161 else if ( msg == "setVolume(int,int)" ) { 1163 else if ( msg == "setVolume(int,int)" ) {
1162 int t, v; 1164 int t, v;
1163 stream >> t >> v; 1165 stream >> t >> v;
1164 setVolume( t, v ); 1166 setVolume( t, v );
1165 emit volumeChanged( muted ); 1167 emit volumeChanged( muted );
1166 } 1168 }
1167 else if ( msg == "volumeChange(bool)" ) { 1169 else if ( msg == "volumeChange(bool)" ) {
1168 stream >> muted; 1170 stream >> muted;
1169 setVolume(); 1171 setVolume();
1170 emit volumeChanged( muted ); 1172 emit volumeChanged( muted );
1171 } 1173 }
1172 else if ( msg == "setMic(int,int)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> 1174 else if ( msg == "setMic(int,int)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com>
1173 int t, v; 1175 int t, v;
1174 stream >> t >> v; 1176 stream >> t >> v;
1175 setMic( t, v ); 1177 setMic( t, v );
1176 emit micChanged( micMuted ); 1178 emit micChanged( micMuted );
1177 } 1179 }
1178 else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com> 1180 else if ( msg == "micChange(bool)" ) { // Added: 2002-02-08 by Jeremy Cowgar <jc@cowgar.com>
1179 stream >> micMuted; 1181 stream >> micMuted;
1180 setMic(); 1182 setMic();
1181 emit micChanged( micMuted ); 1183 emit micChanged( micMuted );
1182 } 1184 }
1183 else if ( msg == "setBass(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> 1185 else if ( msg == "setBass(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org>
1184 int t, v; 1186 int t, v;
1185 stream >> t >> v; 1187 stream >> t >> v;
1186 setBass( t, v ); 1188 setBass( t, v );
1187 } 1189 }
1188 else if ( msg == "bassChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> 1190 else if ( msg == "bassChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org>
1189 setBass(); 1191 setBass();
1190 } 1192 }
1191 else if ( msg == "setTreble(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> 1193 else if ( msg == "setTreble(int,int)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org>
1192 int t, v; 1194 int t, v;
1193 stream >> t >> v; 1195 stream >> t >> v;
1194 setTreble( t, v ); 1196 setTreble( t, v );
1195 } 1197 }
1196 else if ( msg == "trebleChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org> 1198 else if ( msg == "trebleChange(bool)" ) { // Added: 2002-12-13 by Maximilian Reiss <harlekin@handhelds.org>
1197 setTreble(); 1199 setTreble();
1198 } 1200 }
1199 1201
1200 1202
1201 1203
1202#endif 1204#endif
1203} 1205}
1204 1206
1205/*! 1207/*!
1206 \internal 1208 \internal
1207*/ 1209*/
1208bool QPEApplication::raiseAppropriateWindow() 1210bool QPEApplication::raiseAppropriateWindow()
1209{ 1211{
1210 bool r = FALSE; 1212 bool r = FALSE;
1211 // ########## raise()ing main window should raise and set active 1213 // ########## raise()ing main window should raise and set active
1212 // ########## it and then all childen. This belongs in Qt/Embedded 1214 // ########## it and then all childen. This belongs in Qt/Embedded
1213 QWidget *top = d->qpe_main_widget; 1215 QWidget *top = d->qpe_main_widget;
1214 if ( !top ) 1216 if ( !top )
1215 top = mainWidget(); 1217 top = mainWidget();
1216 if ( top && d->keep_running ) { 1218 if ( top && d->keep_running ) {
1217 if ( top->isVisible() ) 1219 if ( top->isVisible() )
1218 r = TRUE; 1220 r = TRUE;
1219 else if (d->preloaded) { 1221 else if (d->preloaded) {
1220 // We are preloaded and not visible.. pretend we just started.. 1222 // We are preloaded and not visible.. pretend we just started..
1221 QCopEnvelope e("QPE/System", "fastAppShowing(QString)"); 1223 QCopEnvelope e("QPE/System", "fastAppShowing(QString)");
1222 e << d->appName; 1224 e << d->appName;
1223 } 1225 }
1224 1226
1225 d->show_mx(top, d->nomaximize); 1227 d->show_mx(top, d->nomaximize);
1226 top->raise(); 1228 top->raise();
1227 top->setActiveWindow(); 1229 top->setActiveWindow();
1228 } 1230 }
1229 QWidget *topm = activeModalWidget(); 1231 QWidget *topm = activeModalWidget();
1230 if ( topm && topm != top ) { 1232 if ( topm && topm != top ) {
1231 topm->show(); 1233 topm->show();
1232 topm->raise(); 1234 topm->raise();
1233 topm->setActiveWindow(); 1235 topm->setActiveWindow();
1234 // If we haven't already handled the fastAppShowing message 1236 // If we haven't already handled the fastAppShowing message
1235 if (!top && d->preloaded) { 1237 if (!top && d->preloaded) {
1236 QCopEnvelope e("QPE/System", "fastAppShowing(QString)"); 1238 QCopEnvelope e("QPE/System", "fastAppShowing(QString)");
1237 e << d->appName; 1239 e << d->appName;
1238 } 1240 }
1239 r = FALSE; 1241 r = FALSE;
1240 } 1242 }
1241 return r; 1243 return r;
1242} 1244}
1243 1245
1244void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data) 1246void QPEApplication::pidMessage( const QCString& msg, const QByteArray& data)
1245{ 1247{
1246#ifdef Q_WS_QWS 1248#ifdef Q_WS_QWS
1247 1249
1248 if ( msg == "quit()" ) { 1250 if ( msg == "quit()" ) {
1249 tryQuit(); 1251 tryQuit();
1250 } 1252 }
1251 else if ( msg == "quitIfInvisible()" ) { 1253 else if ( msg == "quitIfInvisible()" ) {
1252 if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() ) 1254 if ( d->qpe_main_widget && !d->qpe_main_widget->isVisible() )
1253 quit(); 1255 quit();
1254 } 1256 }
1255 else if ( msg == "close()" ) { 1257 else if ( msg == "close()" ) {
1256 hideOrQuit(); 1258 hideOrQuit();
1257 } 1259 }
1258 else if ( msg == "disablePreload()" ) { 1260 else if ( msg == "disablePreload()" ) {
1259 d->preloaded = FALSE; 1261 d->preloaded = FALSE;
1260 d->keep_running = TRUE; 1262 d->keep_running = TRUE;
1261 /* so that quit will quit */ 1263 /* so that quit will quit */
1262 } 1264 }
1263 else if ( msg == "enablePreload()" ) { 1265 else if ( msg == "enablePreload()" ) {
1264 if (d->qpe_main_widget) 1266 if (d->qpe_main_widget)
1265 d->preloaded = TRUE; 1267 d->preloaded = TRUE;
1266 d->keep_running = TRUE; 1268 d->keep_running = TRUE;
1267 /* so next quit won't quit */ 1269 /* so next quit won't quit */
1268 } 1270 }
1269 else if ( msg == "raise()" ) { 1271 else if ( msg == "raise()" ) {
1270 d->keep_running = TRUE; 1272 d->keep_running = TRUE;
1271 d->notbusysent = FALSE; 1273 d->notbusysent = FALSE;
1272 raiseAppropriateWindow(); 1274 raiseAppropriateWindow();
1273 // Tell the system we're still chugging along... 1275 // Tell the system we're still chugging along...
1274 QCopEnvelope e("QPE/System", "appRaised(QString)"); 1276 QCopEnvelope e("QPE/System", "appRaised(QString)");
1275 e << d->appName; 1277 e << d->appName;
1276 } 1278 }
1277 else if ( msg == "flush()" ) { 1279 else if ( msg == "flush()" ) {
1278 emit flush(); 1280 emit flush();
1279 // we need to tell the desktop 1281 // we need to tell the desktop
1280 QCopEnvelope e( "QPE/Desktop", "flushDone(QString)" ); 1282 QCopEnvelope e( "QPE/Desktop", "flushDone(QString)" );
1281 e << d->appName; 1283 e << d->appName;
1282 } 1284 }
1283 else if ( msg == "reload()" ) { 1285 else if ( msg == "reload()" ) {
1284 emit reload(); 1286 emit reload();
1285 } 1287 }
1286 else if ( msg == "setDocument(QString)" ) { 1288 else if ( msg == "setDocument(QString)" ) {
1287 d->keep_running = TRUE; 1289 d->keep_running = TRUE;
1288 QDataStream stream( data, IO_ReadOnly ); 1290 QDataStream stream( data, IO_ReadOnly );
1289 QString doc; 1291 QString doc;
1290 stream >> doc; 1292 stream >> doc;
1291 QWidget *mw = mainWidget(); 1293 QWidget *mw = mainWidget();
1292 if ( !mw ) 1294 if ( !mw )
1293 mw = d->qpe_main_widget; 1295 mw = d->qpe_main_widget;
1294 if ( mw ) 1296 if ( mw )
1295 Global::setDocument( mw, doc ); 1297 Global::setDocument( mw, doc );
1296 } 1298 }
1297 else if ( msg == "nextView()" ) { 1299 else if ( msg == "nextView()" ) {
1298 qDebug("got nextView()"); 1300 qDebug("got nextView()");
1299 /* 1301 /*
1300 if ( raiseAppropriateWindow() ) 1302 if ( raiseAppropriateWindow() )
1301 */ 1303 */
1302 emit appMessage( msg, data); 1304 emit appMessage( msg, data);
1303 } 1305 }
1304 else { 1306 else {
1305 emit appMessage( msg, data); 1307 emit appMessage( msg, data);
1306 } 1308 }
1307 1309
1308#endif 1310#endif
1309} 1311}
1310 1312
1311 1313
1312/*! 1314/*!
1313 Sets widget \a mw as the mainWidget() and shows it. For small windows, 1315 Sets widget \a mw as the mainWidget() and shows it. For small windows,
1314 consider passing TRUE for \a nomaximize rather than the default FALSE. 1316 consider passing TRUE for \a nomaximize rather than the default FALSE.
1315 1317
1316 \sa showMainDocumentWidget() 1318 \sa showMainDocumentWidget()
1317*/ 1319*/
1318void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize ) 1320void QPEApplication::showMainWidget( QWidget* mw, bool nomaximize )
1319{ 1321{
1320 d->show(mw, nomaximize ); 1322 d->show(mw, nomaximize );
1321} 1323}
1322 1324
1323/*! 1325/*!
1324 Sets widget \a mw as the mainWidget() and shows it. For small windows, 1326 Sets widget \a mw as the mainWidget() and shows it. For small windows,
1325 consider passing TRUE for \a nomaximize rather than the default FALSE. 1327 consider passing TRUE for \a nomaximize rather than the default FALSE.
1326 1328
1327 This calls designates the application as 1329 This calls designates the application as
1328 a \link docwidget.html document-oriented\endlink application. 1330 a \link docwidget.html document-oriented\endlink application.