summaryrefslogtreecommitdiff
Unidiff
Diffstat (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
@@ -1159,262 +1159,266 @@ bool QPEApplication::qwsEventFilter( QWSEvent * e )
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