summaryrefslogtreecommitdiff
path: root/library/qpeapplication.cpp
Unidiff
Diffstat (limited to 'library/qpeapplication.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index 3b6a987..59ca61b 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -1095,390 +1095,394 @@ bool QPEApplication::qwsEventFilter( QWSEvent * e )
1095 if ( active->inherits( "QDialog" ) ) { 1095 if ( active->inherits( "QDialog" ) ) {
1096 HackDialog * d = ( HackDialog * ) active; 1096 HackDialog * d = ( HackDialog * ) active;
1097 d->acceptIt(); 1097 d->acceptIt();
1098 return TRUE; 1098 return TRUE;
1099 } 1099 }
1100 else if ( ( ( HackWidget * ) active ) ->needsOk() ) { 1100 else if ( ( ( HackWidget * ) active ) ->needsOk() ) {
1101 QSignal s; 1101 QSignal s;
1102 s.connect( active, SLOT( accept() ) ); 1102 s.connect( active, SLOT( accept() ) );
1103 s.activate(); 1103 s.activate();
1104 } 1104 }
1105 else { 1105 else {
1106 // do the same as with the select key: Map to the default action of the widget: 1106 // do the same as with the select key: Map to the default action of the widget:
1107 mapToDefaultAction( ke, Qt::Key_Return ); 1107 mapToDefaultAction( ke, Qt::Key_Return );
1108 } 1108 }
1109 } 1109 }
1110 } 1110 }
1111 } 1111 }
1112 else if ( ke->simpleData.keycode == Qt::Key_F30 ) { 1112 else if ( ke->simpleData.keycode == Qt::Key_F30 ) {
1113 // Use special "select" key to do whatever default action a widget has 1113 // Use special "select" key to do whatever default action a widget has
1114 mapToDefaultAction( ke, Qt::Key_Space ); 1114 mapToDefaultAction( ke, Qt::Key_Space );
1115 } 1115 }
1116 else if ( ke->simpleData.keycode == Qt::Key_Escape && 1116 else if ( ke->simpleData.keycode == Qt::Key_Escape &&
1117 ke->simpleData.is_press ) { 1117 ke->simpleData.is_press ) {
1118 // Escape key closes app if focus on toplevel 1118 // Escape key closes app if focus on toplevel
1119 QWidget * active = activeWindow(); 1119 QWidget * active = activeWindow();
1120 if ( active && active->testWFlags( WType_TopLevel ) && 1120 if ( active && active->testWFlags( WType_TopLevel ) &&
1121 ( int ) active->winId() == ke->simpleData.window && 1121 ( int ) active->winId() == ke->simpleData.window &&
1122 !active->testWFlags( WStyle_Dialog | WStyle_Customize | WType_Popup | WType_Desktop ) ) { 1122 !active->testWFlags( WStyle_Dialog | WStyle_Customize | WType_Popup | WType_Desktop ) ) {
1123 if ( active->inherits( "QDialog" ) ) { 1123 if ( active->inherits( "QDialog" ) ) {
1124 HackDialog * d = ( HackDialog * ) active; 1124 HackDialog * d = ( HackDialog * ) active;
1125 d->rejectIt(); 1125 d->rejectIt();
1126 return TRUE; 1126 return TRUE;
1127 } else /*if ( strcmp( argv() [ 0 ], "embeddedkonsole" ) != 0 )*/ { 1127 } else /*if ( strcmp( argv() [ 0 ], "embeddedkonsole" ) != 0 )*/ {
1128 active->close(); 1128 active->close();
1129 } 1129 }
1130 } 1130 }
1131 1131
1132 } 1132 }
1133 else if ( ke->simpleData.keycode >= Qt::Key_F1 && ke->simpleData.keycode <= Qt::Key_F29 ) { 1133 else if ( ke->simpleData.keycode >= Qt::Key_F1 && ke->simpleData.keycode <= Qt::Key_F29 ) {
1134 // this should be if ( ODevice::inst ( )-> buttonForKeycode ( ... )) 1134 // this should be if ( ODevice::inst ( )-> buttonForKeycode ( ... ))
1135 // but we cannot access libopie function within libqpe :( 1135 // but we cannot access libopie function within libqpe :(
1136 1136
1137 QWidget * active = activeWindow ( ); 1137 QWidget * active = activeWindow ( );
1138 if ( active && ((int) active-> winId ( ) == ke-> simpleData.window )) { 1138 if ( active && ((int) active-> winId ( ) == ke-> simpleData.window )) {
1139 if ( d-> kbgrabbed ) { // we grabbed the keyboard 1139 if ( d-> kbgrabbed ) { // we grabbed the keyboard
1140 QChar ch ( ke-> simpleData.unicode ); 1140 QChar ch ( ke-> simpleData.unicode );
1141 QKeyEvent qke ( ke-> simpleData. is_press ? QEvent::KeyPress : QEvent::KeyRelease, 1141 QKeyEvent qke ( ke-> simpleData. is_press ? QEvent::KeyPress : QEvent::KeyRelease,
1142 ke-> simpleData.keycode, 1142 ke-> simpleData.keycode,
1143 ch. latin1 ( ), 1143 ch. latin1 ( ),
1144 ke-> simpleData.modifiers, 1144 ke-> simpleData.modifiers,
1145 QString ( ch ), 1145 QString ( ch ),
1146 ke-> simpleData.is_auto_repeat, 1 ); 1146 ke-> simpleData.is_auto_repeat, 1 );
1147 1147
1148 QObject *which = QWidget::keyboardGrabber ( ); 1148 QObject *which = QWidget::keyboardGrabber ( );
1149 if ( !which ) 1149 if ( !which )
1150 which = QApplication::focusWidget ( ); 1150 which = QApplication::focusWidget ( );
1151 if ( !which ) 1151 if ( !which )
1152 which = QApplication::activeWindow ( ); 1152 which = QApplication::activeWindow ( );
1153 if ( !which ) 1153 if ( !which )
1154 which = qApp; 1154 which = qApp;
1155 1155
1156 QApplication::sendEvent ( which, &qke ); 1156 QApplication::sendEvent ( which, &qke );
1157 } 1157 }
1158 else { // we didn't grab the keyboard, so send the event to the launcher 1158 else { // we didn't grab the keyboard, so send the event to the launcher
1159 QCopEnvelope e ( "QPE/Launcher", "deviceButton(int,int,int)" ); 1159 QCopEnvelope e ( "QPE/Launcher", "deviceButton(int,int,int)" );
1160 e << int( ke-> simpleData.keycode ) << int( ke-> simpleData. is_press ) << int( ke-> simpleData.is_auto_repeat ); 1160 e << int( ke-> simpleData.keycode ) << int( ke-> simpleData. is_press ) << int( ke-> simpleData.is_auto_repeat );
1161 } 1161 }
1162 } 1162 }
1163 return true; 1163 return true;
1164 } 1164 }
1165 } 1165 }
1166 if ( e->type == QWSEvent::Focus ) { 1166 if ( e->type == QWSEvent::Focus ) {
1167 QWSFocusEvent * fe = ( QWSFocusEvent* ) e; 1167 QWSFocusEvent * fe = ( QWSFocusEvent* ) e;
1168 if ( !fe->simpleData.get_focus ) { 1168 if ( !fe->simpleData.get_focus ) {
1169 QWidget * active = activeWindow(); 1169 QWidget * active = activeWindow();
1170 while ( active && active->isPopup() ) { 1170 while ( active && active->isPopup() ) {
1171 active->close(); 1171 active->close();
1172 active = activeWindow(); 1172 active = activeWindow();
1173 } 1173 }
1174 } 1174 }
1175 else { 1175 else {
1176 // make sure our modal widget is ALWAYS on top 1176 // make sure our modal widget is ALWAYS on top
1177 QWidget *topm = activeModalWidget(); 1177 QWidget *topm = activeModalWidget();
1178 if ( topm && static_cast<int>( topm->winId() ) != fe->simpleData.window) { 1178 if ( topm && static_cast<int>( topm->winId() ) != fe->simpleData.window) {
1179 topm->raise(); 1179 topm->raise();
1180 } 1180 }
1181 } 1181 }
1182 if ( fe->simpleData.get_focus && inputMethodDict ) { 1182 if ( fe->simpleData.get_focus && inputMethodDict ) {
1183 InputMethodHint m = inputMethodHint( QWidget::find( e->window() ) ); 1183 InputMethodHint m = inputMethodHint( QWidget::find( e->window() ) );
1184 if ( m == AlwaysOff ) 1184 if ( m == AlwaysOff )
1185 Global::hideInputMethod(); 1185 Global::hideInputMethod();
1186 if ( m == AlwaysOn ) 1186 if ( m == AlwaysOn )
1187 Global::showInputMethod(); 1187 Global::showInputMethod();
1188 } 1188 }
1189 } 1189 }
1190 1190
1191 1191
1192 return QApplication::qwsEventFilter( e ); 1192 return QApplication::qwsEventFilter( e );
1193} 1193}
1194#endif 1194#endif
1195 1195
1196/*! 1196/*!
1197 Destroys the QPEApplication. 1197 Destroys the QPEApplication.
1198*/ 1198*/
1199QPEApplication::~QPEApplication() 1199QPEApplication::~QPEApplication()
1200{ 1200{
1201 ungrabKeyboard(); 1201 ungrabKeyboard();
1202#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 1202#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
1203 // Need to delete QCopChannels early, since the display will 1203 // Need to delete QCopChannels early, since the display will
1204 // be gone by the time we get to ~QObject(). 1204 // be gone by the time we get to ~QObject().
1205 delete sysChannel; 1205 delete sysChannel;
1206 delete pidChannel; 1206 delete pidChannel;
1207#endif 1207#endif
1208 1208
1209 delete d; 1209 delete d;
1210} 1210}
1211 1211
1212/*! 1212/*!
1213 Returns <tt>$OPIEDIR/</tt>. 1213 Returns <tt>$OPIEDIR/</tt>.
1214*/ 1214*/
1215QString QPEApplication::qpeDir() 1215QString QPEApplication::qpeDir()
1216{ 1216{
1217 const char * base = getenv( "OPIEDIR" ); 1217 const char * base = getenv( "OPIEDIR" );
1218 if ( base ) 1218 if ( base )
1219 return QString( base ) + "/"; 1219 return QString( base ) + "/";
1220 1220
1221 return QString( "../" ); 1221 return QString( "../" );
1222} 1222}
1223 1223
1224/*! 1224/*!
1225 Returns the user's current Document directory. There is a trailing "/". 1225 Returns the user's current Document directory. There is a trailing "/".
1226 .. well, it does now,, and there's no trailing '/' 1226 .. well, it does now,, and there's no trailing '/'
1227*/ 1227*/
1228QString QPEApplication::documentDir() 1228QString QPEApplication::documentDir()
1229{ 1229{
1230 const char* base = getenv( "HOME"); 1230 const char* base = getenv( "HOME");
1231 if ( base ) 1231 if ( base )
1232 return QString( base ) + "/Documents"; 1232 return QString( base ) + "/Documents";
1233 1233
1234 return QString( "../Documents" ); 1234 return QString( "../Documents" );
1235} 1235}
1236 1236
1237static int deforient = -1; 1237static int deforient = -1;
1238 1238
1239/*! 1239/*!
1240 \internal 1240 \internal
1241*/ 1241*/
1242int QPEApplication::defaultRotation() 1242int QPEApplication::defaultRotation()
1243{ 1243{
1244 if ( deforient < 0 ) { 1244 if ( deforient < 0 ) {
1245 QString d = getenv( "QWS_DISPLAY" ); 1245 QString d = getenv( "QWS_DISPLAY" );
1246 if ( d.contains( "Rot90" ) ) { 1246 if ( d.contains( "Rot90" ) ) {
1247 deforient = 90; 1247 deforient = 90;
1248 } 1248 }
1249 else if ( d.contains( "Rot180" ) ) { 1249 else if ( d.contains( "Rot180" ) ) {
1250 deforient = 180; 1250 deforient = 180;
1251 } 1251 }
1252 else if ( d.contains( "Rot270" ) ) { 1252 else if ( d.contains( "Rot270" ) ) {
1253 deforient = 270; 1253 deforient = 270;
1254 } 1254 }
1255 else { 1255 else {
1256 deforient = 0; 1256 deforient = 0;
1257 } 1257 }
1258 } 1258 }
1259 return deforient; 1259 return deforient;
1260} 1260}
1261 1261
1262/*! 1262/*!
1263 \internal 1263 \internal
1264*/ 1264*/
1265void QPEApplication::setDefaultRotation( int r ) 1265void QPEApplication::setDefaultRotation( int r )
1266{ 1266{
1267 if ( qApp->type() == GuiServer ) { 1267 if ( qApp->type() == GuiServer ) {
1268 deforient = r; 1268 deforient = r;
1269 setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 ); 1269 setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 );
1270 Config config("qpe"); 1270 Config config("qpe");
1271 config.setGroup( "Rotation" ); 1271 config.setGroup( "Rotation" );
1272 config.writeEntry( "Rot", r ); 1272 config.writeEntry( "Rot", r );
1273 } 1273 }
1274 else { 1274 else {
1275#ifndef QT_NO_COP 1275#ifndef QT_NO_COP
1276 { QCopEnvelope e( "QPE/System", "setDefaultRotation(int)" ); 1276 { QCopEnvelope e( "QPE/System", "setDefaultRotation(int)" );
1277 e << r; 1277 e << r;
1278 } 1278 }
1279#endif 1279#endif
1280 1280
1281 } 1281 }
1282} 1282}
1283 1283
1284#include <qgfx_qws.h> 1284#include <qgfx_qws.h>
1285#include <qwindowsystem_qws.h> 1285#include <qwindowsystem_qws.h>
1286 1286
1287#if QT_VERSION > 236
1287extern void qws_clearLoadedFonts(); 1288extern void qws_clearLoadedFonts();
1289#endif
1288 1290
1289void QPEApplication::setCurrentMode( int x, int y, int depth ) 1291void QPEApplication::setCurrentMode( int x, int y, int depth )
1290{ 1292{
1291 // Reset the caches 1293 // Reset the caches
1294#if QT_VERSION > 236
1292 qws_clearLoadedFonts(); 1295 qws_clearLoadedFonts();
1296#endif
1293 QPixmapCache::clear(); 1297 QPixmapCache::clear();
1294 1298
1295 // Change the screen mode 1299 // Change the screen mode
1296 qt_screen->setMode(x, y, depth); 1300 qt_screen->setMode(x, y, depth);
1297 1301
1298 if ( qApp->type() == GuiServer ) { 1302 if ( qApp->type() == GuiServer ) {
1299#if QT_VERSION > 236 1303#if QT_VERSION > 236
1300 // Reconfigure the GuiServer 1304 // Reconfigure the GuiServer
1301 qwsServer->beginDisplayReconfigure(); 1305 qwsServer->beginDisplayReconfigure();
1302 qwsServer->endDisplayReconfigure(); 1306 qwsServer->endDisplayReconfigure();
1303#endif 1307#endif
1304 // Get all the running apps to reset 1308 // Get all the running apps to reset
1305 QCopEnvelope env( "QPE/System", "reset()" ); 1309 QCopEnvelope env( "QPE/System", "reset()" );
1306 } 1310 }
1307} 1311}
1308 1312
1309void QPEApplication::reset() { 1313void QPEApplication::reset() {
1310 // Reconnect to the screen 1314 // Reconnect to the screen
1311 qt_screen->disconnect(); 1315 qt_screen->disconnect();
1312 qt_screen->connect( QString::null ); 1316 qt_screen->connect( QString::null );
1313 1317
1314 // Redraw everything 1318 // Redraw everything
1315 applyStyle(); 1319 applyStyle();
1316} 1320}
1317 1321
1318#if (QT_VERSION < 238) && defined Q_OS_MACX 1322#if (QT_VERSION < 238) && defined Q_OS_MACX
1319bool qt_left_hand_scrollbars = false; 1323bool qt_left_hand_scrollbars = false;
1320#else 1324#else
1321#ifdef Q_OS_MACX 1325#ifdef Q_OS_MACX
1322#define WEAK_SYMBOL __attribute__((weak_import)) 1326#define WEAK_SYMBOL __attribute__((weak_import))
1323#else 1327#else
1324#define WEAK_SYMBOL __attribute__((weak)) 1328#define WEAK_SYMBOL __attribute__((weak))
1325#endif 1329#endif
1326extern bool qt_left_hand_scrollbars WEAK_SYMBOL; 1330extern bool qt_left_hand_scrollbars WEAK_SYMBOL;
1327#endif 1331#endif
1328 1332
1329/*! 1333/*!
1330 \internal 1334 \internal
1331*/ 1335*/
1332void QPEApplication::applyStyle() 1336void QPEApplication::applyStyle()
1333{ 1337{
1334 Config config( "qpe" ); 1338 Config config( "qpe" );
1335 config.setGroup( "Appearance" ); 1339 config.setGroup( "Appearance" );
1336 1340
1337#if QT_VERSION > 233 1341#if QT_VERSION > 233
1338#if !defined(OPIE_NO_OVERRIDE_QT) 1342#if !defined(OPIE_NO_OVERRIDE_QT)
1339 // don't block ourselves ... 1343 // don't block ourselves ...
1340 Opie::force_appearance = 0; 1344 Opie::force_appearance = 0;
1341 1345
1342 static QString appname = Opie::binaryName ( ); 1346 static QString appname = Opie::binaryName ( );
1343 1347
1344 QStringList ex = config. readListEntry ( "NoStyle", ';' ); 1348 QStringList ex = config. readListEntry ( "NoStyle", ';' );
1345 int nostyle = 0; 1349 int nostyle = 0;
1346 for ( QStringList::Iterator it = ex. begin ( ); it != ex. end ( ); ++it ) { 1350 for ( QStringList::Iterator it = ex. begin ( ); it != ex. end ( ); ++it ) {
1347 if ( QRegExp (( *it ). mid ( 1 ), false, true ). find ( appname, 0 ) >= 0 ) { 1351 if ( QRegExp (( *it ). mid ( 1 ), false, true ). find ( appname, 0 ) >= 0 ) {
1348 nostyle = ( *it ). left ( 1 ). toInt ( 0, 32 ); 1352 nostyle = ( *it ). left ( 1 ). toInt ( 0, 32 );
1349 break; 1353 break;
1350 } 1354 }
1351 } 1355 }
1352#else 1356#else
1353 int nostyle = 0; 1357 int nostyle = 0;
1354#endif 1358#endif
1355 1359
1356 // Widget style 1360 // Widget style
1357 QString style = config.readEntry( "Style", "FlatStyle" ); 1361 QString style = config.readEntry( "Style", "FlatStyle" );
1358 1362
1359 // don't set a custom style 1363 // don't set a custom style
1360 if ( nostyle & Opie::Force_Style ) 1364 if ( nostyle & Opie::Force_Style )
1361 style = "FlatStyle"; 1365 style = "FlatStyle";
1362 1366
1363 internalSetStyle ( style ); 1367 internalSetStyle ( style );
1364 1368
1365 // Colors - from /etc/colors/Liquid.scheme 1369 // Colors - from /etc/colors/Liquid.scheme
1366 QColor bgcolor( config.readEntry( "Background", "#E0E0E0" ) ); 1370 QColor bgcolor( config.readEntry( "Background", "#E0E0E0" ) );
1367 QColor btncolor( config.readEntry( "Button", "#96c8fa" ) ); 1371 QColor btncolor( config.readEntry( "Button", "#96c8fa" ) );
1368 QPalette pal( btncolor, bgcolor ); 1372 QPalette pal( btncolor, bgcolor );
1369 QString color = config.readEntry( "Highlight", "#73adef" ); 1373 QString color = config.readEntry( "Highlight", "#73adef" );
1370 pal.setColor( QColorGroup::Highlight, QColor( color ) ); 1374 pal.setColor( QColorGroup::Highlight, QColor( color ) );
1371 color = config.readEntry( "HighlightedText", "#FFFFFF" ); 1375 color = config.readEntry( "HighlightedText", "#FFFFFF" );
1372 pal.setColor( QColorGroup::HighlightedText, QColor( color ) ); 1376 pal.setColor( QColorGroup::HighlightedText, QColor( color ) );
1373 color = config.readEntry( "Text", "#000000" ); 1377 color = config.readEntry( "Text", "#000000" );
1374 pal.setColor( QColorGroup::Text, QColor( color ) ); 1378 pal.setColor( QColorGroup::Text, QColor( color ) );
1375 color = config.readEntry( "ButtonText", "#000000" ); 1379 color = config.readEntry( "ButtonText", "#000000" );
1376 pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) ); 1380 pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) );
1377 color = config.readEntry( "Base", "#FFFFFF" ); 1381 color = config.readEntry( "Base", "#FFFFFF" );
1378 pal.setColor( QColorGroup::Base, QColor( color ) ); 1382 pal.setColor( QColorGroup::Base, QColor( color ) );
1379 1383
1380 pal.setColor( QPalette::Disabled, QColorGroup::Text, 1384 pal.setColor( QPalette::Disabled, QColorGroup::Text,
1381 pal.color( QPalette::Active, QColorGroup::Background ).dark() ); 1385 pal.color( QPalette::Active, QColorGroup::Background ).dark() );
1382 1386
1383 setPalette( pal, TRUE ); 1387 setPalette( pal, TRUE );
1384 1388
1385 1389
1386 // Set the ScrollBar on the 'right' side but only if the weak symbol is present 1390 // Set the ScrollBar on the 'right' side but only if the weak symbol is present
1387 if (&qt_left_hand_scrollbars ) 1391 if (&qt_left_hand_scrollbars )
1388 qt_left_hand_scrollbars = config.readBoolEntry( "LeftHand", false ); 1392 qt_left_hand_scrollbars = config.readBoolEntry( "LeftHand", false );
1389 1393
1390 // Window Decoration 1394 // Window Decoration
1391 QString dec = config.readEntry( "Decoration", "Flat" ); 1395 QString dec = config.readEntry( "Decoration", "Flat" );
1392 1396
1393 // don't set a custom deco 1397 // don't set a custom deco
1394 if ( nostyle & Opie::Force_Decoration ) 1398 if ( nostyle & Opie::Force_Decoration )
1395 dec = ""; 1399 dec = "";
1396 1400
1397 1401
1398 if ( dec != d->decorationName ) { 1402 if ( dec != d->decorationName ) {
1399 qwsSetDecoration( new QPEDecoration( dec ) ); 1403 qwsSetDecoration( new QPEDecoration( dec ) );
1400 d->decorationName = dec; 1404 d->decorationName = dec;
1401 } 1405 }
1402 1406
1403 // Font 1407 // Font
1404 QString ff = config.readEntry( "FontFamily", font().family() ); 1408 QString ff = config.readEntry( "FontFamily", font().family() );
1405 int fs = config.readNumEntry( "FontSize", font().pointSize() ); 1409 int fs = config.readNumEntry( "FontSize", font().pointSize() );
1406 1410
1407 // don't set a custom font 1411 // don't set a custom font
1408 if ( nostyle & Opie::Force_Font ) { 1412 if ( nostyle & Opie::Force_Font ) {
1409 ff = "Vera"; 1413 ff = "Vera";
1410 fs = 10; 1414 fs = 10;
1411 } 1415 }
1412 1416
1413 setFont ( QFont ( ff, fs ), true ); 1417 setFont ( QFont ( ff, fs ), true );
1414 1418
1415#if !defined(OPIE_NO_OVERRIDE_QT) 1419#if !defined(OPIE_NO_OVERRIDE_QT)
1416 // revert to global blocking policy ... 1420 // revert to global blocking policy ...
1417 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None; 1421 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None;
1418 Opie::force_appearance &= ~nostyle; 1422 Opie::force_appearance &= ~nostyle;
1419#endif 1423#endif
1420#endif 1424#endif
1421} 1425}
1422 1426
1423void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data ) 1427void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data )
1424{ 1428{
1425#ifdef Q_WS_QWS 1429#ifdef Q_WS_QWS
1426 QDataStream stream( data, IO_ReadOnly ); 1430 QDataStream stream( data, IO_ReadOnly );
1427 if ( msg == "applyStyle()" ) { 1431 if ( msg == "applyStyle()" ) {
1428 applyStyle(); 1432 applyStyle();
1429 } 1433 }
1430 else if ( msg == "toggleApplicationMenu()" ) { 1434 else if ( msg == "toggleApplicationMenu()" ) {
1431 QWidget *active = activeWindow ( ); 1435 QWidget *active = activeWindow ( );
1432 1436
1433 if ( active ) { 1437 if ( active ) {
1434 QPEMenuToolFocusManager *man = QPEMenuToolFocusManager::manager ( ); 1438 QPEMenuToolFocusManager *man = QPEMenuToolFocusManager::manager ( );
1435 bool oldactive = man-> isActive ( ); 1439 bool oldactive = man-> isActive ( );
1436 1440
1437 man-> setActive( !man-> isActive() ); 1441 man-> setActive( !man-> isActive() );
1438 1442
1439 if ( !oldactive && !man-> isActive ( )) { // no menubar to toggle -> try O-Menu 1443 if ( !oldactive && !man-> isActive ( )) { // no menubar to toggle -> try O-Menu
1440 QCopEnvelope e ( "QPE/TaskBar", "toggleStartMenu()" ); 1444 QCopEnvelope e ( "QPE/TaskBar", "toggleStartMenu()" );
1441 } 1445 }
1442 } 1446 }
1443 } 1447 }
1444 else if ( msg == "setDefaultRotation(int)" ) { 1448 else if ( msg == "setDefaultRotation(int)" ) {
1445 if ( type() == GuiServer ) { 1449 if ( type() == GuiServer ) {
1446 int r; 1450 int r;
1447 stream >> r; 1451 stream >> r;
1448 setDefaultRotation( r ); 1452 setDefaultRotation( r );
1449 } 1453 }
1450 } 1454 }
1451 else if ( msg == "setCurrentMode(int,int,int)" ) { // Added: 2003-06-11 by Tim Ansell <mithro@mithis.net> 1455 else if ( msg == "setCurrentMode(int,int,int)" ) { // Added: 2003-06-11 by Tim Ansell <mithro@mithis.net>
1452 if ( type() == GuiServer ) { 1456 if ( type() == GuiServer ) {
1453 int x, y, depth; 1457 int x, y, depth;
1454 stream >> x; 1458 stream >> x;
1455 stream >> y; 1459 stream >> y;
1456 stream >> depth; 1460 stream >> depth;
1457 setCurrentMode( x, y, depth ); 1461 setCurrentMode( x, y, depth );
1458 } 1462 }
1459 } 1463 }
1460 else if ( msg == "reset()" ) { 1464 else if ( msg == "reset()" ) {
1461 if ( type() != GuiServer ) 1465 if ( type() != GuiServer )
1462 reset(); 1466 reset();
1463 } 1467 }
1464 else if ( msg == "setCurrentRotation(int)" ) { 1468 else if ( msg == "setCurrentRotation(int)" ) {
1465 int r; 1469 int r;
1466 stream >> r; 1470 stream >> r;
1467 setCurrentRotation( r ); 1471 setCurrentRotation( r );
1468 } 1472 }
1469 else if ( msg == "shutdown()" ) { 1473 else if ( msg == "shutdown()" ) {
1470 if ( type() == GuiServer ) 1474 if ( type() == GuiServer )
1471 shutdown(); 1475 shutdown();
1472 } 1476 }
1473 else if ( msg == "quit()" ) { 1477 else if ( msg == "quit()" ) {
1474 if ( type() != GuiServer ) 1478 if ( type() != GuiServer )
1475 tryQuit(); 1479 tryQuit();
1476 } 1480 }
1477 else if ( msg == "forceQuit()" ) { 1481 else if ( msg == "forceQuit()" ) {
1478 if ( type() != GuiServer ) 1482 if ( type() != GuiServer )
1479 quit(); 1483 quit();
1480 } 1484 }
1481 else if ( msg == "restart()" ) { 1485 else if ( msg == "restart()" ) {
1482 if ( type() == GuiServer ) 1486 if ( type() == GuiServer )
1483 restart(); 1487 restart();
1484 } 1488 }