summaryrefslogtreecommitdiff
authoreilers <eilers>2004-07-17 17:11:30 (UTC)
committer eilers <eilers>2004-07-17 17:11:30 (UTC)
commit7d8125ae8cfffe5a7292db1cd353633188ff04e6 (patch) (unidiff)
tree5f1436261a19621c3ceec8c5cb65475652ba878e
parente917f3763a0beb6d540adbfa5f59e478d3baec64 (diff)
downloadopie-7d8125ae8cfffe5a7292db1cd353633188ff04e6.zip
opie-7d8125ae8cfffe5a7292db1cd353633188ff04e6.tar.gz
opie-7d8125ae8cfffe5a7292db1cd353633188ff04e6.tar.bz2
Make it compileable if just qte 2.3.7 is available.
Weak symbols just protect us against unresolved symbols at runtime. But, if it is unresolved at compile time, linking will fail !
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index f4a7f74..db8297f 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -1189,264 +1189,268 @@ bool QPEApplication::qwsEventFilter( QWSEvent * e )
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
1287extern void qws_clearLoadedFonts(); 1287extern void qws_clearLoadedFonts();
1288 1288
1289void QPEApplication::setCurrentMode( int x, int y, int depth ) 1289void QPEApplication::setCurrentMode( int x, int y, int depth )
1290{ 1290{
1291 // Reset the caches 1291 // Reset the caches
1292 qws_clearLoadedFonts(); 1292 qws_clearLoadedFonts();
1293 QPixmapCache::clear(); 1293 QPixmapCache::clear();
1294 1294
1295 // Change the screen mode 1295 // Change the screen mode
1296 qt_screen->setMode(x, y, depth); 1296 qt_screen->setMode(x, y, depth);
1297 1297
1298 if ( qApp->type() == GuiServer ) { 1298 if ( qApp->type() == GuiServer ) {
1299 // Reconfigure the GuiServer 1299 // Reconfigure the GuiServer
1300 qwsServer->beginDisplayReconfigure(); 1300 qwsServer->beginDisplayReconfigure();
1301 qwsServer->endDisplayReconfigure(); 1301 qwsServer->endDisplayReconfigure();
1302 1302
1303 // Get all the running apps to reset 1303 // Get all the running apps to reset
1304 QCopEnvelope env( "QPE/System", "reset()" ); 1304 QCopEnvelope env( "QPE/System", "reset()" );
1305 } 1305 }
1306} 1306}
1307 1307
1308void QPEApplication::reset() { 1308void QPEApplication::reset() {
1309 // Reconnect to the screen 1309 // Reconnect to the screen
1310 qt_screen->disconnect(); 1310 qt_screen->disconnect();
1311 qt_screen->connect( QString::null ); 1311 qt_screen->connect( QString::null );
1312 1312
1313 // Redraw everything 1313 // Redraw everything
1314 applyStyle(); 1314 applyStyle();
1315} 1315}
1316 1316
1317 1317#if QT_VERSION > 238
1318#ifdef Q_OS_MACX 1318#ifdef Q_OS_MACX
1319#define WEAK_SYMBOL __attribute__((weak_import)) 1319#define WEAK_SYMBOL __attribute__((weak_import))
1320#else 1320#else
1321#define WEAK_SYMBOL __attribute__((weak)) 1321#define WEAK_SYMBOL __attribute__((weak))
1322#endif 1322#endif
1323 1323
1324extern bool qt_left_hand_scrollbars WEAK_SYMBOL; 1324extern bool qt_left_hand_scrollbars WEAK_SYMBOL;
1325
1326#else
1327bool qt_left_hand_scrollbars = false;
1328#endif
1325/*! 1329/*!
1326 \internal 1330 \internal
1327*/ 1331*/
1328void QPEApplication::applyStyle() 1332void QPEApplication::applyStyle()
1329{ 1333{
1330 Config config( "qpe" ); 1334 Config config( "qpe" );
1331 config.setGroup( "Appearance" ); 1335 config.setGroup( "Appearance" );
1332 1336
1333#if QT_VERSION > 233 1337#if QT_VERSION > 233
1334#if !defined(OPIE_NO_OVERRIDE_QT) 1338#if !defined(OPIE_NO_OVERRIDE_QT)
1335 // don't block ourselves ... 1339 // don't block ourselves ...
1336 Opie::force_appearance = 0; 1340 Opie::force_appearance = 0;
1337 1341
1338 static QString appname = Opie::binaryName ( ); 1342 static QString appname = Opie::binaryName ( );
1339 1343
1340 QStringList ex = config. readListEntry ( "NoStyle", ';' ); 1344 QStringList ex = config. readListEntry ( "NoStyle", ';' );
1341 int nostyle = 0; 1345 int nostyle = 0;
1342 for ( QStringList::Iterator it = ex. begin ( ); it != ex. end ( ); ++it ) { 1346 for ( QStringList::Iterator it = ex. begin ( ); it != ex. end ( ); ++it ) {
1343 if ( QRegExp (( *it ). mid ( 1 ), false, true ). find ( appname, 0 ) >= 0 ) { 1347 if ( QRegExp (( *it ). mid ( 1 ), false, true ). find ( appname, 0 ) >= 0 ) {
1344 nostyle = ( *it ). left ( 1 ). toInt ( 0, 32 ); 1348 nostyle = ( *it ). left ( 1 ). toInt ( 0, 32 );
1345 break; 1349 break;
1346 } 1350 }
1347 } 1351 }
1348#else 1352#else
1349 int nostyle = 0; 1353 int nostyle = 0;
1350#endif 1354#endif
1351 1355
1352 // Widget style 1356 // Widget style
1353 QString style = config.readEntry( "Style", "FlatStyle" ); 1357 QString style = config.readEntry( "Style", "FlatStyle" );
1354 1358
1355 // don't set a custom style 1359 // don't set a custom style
1356 if ( nostyle & Opie::Force_Style ) 1360 if ( nostyle & Opie::Force_Style )
1357 style = "FlatStyle"; 1361 style = "FlatStyle";
1358 1362
1359 internalSetStyle ( style ); 1363 internalSetStyle ( style );
1360 1364
1361 // Colors - from /etc/colors/Liquid.scheme 1365 // Colors - from /etc/colors/Liquid.scheme
1362 QColor bgcolor( config.readEntry( "Background", "#E0E0E0" ) ); 1366 QColor bgcolor( config.readEntry( "Background", "#E0E0E0" ) );
1363 QColor btncolor( config.readEntry( "Button", "#96c8fa" ) ); 1367 QColor btncolor( config.readEntry( "Button", "#96c8fa" ) );
1364 QPalette pal( btncolor, bgcolor ); 1368 QPalette pal( btncolor, bgcolor );
1365 QString color = config.readEntry( "Highlight", "#73adef" ); 1369 QString color = config.readEntry( "Highlight", "#73adef" );
1366 pal.setColor( QColorGroup::Highlight, QColor( color ) ); 1370 pal.setColor( QColorGroup::Highlight, QColor( color ) );
1367 color = config.readEntry( "HighlightedText", "#FFFFFF" ); 1371 color = config.readEntry( "HighlightedText", "#FFFFFF" );
1368 pal.setColor( QColorGroup::HighlightedText, QColor( color ) ); 1372 pal.setColor( QColorGroup::HighlightedText, QColor( color ) );
1369 color = config.readEntry( "Text", "#000000" ); 1373 color = config.readEntry( "Text", "#000000" );
1370 pal.setColor( QColorGroup::Text, QColor( color ) ); 1374 pal.setColor( QColorGroup::Text, QColor( color ) );
1371 color = config.readEntry( "ButtonText", "#000000" ); 1375 color = config.readEntry( "ButtonText", "#000000" );
1372 pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) ); 1376 pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) );
1373 color = config.readEntry( "Base", "#FFFFFF" ); 1377 color = config.readEntry( "Base", "#FFFFFF" );
1374 pal.setColor( QColorGroup::Base, QColor( color ) ); 1378 pal.setColor( QColorGroup::Base, QColor( color ) );
1375 1379
1376 pal.setColor( QPalette::Disabled, QColorGroup::Text, 1380 pal.setColor( QPalette::Disabled, QColorGroup::Text,
1377 pal.color( QPalette::Active, QColorGroup::Background ).dark() ); 1381 pal.color( QPalette::Active, QColorGroup::Background ).dark() );
1378 1382
1379 setPalette( pal, TRUE ); 1383 setPalette( pal, TRUE );
1380 1384
1381 1385
1382 // Set the ScrollBar on the 'right' side but only if the weak symbol is present 1386 // Set the ScrollBar on the 'right' side but only if the weak symbol is present
1383 if (&qt_left_hand_scrollbars ) 1387 if (&qt_left_hand_scrollbars )
1384 qt_left_hand_scrollbars = config.readBoolEntry( "LeftHand", false ); 1388 qt_left_hand_scrollbars = config.readBoolEntry( "LeftHand", false );
1385 1389
1386 // Window Decoration 1390 // Window Decoration
1387 QString dec = config.readEntry( "Decoration", "Flat" ); 1391 QString dec = config.readEntry( "Decoration", "Flat" );
1388 1392
1389 // don't set a custom deco 1393 // don't set a custom deco
1390 if ( nostyle & Opie::Force_Decoration ) 1394 if ( nostyle & Opie::Force_Decoration )
1391 dec = ""; 1395 dec = "";
1392 1396
1393 1397
1394 if ( dec != d->decorationName ) { 1398 if ( dec != d->decorationName ) {
1395 qwsSetDecoration( new QPEDecoration( dec ) ); 1399 qwsSetDecoration( new QPEDecoration( dec ) );
1396 d->decorationName = dec; 1400 d->decorationName = dec;
1397 } 1401 }
1398 1402
1399 // Font 1403 // Font
1400 QString ff = config.readEntry( "FontFamily", font().family() ); 1404 QString ff = config.readEntry( "FontFamily", font().family() );
1401 int fs = config.readNumEntry( "FontSize", font().pointSize() ); 1405 int fs = config.readNumEntry( "FontSize", font().pointSize() );
1402 1406
1403 // don't set a custom font 1407 // don't set a custom font
1404 if ( nostyle & Opie::Force_Font ) { 1408 if ( nostyle & Opie::Force_Font ) {
1405 ff = "Vera"; 1409 ff = "Vera";
1406 fs = 10; 1410 fs = 10;
1407 } 1411 }
1408 1412
1409 setFont ( QFont ( ff, fs ), true ); 1413 setFont ( QFont ( ff, fs ), true );
1410 1414
1411#if !defined(OPIE_NO_OVERRIDE_QT) 1415#if !defined(OPIE_NO_OVERRIDE_QT)
1412 // revert to global blocking policy ... 1416 // revert to global blocking policy ...
1413 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None; 1417 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None;
1414 Opie::force_appearance &= ~nostyle; 1418 Opie::force_appearance &= ~nostyle;
1415#endif 1419#endif
1416#endif 1420#endif
1417} 1421}
1418 1422
1419void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data ) 1423void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data )
1420{ 1424{
1421#ifdef Q_WS_QWS 1425#ifdef Q_WS_QWS
1422 QDataStream stream( data, IO_ReadOnly ); 1426 QDataStream stream( data, IO_ReadOnly );
1423 if ( msg == "applyStyle()" ) { 1427 if ( msg == "applyStyle()" ) {
1424 applyStyle(); 1428 applyStyle();
1425 } 1429 }
1426 else if ( msg == "toggleApplicationMenu()" ) { 1430 else if ( msg == "toggleApplicationMenu()" ) {
1427 QWidget *active = activeWindow ( ); 1431 QWidget *active = activeWindow ( );
1428 1432
1429 if ( active ) { 1433 if ( active ) {
1430 QPEMenuToolFocusManager *man = QPEMenuToolFocusManager::manager ( ); 1434 QPEMenuToolFocusManager *man = QPEMenuToolFocusManager::manager ( );
1431 bool oldactive = man-> isActive ( ); 1435 bool oldactive = man-> isActive ( );
1432 1436
1433 man-> setActive( !man-> isActive() ); 1437 man-> setActive( !man-> isActive() );
1434 1438
1435 if ( !oldactive && !man-> isActive ( )) { // no menubar to toggle -> try O-Menu 1439 if ( !oldactive && !man-> isActive ( )) { // no menubar to toggle -> try O-Menu
1436 QCopEnvelope e ( "QPE/TaskBar", "toggleStartMenu()" ); 1440 QCopEnvelope e ( "QPE/TaskBar", "toggleStartMenu()" );
1437 } 1441 }
1438 } 1442 }
1439 } 1443 }
1440 else if ( msg == "setDefaultRotation(int)" ) { 1444 else if ( msg == "setDefaultRotation(int)" ) {
1441 if ( type() == GuiServer ) { 1445 if ( type() == GuiServer ) {
1442 int r; 1446 int r;
1443 stream >> r; 1447 stream >> r;
1444 setDefaultRotation( r ); 1448 setDefaultRotation( r );
1445 } 1449 }
1446 } 1450 }
1447 else if ( msg == "setCurrentMode(int,int,int)" ) { // Added: 2003-06-11 by Tim Ansell <mithro@mithis.net> 1451 else if ( msg == "setCurrentMode(int,int,int)" ) { // Added: 2003-06-11 by Tim Ansell <mithro@mithis.net>
1448 if ( type() == GuiServer ) { 1452 if ( type() == GuiServer ) {
1449 int x, y, depth; 1453 int x, y, depth;
1450 stream >> x; 1454 stream >> x;
1451 stream >> y; 1455 stream >> y;
1452 stream >> depth; 1456 stream >> depth;