summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/desktop.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp
index 986ae5d..2ea6d27 100644
--- a/core/launcher/desktop.cpp
+++ b/core/launcher/desktop.cpp
@@ -190,256 +190,257 @@ public:
190 setBacklightInternal ( -1 ); 190 setBacklightInternal ( -1 );
191 } 191 }
192 bool save( int level ) 192 bool save( int level )
193 { 193 {
194 bool onAC = ( PowerStatusManager::readStatus().acStatus() == PowerStatus::Online ); 194 bool onAC = ( PowerStatusManager::readStatus().acStatus() == PowerStatus::Online );
195 195
196 switch ( level ) { 196 switch ( level ) {
197 case 0: 197 case 0:
198 198
199 if ( m_disable_suspend_ac > 0 && m_enable_dim_ac && onAC ) { 199 if ( m_disable_suspend_ac > 0 && m_enable_dim_ac && onAC ) {
200 if ( m_backlight_current > 1 ) 200 if ( m_backlight_current > 1 )
201 setBacklight( 1 ); // lowest non-off 201 setBacklight( 1 ); // lowest non-off
202 } else if ( !onAC && m_disable_suspend > 0 && m_enable_dim ) { 202 } else if ( !onAC && m_disable_suspend > 0 && m_enable_dim ) {
203 if ( m_backlight_current > 1 ) 203 if ( m_backlight_current > 1 )
204 setBacklightInternal( 1 ); // lowest non-off 204 setBacklightInternal( 1 ); // lowest non-off
205 } 205 }
206 return true; 206 return true;
207 break; 207 break;
208 case 1: 208 case 1:
209 209
210 if ( m_disable_suspend_ac > 1 && m_enable_lightoff_ac && onAC ) { 210 if ( m_disable_suspend_ac > 1 && m_enable_lightoff_ac && onAC ) {
211 setBacklightInternal( 0 ); // off 211 setBacklightInternal( 0 ); // off
212 } else if ( !onAC && m_disable_suspend > 1 && m_enable_lightoff ) { 212 } else if ( !onAC && m_disable_suspend > 1 && m_enable_lightoff ) {
213 setBacklightInternal( 0 ); // off 213 setBacklightInternal( 0 ); // off
214 } 214 }
215 return true; 215 return true;
216 break; 216 break;
217 case 2: 217 case 2:
218 if ( m_disable_apm_ac && onAC ) { 218 if ( m_disable_apm_ac && onAC ) {
219 return true; 219 return true;
220 } 220 }
221 221
222 if ( m_enable_onlylcdoff_ac && onAC ) { 222 if ( m_enable_onlylcdoff_ac && onAC ) {
223 ODevice::inst ( ) -> setDisplayStatus ( false ); 223 ODevice::inst ( ) -> setDisplayStatus ( false );
224 m_lcd_status = false; 224 m_lcd_status = false;
225 return true; 225 return true;
226 } 226 }
227 else if ( !onAC && m_enable_onlylcdoff ) { 227 else if ( !onAC && m_enable_onlylcdoff ) {
228 ODevice::inst ( ) -> setDisplayStatus ( false ); 228 ODevice::inst ( ) -> setDisplayStatus ( false );
229 m_lcd_status = false; 229 m_lcd_status = false;
230 return true; 230 return true;
231 } 231 }
232 else // We're going to suspend the whole machine 232 else // We're going to suspend the whole machine
233 { 233 {
234 if ( ( m_disable_suspend_ac > 2 && onAC ) && ( !Network::networkOnline ( ) ) ) { 234 if ( ( m_disable_suspend_ac > 2 && onAC ) && ( !Network::networkOnline ( ) ) ) {
235 QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE ); 235 QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE );
236 return true; 236 return true;
237 } 237 }
238 if ( !onAC && ( m_disable_suspend > 2 ) && ( !Network::networkOnline ( ) ) ) { 238 if ( !onAC && ( m_disable_suspend > 2 ) && ( !Network::networkOnline ( ) ) ) {
239 QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE ); 239 QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE );
240 return true; 240 return true;
241 } 241 }
242 } 242 }
243 break; 243 break;
244 } 244 }
245 return false; 245 return false;
246 } 246 }
247 247
248private: 248private:
249 static int ssi( int interval, Config & config, const QString & enable, const QString & value, int def ) 249 static int ssi( int interval, Config & config, const QString & enable, const QString & value, int def )
250 { 250 {
251 if ( !enable.isEmpty() && config.readNumEntry( enable, 0 ) == 0 ) 251 if ( !enable.isEmpty() && config.readNumEntry( enable, 0 ) == 0 )
252 return 0; 252 return 0;
253 253
254 if ( interval < 0 ) { 254 if ( interval < 0 ) {
255 // Restore screen blanking and power saving state 255 // Restore screen blanking and power saving state
256 interval = config.readNumEntry( value, def ); 256 interval = config.readNumEntry( value, def );
257 } 257 }
258 return interval; 258 return interval;
259 } 259 }
260 260
261public: 261public:
262 void setIntervals( int i1, int i2, int i3 ) 262 void setIntervals( int i1, int i2, int i3 )
263 { 263 {
264 Config config( "qpe" ); 264 Config config( "qpe" );
265 config.setGroup( "Screensaver" ); 265 config.setGroup( "Screensaver" );
266 266
267 int v[ 4 ]; 267 int v[ 4 ];
268 i1 = ssi( i1, config, "Dim", "Interval_Dim", 30 ); 268 i1 = ssi( i1, config, "Dim", "Interval_Dim", 30 );
269 i2 = ssi( i2, config, "LightOff", "Interval_LightOff", 20 ); 269 i2 = ssi( i2, config, "LightOff", "Interval_LightOff", 20 );
270 i3 = ssi( i3, config, "", "Interval", 60 ); 270 i3 = ssi( i3, config, "", "Interval", 60 );
271 271
272 //qDebug("screen saver intervals: %d %d %d", i1, i2, i3); 272 //qDebug("screen saver intervals: %d %d %d", i1, i2, i3);
273 273
274 v [ 0 ] = QMAX( 1000 * i1, 100 ); 274 v [ 0 ] = QMAX( 1000 * i1, 100 );
275 v [ 1 ] = QMAX( 1000 * i2, 100 ); 275 v [ 1 ] = QMAX( 1000 * i2, 100 );
276 v [ 2 ] = QMAX( 1000 * i3, 100 ); 276 v [ 2 ] = QMAX( 1000 * i3, 100 );
277 v [ 3 ] = 0; 277 v [ 3 ] = 0;
278 m_enable_dim = ( ( i1 != 0 ) ? config. readNumEntry ( "Dim", 1 ) : false ); 278 m_enable_dim = ( ( i1 != 0 ) ? config. readNumEntry ( "Dim", 1 ) : false );
279 m_enable_lightoff = ( ( i2 != 0 ) ? config. readNumEntry ( "LightOff", 1 ) : false ); 279 m_enable_lightoff = ( ( i2 != 0 ) ? config. readNumEntry ( "LightOff", 1 ) : false );
280 m_enable_onlylcdoff = config.readNumEntry ( "LcdOffOnly", 0 ); 280 m_enable_onlylcdoff = config.readNumEntry ( "LcdOffOnly", 0 );
281 281
282 if ( !i1 && !i2 && !i3 ) 282 if ( !i1 && !i2 && !i3 )
283 QWSServer::setScreenSaverInterval( 0 ); 283 QWSServer::setScreenSaverInterval( 0 );
284 else 284 else
285 QWSServer::setScreenSaverIntervals( v ); 285 QWSServer::setScreenSaverIntervals( v );
286 } 286 }
287 287
288 void setIntervalsAC( int i1, int i2, int i3 ) 288 void setIntervalsAC( int i1, int i2, int i3 )
289 { 289 {
290 Config config( "qpe" ); 290 Config config( "qpe" );
291 config.setGroup( "Screensaver" ); 291 config.setGroup( "Screensaver" );
292 292
293 int v[ 4 ]; 293 int v[ 4 ];
294 i1 = ssi( i1, config, "DimAC", "Interval_DimAC", 30 ); 294 i1 = ssi( i1, config, "DimAC", "Interval_DimAC", 30 );
295 i2 = ssi( i2, config, "LightOffAC", "Interval_LightOffAC", 20 ); 295 i2 = ssi( i2, config, "LightOffAC", "Interval_LightOffAC", 20 );
296 i3 = ssi( i3, config, "", "IntervalAC", 60 ); 296 i3 = ssi( i3, config, "", "IntervalAC", 60 );
297 297
298 //qDebug("screen saver intervals: %d %d %d", i1, i2, i3); 298 //qDebug("screen saver intervals: %d %d %d", i1, i2, i3);
299 299
300 v [ 0 ] = QMAX( 1000 * i1, 100 ); 300 v [ 0 ] = QMAX( 1000 * i1, 100 );
301 v [ 1 ] = QMAX( 1000 * i2, 100 ); 301 v [ 1 ] = QMAX( 1000 * i2, 100 );
302 v [ 2 ] = QMAX( 1000 * i3, 100 ); 302 v [ 2 ] = QMAX( 1000 * i3, 100 );
303 v [ 3 ] = 0; 303 v [ 3 ] = 0;
304 m_enable_dim_ac = ( ( i1 != 0 ) ? config.readNumEntry ( "DimAC", 1 ) : false ); 304 m_enable_dim_ac = ( ( i1 != 0 ) ? config.readNumEntry ( "DimAC", 1 ) : false );
305 m_enable_lightoff_ac = ( ( i2 != 0 ) ? config.readNumEntry ( "LightOffAC", 1 ) : false ); 305 m_enable_lightoff_ac = ( ( i2 != 0 ) ? config.readNumEntry ( "LightOffAC", 1 ) : false );
306 m_enable_onlylcdoff_ac = config.readNumEntry ( "LcdOffOnlyAC", 0 ); 306 m_enable_onlylcdoff_ac = config.readNumEntry ( "LcdOffOnlyAC", 0 );
307 m_disable_apm_ac = config.readNumEntry ( "NoApmAC", 0 ); 307 m_disable_apm_ac = config.readNumEntry ( "NoApmAC", 0 );
308 308
309 if ( !i1 && !i2 && !i3 ) 309 if ( !i1 && !i2 && !i3 )
310 QWSServer::setScreenSaverInterval( 0 ); 310 QWSServer::setScreenSaverInterval( 0 );
311 else 311 else
312 QWSServer::setScreenSaverIntervals( v ); 312 QWSServer::setScreenSaverIntervals( v );
313 } 313 }
314 314
315 void setInterval ( int interval ) 315 void setInterval ( int interval )
316 { 316 {
317 setIntervals ( -1, -1, interval ); 317 setIntervals ( -1, -1, interval );
318 setIntervalsAC ( -1, -1, interval );
318 } 319 }
319 320
320 void setMode ( int mode ) 321 void setMode ( int mode )
321 { 322 {
322 if ( mode > m_disable_suspend ) 323 if ( mode > m_disable_suspend )
323 setInterval( -1 ); 324 setInterval( -1 );
324 m_disable_suspend = mode; 325 m_disable_suspend = mode;
325 } 326 }
326 327
327 void setBacklight ( int bright ) 328 void setBacklight ( int bright )
328 { 329 {
329 // Read from config 330 // Read from config
330 Config config ( "qpe" ); 331 Config config ( "qpe" );
331 config. setGroup ( "Screensaver" ); 332 config. setGroup ( "Screensaver" );
332 m_backlight_normal = config. readNumEntry ( "Brightness", 255 ); 333 m_backlight_normal = config. readNumEntry ( "Brightness", 255 );
333 334
334 setBacklightInternal ( bright ); 335 setBacklightInternal ( bright );
335 } 336 }
336 337
337private: 338private:
338 void setBacklightInternal ( int bright ) 339 void setBacklightInternal ( int bright )
339 { 340 {
340 if ( bright == -3 ) { 341 if ( bright == -3 ) {
341 // Forced on 342 // Forced on
342 m_backlight_forcedoff = false; 343 m_backlight_forcedoff = false;
343 bright = -1; 344 bright = -1;
344 } 345 }
345 if ( m_backlight_forcedoff && bright != -2 ) 346 if ( m_backlight_forcedoff && bright != -2 )
346 return ; 347 return ;
347 if ( bright == -2 ) { 348 if ( bright == -2 ) {
348 // Toggle between off and on 349 // Toggle between off and on
349 bright = m_backlight_current ? 0 : -1; 350 bright = m_backlight_current ? 0 : -1;
350 m_backlight_forcedoff = !bright; 351 m_backlight_forcedoff = !bright;
351 } 352 }
352 if ( bright == -1 ) 353 if ( bright == -1 )
353 bright = m_backlight_normal; 354 bright = m_backlight_normal;
354 355
355 if ( bright != m_backlight_current ) { 356 if ( bright != m_backlight_current ) {
356 ODevice::inst ( )-> setDisplayBrightness ( bright ); 357 ODevice::inst ( )-> setDisplayBrightness ( bright );
357 m_backlight_current = bright; 358 m_backlight_current = bright;
358 } 359 }
359 } 360 }
360 361
361public: 362public:
362 void setDisplayState ( bool on ) 363 void setDisplayState ( bool on )
363 { 364 {
364 if ( m_lcd_status != on ) { 365 if ( m_lcd_status != on ) {
365 ODevice::inst ( ) -> setDisplayStatus ( on ); 366 ODevice::inst ( ) -> setDisplayStatus ( on );
366 m_lcd_status = on; 367 m_lcd_status = on;
367 } 368 }
368 } 369 }
369 370
370private: 371private:
371 int m_disable_suspend; 372 int m_disable_suspend;
372 bool m_enable_dim; 373 bool m_enable_dim;
373 bool m_enable_lightoff; 374 bool m_enable_lightoff;
374 bool m_enable_onlylcdoff; 375 bool m_enable_onlylcdoff;
375 376
376 int m_disable_suspend_ac; 377 int m_disable_suspend_ac;
377 bool m_enable_dim_ac; 378 bool m_enable_dim_ac;
378 bool m_enable_lightoff_ac; 379 bool m_enable_lightoff_ac;
379 bool m_enable_onlylcdoff_ac; 380 bool m_enable_onlylcdoff_ac;
380 bool m_disable_apm_ac; 381 bool m_disable_apm_ac;
381 382
382 bool m_lcd_status; 383 bool m_lcd_status;
383 384
384 int m_backlight_normal; 385 int m_backlight_normal;
385 int m_backlight_current; 386 int m_backlight_current;
386 bool m_backlight_forcedoff; 387 bool m_backlight_forcedoff;
387}; 388};
388 389
389void DesktopApplication::switchLCD ( bool on ) 390void DesktopApplication::switchLCD ( bool on )
390{ 391{
391 if ( qApp ) { 392 if ( qApp ) {
392 DesktopApplication *dapp = (DesktopApplication *) qApp; 393 DesktopApplication *dapp = (DesktopApplication *) qApp;
393 394
394 if ( dapp-> m_screensaver ) { 395 if ( dapp-> m_screensaver ) {
395 if ( on ) { 396 if ( on ) {
396 dapp-> m_screensaver-> setDisplayState ( true ); 397 dapp-> m_screensaver-> setDisplayState ( true );
397 dapp-> m_screensaver-> setBacklight ( -3 ); 398 dapp-> m_screensaver-> setBacklight ( -3 );
398 } 399 }
399 else { 400 else {
400 dapp-> m_screensaver-> setDisplayState ( false ); 401 dapp-> m_screensaver-> setDisplayState ( false );
401 } 402 }
402 } 403 }
403 } 404 }
404} 405}
405 406
406 407
407DesktopApplication::DesktopApplication( int& argc, char **argv, Type appType ) 408DesktopApplication::DesktopApplication( int& argc, char **argv, Type appType )
408 : QPEApplication( argc, argv, appType ) 409 : QPEApplication( argc, argv, appType )
409{ 410{
410 411
411 m_timer = new QTimer( this ); 412 m_timer = new QTimer( this );
412 connect( m_timer, SIGNAL( timeout() ), this, SLOT( apmTimeout() ) ); 413 connect( m_timer, SIGNAL( timeout() ), this, SLOT( apmTimeout() ) );
413 Config cfg( "apm" ); 414 Config cfg( "apm" );
414 cfg.setGroup( "Warnings" ); 415 cfg.setGroup( "Warnings" );
415 m_timer->start( 5000 ); 416 m_timer->start( 5000 );
416 //cfg.readNumEntry( "checkinterval", 10000 ) 417 //cfg.readNumEntry( "checkinterval", 10000 )
417 m_powerVeryLow = cfg.readNumEntry( "powerverylow", 10 ); 418 m_powerVeryLow = cfg.readNumEntry( "powerverylow", 10 );
418 m_powerCritical = cfg.readNumEntry( "powercritical", 5 ); 419 m_powerCritical = cfg.readNumEntry( "powercritical", 5 );
419 ps = new PowerStatus; 420 ps = new PowerStatus;
420 pa = new DesktopPowerAlerter( 0 ); 421 pa = new DesktopPowerAlerter( 0 );
421 422
422 channel = new QCopChannel( "QPE/Desktop", this ); 423 channel = new QCopChannel( "QPE/Desktop", this );
423 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), 424 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ),
424 this, SLOT( desktopMessage( const QCString&, const QByteArray& ) ) ); 425 this, SLOT( desktopMessage( const QCString&, const QByteArray& ) ) );
425 426
426 channel = new QCopChannel( "QPE/System", this ); 427 channel = new QCopChannel( "QPE/System", this );
427 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), 428 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ),
428 this, SLOT( systemMessage( const QCString&, const QByteArray& ) ) ); 429 this, SLOT( systemMessage( const QCString&, const QByteArray& ) ) );
429 430
430 m_screensaver = new QPEScreenSaver; 431 m_screensaver = new QPEScreenSaver;
431 432
432 m_screensaver-> setInterval ( -1 ); 433 m_screensaver-> setInterval ( -1 );
433 QWSServer::setScreenSaver( m_screensaver ); 434 QWSServer::setScreenSaver( m_screensaver );
434} 435}
435 436
436 437
437DesktopApplication::~DesktopApplication() 438DesktopApplication::~DesktopApplication()
438{ 439{
439 delete ps; 440 delete ps;
440 delete pa; 441 delete pa;
441} 442}
442 443
443void DesktopApplication::desktopMessage( const QCString &msg, const QByteArray &data ) 444void DesktopApplication::desktopMessage( const QCString &msg, const QByteArray &data )
444{ 445{
445 QDataStream stream( data, IO_ReadOnly ); 446 QDataStream stream( data, IO_ReadOnly );