-rw-r--r-- | core/launcher/serverapp.cpp | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/core/launcher/serverapp.cpp b/core/launcher/serverapp.cpp index 23a7f95..e8d49fd 100644 --- a/core/launcher/serverapp.cpp +++ b/core/launcher/serverapp.cpp | |||
@@ -324,110 +324,128 @@ ServerApplication::ServerApplication( int& argc, char **argv, Type t ) | |||
324 | 324 | ||
325 | kf = new KeyFilter(this); | 325 | kf = new KeyFilter(this); |
326 | 326 | ||
327 | connect( kf, SIGNAL(launch()), this, SIGNAL(launch()) ); | 327 | connect( kf, SIGNAL(launch()), this, SIGNAL(launch()) ); |
328 | connect( kf, SIGNAL(power()), this, SIGNAL(power()) ); | 328 | connect( kf, SIGNAL(power()), this, SIGNAL(power()) ); |
329 | connect( kf, SIGNAL(backlight()), this, SIGNAL(backlight()) ); | 329 | connect( kf, SIGNAL(backlight()), this, SIGNAL(backlight()) ); |
330 | connect( kf, SIGNAL(symbol()), this, SIGNAL(symbol())); | 330 | connect( kf, SIGNAL(symbol()), this, SIGNAL(symbol())); |
331 | connect( kf, SIGNAL(numLockStateToggle()), this,SIGNAL(numLockStateToggle())); | 331 | connect( kf, SIGNAL(numLockStateToggle()), this,SIGNAL(numLockStateToggle())); |
332 | connect( kf, SIGNAL(capsLockStateToggle()), this,SIGNAL(capsLockStateToggle())); | 332 | connect( kf, SIGNAL(capsLockStateToggle()), this,SIGNAL(capsLockStateToggle())); |
333 | connect( kf, SIGNAL(activate(const Opie::ODeviceButton*,bool)), | 333 | connect( kf, SIGNAL(activate(const Opie::ODeviceButton*,bool)), |
334 | this,SIGNAL(activate(const Opie::ODeviceButton*,bool))); | 334 | this,SIGNAL(activate(const Opie::ODeviceButton*,bool))); |
335 | 335 | ||
336 | 336 | ||
337 | connect( kf, SIGNAL(backlight()), this, SLOT(toggleLight()) ); | 337 | connect( kf, SIGNAL(backlight()), this, SLOT(toggleLight()) ); |
338 | 338 | ||
339 | connect( this, SIGNAL(power() ), | 339 | connect( this, SIGNAL(power() ), |
340 | SLOT(togglePower() ) ); | 340 | SLOT(togglePower() ) ); |
341 | 341 | ||
342 | rereadVolumes(); | 342 | rereadVolumes(); |
343 | 343 | ||
344 | serverApp = this; | 344 | serverApp = this; |
345 | 345 | ||
346 | apmTimeout(); | 346 | apmTimeout(); |
347 | grabKeyboard(); | 347 | grabKeyboard(); |
348 | 348 | ||
349 | /* make sure the event filter is installed */ | 349 | /* make sure the event filter is installed */ |
350 | const Opie::ODeviceButton* but = Opie::ODevice::inst()->buttonForKeycode( -1 ); | 350 | const Opie::ODeviceButton* but = Opie::ODevice::inst()->buttonForKeycode( -1 ); |
351 | } | 351 | } |
352 | 352 | ||
353 | 353 | ||
354 | ServerApplication::~ServerApplication() | 354 | ServerApplication::~ServerApplication() |
355 | { | 355 | { |
356 | ungrabKeyboard(); | 356 | ungrabKeyboard(); |
357 | 357 | ||
358 | 358 | ||
359 | delete pa; | 359 | delete pa; |
360 | delete m_ps; | 360 | delete m_ps; |
361 | delete m_ps_last; | 361 | delete m_ps_last; |
362 | } | 362 | } |
363 | 363 | ||
364 | void ServerApplication::apmTimeout() { | 364 | void ServerApplication::apmTimeout() { |
365 | serverApp-> checkMemory( ); // in case no events are generated | 365 | serverApp-> checkMemory( ); // in case no events are generated |
366 | *m_ps_last = *m_ps; | 366 | *m_ps_last = *m_ps; |
367 | *m_ps = PowerStatusManager::readStatus(); | 367 | *m_ps = PowerStatusManager::readStatus(); |
368 | 368 | ||
369 | if ( m_ps->acStatus() != m_ps_last-> acStatus() ) | 369 | if ( m_ps->acStatus() != m_ps_last-> acStatus() ) |
370 | m_screensaver-> powerStatusChanged( *m_ps ); | 370 | m_screensaver-> powerStatusChanged( *m_ps ); |
371 | 371 | ||
372 | if ( m_ps->acStatus() == PowerStatus::Online ) | 372 | if ( m_ps->acStatus() == PowerStatus::Online ) { |
373 | return; | 373 | return; |
374 | 374 | } | |
375 | |||
375 | int bat = m_ps-> batteryPercentRemaining(); | 376 | int bat = m_ps-> batteryPercentRemaining(); |
376 | 377 | ||
377 | if ( bat < m_ps_last-> batteryPercentRemaining() ) { | 378 | if ( bat < m_ps_last-> batteryPercentRemaining() ) { |
378 | if ( bat <= m_powerCritical ) | 379 | if ( bat <= m_powerCritical ) { |
379 | pa->alert( tr( "Battery level is critical!\nKeep power off until power restored!" ), 1 ); | 380 | QMessageBox battlow( |
380 | else if ( bat <= m_powerVeryLow ) | 381 | tr("WARNING"), |
381 | pa->alert( tr( "Battery is running very low. "), 2 ); | 382 | tr("<p>The battery level is critical!" |
383 | "<p>Keep power off until AC is restored"), | ||
384 | QMessageBox::Warning, | ||
385 | QMessageBox::Cancel, QMessageBox::NoButton, QMessageBox::NoButton, | ||
386 | 0, QString::null, TRUE, WStyle_StaysOnTop); | ||
387 | battlow.setButtonText(QMessageBox::Cancel, tr("Ok")); | ||
388 | battlow.exec(); | ||
389 | } else if ( bat <= m_powerVeryLow ) | ||
390 | pa->alert( tr( "The battery is running very low. "), 2 ); | ||
382 | } | 391 | } |
383 | if ( m_ps-> backupBatteryStatus() == PowerStatus::VeryLow ) | 392 | |
384 | pa->alert( tr("The Back-up battery is very low.\nPlease charge the back-up battery." ), 2); | 393 | if ( m_ps-> backupBatteryStatus() == PowerStatus::VeryLow ) { |
385 | 394 | QMessageBox battlow( | |
395 | tr("WARNING"), | ||
396 | tr("<p>The Back-up battery is very low" | ||
397 | "<p>Please charge the back-up battery"), | ||
398 | QMessageBox::Warning, | ||
399 | QMessageBox::Cancel, QMessageBox::NoButton, QMessageBox::NoButton, | ||
400 | 0, QString::null, TRUE, WStyle_StaysOnTop); | ||
401 | battlow.setButtonText(QMessageBox::Cancel, tr("Ok")); | ||
402 | battlow.exec(); | ||
403 | } | ||
386 | } | 404 | } |
387 | 405 | ||
388 | void ServerApplication::systemMessage( const QCString& msg, | 406 | void ServerApplication::systemMessage( const QCString& msg, |
389 | const QByteArray& data ) { | 407 | const QByteArray& data ) { |
390 | QDataStream stream ( data, IO_ReadOnly ); | 408 | QDataStream stream ( data, IO_ReadOnly ); |
391 | 409 | ||
392 | if ( msg == "setScreenSaverInterval(int)" ) { | 410 | if ( msg == "setScreenSaverInterval(int)" ) { |
393 | int time; | 411 | int time; |
394 | stream >> time; | 412 | stream >> time; |
395 | m_screensaver-> setInterval( time ); | 413 | m_screensaver-> setInterval( time ); |
396 | } | 414 | } |
397 | else if ( msg == "setScreenSaverIntervals(int,int,int)" ) { | 415 | else if ( msg == "setScreenSaverIntervals(int,int,int)" ) { |
398 | int t1, t2, t3; | 416 | int t1, t2, t3; |
399 | stream >> t1 >> t2 >> t3; | 417 | stream >> t1 >> t2 >> t3; |
400 | m_screensaver-> setIntervals( t1, t2, t3 ); | 418 | m_screensaver-> setIntervals( t1, t2, t3 ); |
401 | } | 419 | } |
402 | else if ( msg == "setBacklight(int)" ) { | 420 | else if ( msg == "setBacklight(int)" ) { |
403 | int bright; | 421 | int bright; |
404 | stream >> bright; | 422 | stream >> bright; |
405 | m_screensaver-> setBacklight( bright ); | 423 | m_screensaver-> setBacklight( bright ); |
406 | } | 424 | } |
407 | else if ( msg == "setScreenSaverMode(int)" ) { | 425 | else if ( msg == "setScreenSaverMode(int)" ) { |
408 | int mode; | 426 | int mode; |
409 | stream >> mode; | 427 | stream >> mode; |
410 | m_screensaver-> setMode ( mode ); | 428 | m_screensaver-> setMode ( mode ); |
411 | } | 429 | } |
412 | else if ( msg == "reloadPowerWarnSettings()" ) { | 430 | else if ( msg == "reloadPowerWarnSettings()" ) { |
413 | reloadPowerWarnSettings(); | 431 | reloadPowerWarnSettings(); |
414 | } | 432 | } |
415 | else if ( msg == "setDisplayState(int)" ) { | 433 | else if ( msg == "setDisplayState(int)" ) { |
416 | int state; | 434 | int state; |
417 | stream >> state; | 435 | stream >> state; |
418 | m_screensaver-> setDisplayState ( state != 0 ); | 436 | m_screensaver-> setDisplayState ( state != 0 ); |
419 | } | 437 | } |
420 | else if ( msg == "suspend()" ) { | 438 | else if ( msg == "suspend()" ) { |
421 | emit power(); | 439 | emit power(); |
422 | } | 440 | } |
423 | else if ( msg == "sendBusinessCard()" ) { | 441 | else if ( msg == "sendBusinessCard()" ) { |
424 | QString card = ::getenv ( "HOME" ); | 442 | QString card = ::getenv ( "HOME" ); |
425 | card += "/Applications/addressbook/businesscard.vcf"; | 443 | card += "/Applications/addressbook/businesscard.vcf"; |
426 | 444 | ||
427 | if ( QFile::exists( card ) ) { | 445 | if ( QFile::exists( card ) ) { |
428 | QCopEnvelope e ( "QPE/Obex", "send(QString,QString,QString)" ); | 446 | QCopEnvelope e ( "QPE/Obex", "send(QString,QString,QString)" ); |
429 | QString mimetype = "text/x-vCard"; | 447 | QString mimetype = "text/x-vCard"; |
430 | e << tr( "business card" ) << card << mimetype; | 448 | e << tr( "business card" ) << card << mimetype; |
431 | } | 449 | } |
432 | } | 450 | } |
433 | } | 451 | } |