summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/desktop.cpp20
-rw-r--r--core/launcher/screensaver.cpp14
2 files changed, 17 insertions, 17 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp
index bc43475..f2e00d8 100644
--- a/core/launcher/desktop.cpp
+++ b/core/launcher/desktop.cpp
@@ -161,140 +161,140 @@ void DesktopApplication::switchLCD ( bool on )
161 if ( dapp-> m_screensaver ) { 161 if ( dapp-> m_screensaver ) {
162 if ( on ) { 162 if ( on ) {
163 dapp-> m_screensaver-> setDisplayState ( true ); 163 dapp-> m_screensaver-> setDisplayState ( true );
164 dapp-> m_screensaver-> setBacklight ( -3 ); 164 dapp-> m_screensaver-> setBacklight ( -3 );
165 } 165 }
166 else { 166 else {
167 dapp-> m_screensaver-> setDisplayState ( false ); 167 dapp-> m_screensaver-> setDisplayState ( false );
168 } 168 }
169 } 169 }
170 } 170 }
171} 171}
172 172
173 173
174DesktopApplication::DesktopApplication( int& argc, char **argv, Type appType ) 174DesktopApplication::DesktopApplication( int& argc, char **argv, Type appType )
175 : QPEApplication( argc, argv, appType ) 175 : QPEApplication( argc, argv, appType )
176{ 176{
177 177
178 Config cfg( "apm" ); 178 Config cfg( "apm" );
179 cfg.setGroup( "Warnings" ); 179 cfg.setGroup( "Warnings" );
180 //cfg.readNumEntry( "checkinterval", 10000 ) 180 //cfg.readNumEntry( "checkinterval", 10000 )
181 m_powerVeryLow = cfg.readNumEntry( "powerverylow", 10 ); 181 m_powerVeryLow = cfg.readNumEntry( "powerverylow", 10 );
182 m_powerCritical = cfg.readNumEntry( "powercritical", 5 ); 182 m_powerCritical = cfg.readNumEntry( "powercritical", 5 );
183 183
184 m_ps = new PowerStatus; 184 m_ps = new PowerStatus;
185 m_ps_last = new PowerStatus; 185 m_ps_last = new PowerStatus;
186 pa = new DesktopPowerAlerter( 0 ); 186 pa = new DesktopPowerAlerter( 0 );
187 187
188 m_timer = new QTimer( this ); 188 m_timer = new QTimer( this );
189 connect( m_timer, SIGNAL( timeout() ), this, SLOT( apmTimeout() ) ); 189 connect( m_timer, SIGNAL( timeout() ), this, SLOT( apmTimeout() ) );
190 m_timer->start( 5000 ); 190 m_timer->start( 5000 );
191 191
192 channel = new QCopChannel( "QPE/Desktop", this ); 192 channel = new QCopChannel( "QPE/Desktop", this );
193 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), 193 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ),
194 this, SLOT( desktopMessage( const QCString&, const QByteArray& ) ) ); 194 this, SLOT( desktopMessage( const QCString&, const QByteArray& ) ) );
195 195
196 channel = new QCopChannel( "QPE/System", this ); 196 channel = new QCopChannel( "QPE/System", this );
197 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), 197 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ),
198 this, SLOT( systemMessage( const QCString&, const QByteArray& ) ) ); 198 this, SLOT( systemMessage( const QCString&, const QByteArray& ) ) );
199 199
200 m_screensaver = new OpieScreenSaver ( ); 200 m_screensaver = new OpieScreenSaver ( );
201 m_screensaver-> setInterval ( -1 ); 201 m_screensaver-> setInterval ( -1 );
202 QWSServer::setScreenSaver( m_screensaver ); 202 QWSServer::setScreenSaver( m_screensaver );
203 203
204 apmTimeout ( ); 204 apmTimeout ( );
205} 205}
206 206
207 207
208DesktopApplication::~DesktopApplication() 208DesktopApplication::~DesktopApplication()
209{ 209{
210 delete m_ps; 210 delete m_ps;
211 delete m_ps_last; 211 delete m_ps_last;
212 delete pa; 212 delete pa;
213} 213}
214 214
215void DesktopApplication::apmTimeout() 215void DesktopApplication::apmTimeout()
216{ 216{
217 qpedesktop->checkMemory(); // in case no events are being generated 217 qpedesktop->checkMemory(); // in case no events are being generated
218 218
219 *m_ps_last = *m_ps; 219 *m_ps_last = *m_ps;
220 *m_ps = PowerStatusManager::readStatus(); 220 *m_ps = PowerStatusManager::readStatus();
221 221
222 if ( m_ps-> acStatus ( ) != m_ps_last-> acStatus ( )) 222 if ( m_ps-> acStatus ( ) != m_ps_last-> acStatus ( ))
223 m_screensaver-> powerStatusChanged ( *m_ps ); 223 m_screensaver-> powerStatusChanged ( *m_ps );
224 224
225 int bat = m_ps-> batteryPercentRemaining ( ); 225 if ( m_ps-> acStatus ( ) != PowerStatus::Online ) {
226 226 int bat = m_ps-> batteryPercentRemaining ( );
227 if ( m_ps_last-> batteryPercentRemaining ( ) != bat ) { 227
228 if ( bat <= m_powerCritical ) 228 if ( bat < m_ps_last-> batteryPercentRemaining ( )) {
229 pa->alert( tr( "Battery level is critical!\nKeep power off until power restored!" ), 1 ); 229 if ( bat <= m_powerCritical )
230 else if ( bat <= m_powerVeryLow ) 230 pa->alert( tr( "Battery level is critical!\nKeep power off until power restored!" ), 1 );
231 pa->alert( tr( "Battery is running very low." ), 2 ); 231 else if ( bat <= m_powerVeryLow )
232 232 pa->alert( tr( "Battery is running very low." ), 2 );
233 233 }
234 if ( m_ps-> backupBatteryStatus ( ) == PowerStatus::VeryLow ) 234 if ( m_ps-> backupBatteryStatus ( ) == PowerStatus::VeryLow )
235 pa->alert( tr( "The Back-up battery is very low.\nPlease charge the back-up battery." ), 2 ); 235 pa->alert( tr( "The Back-up battery is very low.\nPlease charge the back-up battery." ), 2 );
236 } 236 }
237} 237}
238 238
239void DesktopApplication::desktopMessage( const QCString &msg, const QByteArray &data ) 239void DesktopApplication::desktopMessage( const QCString &msg, const QByteArray &data )
240{ 240{
241 QDataStream stream( data, IO_ReadOnly ); 241 QDataStream stream( data, IO_ReadOnly );
242 if ( msg == "keyRegister(int key, QString channel, QString message)" ) { 242 if ( msg == "keyRegister(int key, QString channel, QString message)" ) {
243 int k; 243 int k;
244 QString c, m; 244 QString c, m;
245 stream >> k; 245 stream >> k;
246 stream >> c; 246 stream >> c;
247 stream >> m; 247 stream >> m;
248 248
249 qWarning( "KeyRegisterReceived: %i, %s, %s", k, ( const char* ) c, ( const char * ) m ); 249 qWarning( "KeyRegisterReceived: %i, %s, %s", k, ( const char* ) c, ( const char * ) m );
250 keyRegisterList.append( QCopKeyRegister( k, c, m ) ); 250 keyRegisterList.append( QCopKeyRegister( k, c, m ) );
251 } 251 }
252} 252}
253 253
254 254
255void DesktopApplication::systemMessage( const QCString & msg, const QByteArray & data ) 255void DesktopApplication::systemMessage( const QCString & msg, const QByteArray & data )
256{ 256{
257 QDataStream stream ( data, IO_ReadOnly ); 257 QDataStream stream ( data, IO_ReadOnly );
258 258
259 if ( msg == "setScreenSaverInterval(int)" ) { 259 if ( msg == "setScreenSaverInterval(int)" ) {
260 int time; 260 int time;
261 stream >> time; 261 stream >> time;
262 m_screensaver-> setInterval( time ); 262 m_screensaver-> setInterval( time );
263 } 263 }
264 else if ( msg == "setScreenSaverIntervals(int,int,int)" ) { 264 else if ( msg == "setScreenSaverIntervals(int,int,int)" ) {
265 int t1, t2, t3; 265 int t1, t2, t3;
266 stream >> t1 >> t2 >> t3; 266 stream >> t1 >> t2 >> t3;
267 m_screensaver-> setIntervals( t1, t2, t3 ); 267 m_screensaver-> setIntervals( t1, t2, t3 );
268 } 268 }
269 else if ( msg == "setBacklight(int)" ) { 269 else if ( msg == "setBacklight(int)" ) {
270 int bright; 270 int bright;
271 stream >> bright; 271 stream >> bright;
272 m_screensaver-> setBacklight( bright ); 272 m_screensaver-> setBacklight( bright );
273 } 273 }
274 else if ( msg == "setScreenSaverMode(int)" ) { 274 else if ( msg == "setScreenSaverMode(int)" ) {
275 int mode; 275 int mode;
276 stream >> mode; 276 stream >> mode;
277 m_screensaver-> setMode ( mode ); 277 m_screensaver-> setMode ( mode );
278 } 278 }
279 else if ( msg == "reloadPowerWarnSettings()" ) { 279 else if ( msg == "reloadPowerWarnSettings()" ) {
280 reloadPowerWarnSettings(); 280 reloadPowerWarnSettings();
281 } 281 }
282 else if ( msg == "setDisplayState(int)" ) { 282 else if ( msg == "setDisplayState(int)" ) {
283 int state; 283 int state;
284 stream >> state; 284 stream >> state;
285 m_screensaver-> setDisplayState ( state != 0 ); 285 m_screensaver-> setDisplayState ( state != 0 );
286 } 286 }
287 else if ( msg == "suspend()" ) { 287 else if ( msg == "suspend()" ) {
288 emit power(); 288 emit power();
289 } 289 }
290} 290}
291 291
292void DesktopApplication::reloadPowerWarnSettings() { 292void DesktopApplication::reloadPowerWarnSettings() {
293 Config cfg( "apm" ); 293 Config cfg( "apm" );
294 cfg.setGroup( "Warnings" ); 294 cfg.setGroup( "Warnings" );
295 295
296 // m_timer->changeInterval( cfg.readNumEntry( "checkinterval", 10000 ) ); 296 // m_timer->changeInterval( cfg.readNumEntry( "checkinterval", 10000 ) );
297 m_powerVeryLow = cfg.readNumEntry( "powerverylow", 10 ); 297 m_powerVeryLow = cfg.readNumEntry( "powerverylow", 10 );
298 m_powerCritical = cfg.readNumEntry( "powervcritical", 5 ); 298 m_powerCritical = cfg.readNumEntry( "powervcritical", 5 );
299} 299}
300 300
diff --git a/core/launcher/screensaver.cpp b/core/launcher/screensaver.cpp
index 741591e..45da9ed 100644
--- a/core/launcher/screensaver.cpp
+++ b/core/launcher/screensaver.cpp
@@ -54,185 +54,185 @@ void OpieScreenSaver::restore()
54 ODevice::inst ( ) -> setDisplayStatus ( true ); 54 ODevice::inst ( ) -> setDisplayStatus ( true );
55 m_lcd_status = true; 55 m_lcd_status = true;
56 } 56 }
57 57
58 setBacklightInternal ( -1 ); 58 setBacklightInternal ( -1 );
59} 59}
60 60
61 61
62bool OpieScreenSaver::save( int level ) 62bool OpieScreenSaver::save( int level )
63{ 63{
64 m_level = level; 64 m_level = level;
65 65
66 switch ( level ) { 66 switch ( level ) {
67 case 0: 67 case 0:
68 if (( m_on_ac && m_enable_dim_ac ) || 68 if (( m_on_ac && m_enable_dim_ac ) ||
69 ( !m_on_ac && m_enable_dim )) { 69 ( !m_on_ac && m_enable_dim )) {
70 if (( m_disable_suspend > 0 ) && ( m_backlight_current > 1 ) && !m_use_light_sensor ) 70 if (( m_disable_suspend > 0 ) && ( m_backlight_current > 1 ) && !m_use_light_sensor )
71 setBacklightInternal ( 1 ); // lowest non-off 71 setBacklightInternal ( 1 ); // lowest non-off
72 } 72 }
73 return true; 73 return true;
74 break; 74 break;
75 75
76 case 1: 76 case 1:
77 if (( m_on_ac && m_enable_lightoff_ac ) || 77 if (( m_on_ac && m_enable_lightoff_ac ) ||
78 ( !m_on_ac && m_enable_lightoff )) { 78 ( !m_on_ac && m_enable_lightoff )) {
79 if ( m_disable_suspend > 1 ) 79 if ( m_disable_suspend > 1 )
80 setBacklightInternal ( 0 ); // off 80 setBacklightInternal ( 0 ); // off
81 } 81 }
82 return true; 82 return true;
83 break; 83 break;
84 84
85 case 2: 85 case 2:
86 if (( m_on_ac && !m_enable_suspend_ac ) || 86 if (( m_on_ac && !m_enable_suspend_ac ) ||
87 ( !m_on_ac && !m_enable_suspend )) { 87 ( !m_on_ac && !m_enable_suspend )) {
88 return true; 88 return true;
89 } 89 }
90 90
91 if (( m_on_ac && m_onlylcdoff_ac ) || 91 if (( m_on_ac && m_onlylcdoff_ac ) ||
92 ( !m_on_ac && m_onlylcdoff )) { 92 ( !m_on_ac && m_onlylcdoff )) {
93 ODevice::inst ( ) -> setDisplayStatus ( false ); 93 ODevice::inst ( ) -> setDisplayStatus ( false );
94 m_lcd_status = false; 94 m_lcd_status = false;
95 return true; 95 return true;
96 } 96 }
97 97
98 // We're going to suspend the whole machine 98 // We're going to suspend the whole machine
99 99
100 if (( m_disable_suspend > 2 ) && !Network::networkOnline ( )) { 100 if (( m_disable_suspend > 2 ) && !Network::networkOnline ( )) {
101 QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE ); 101 QWSServer::sendKeyEvent( 0xffff, Qt::Key_F34, FALSE, TRUE, FALSE );
102 return true; 102 return true;
103 } 103 }
104 104
105 break; 105 break;
106 } 106 }
107 return false; 107 return false;
108} 108}
109 109
110 110
111void OpieScreenSaver::setIntervals ( int i1, int i2, int i3 ) 111void OpieScreenSaver::setIntervals ( int i1, int i2, int i3 )
112{ 112{
113 Config config ( "apm" ); 113 Config config ( "apm" );
114 config. setGroup ( m_on_ac ? "AC" : "Battery" ); 114 config. setGroup ( m_on_ac ? "AC" : "Battery" );
115 115
116 int v[ 4 ]; 116 int v[ 4 ];
117 if ( i1 < 0 ) 117 if ( i1 < 0 )
118 i1 = config. readNumEntry ( "Dim", 30 ); 118 i1 = config. readNumEntry ( "Dim", m_on_ac ? 60 : 30 );
119 if ( i2 < 0 ) 119 if ( i2 < 0 )
120 i2 = config. readNumEntry ( "LightOff", 20 ); 120 i2 = config. readNumEntry ( "LightOff", m_on_ac ? 120 : 20 );
121 if ( i3 < 0 ) 121 if ( i3 < 0 )
122 i3 = config. readNumEntry ( "Suspend", 60 ); 122 i3 = config. readNumEntry ( "Suspend", m_on_ac ? 0 : 60 );
123 123
124 if ( m_on_ac ) { 124 if ( m_on_ac ) {
125 m_enable_dim_ac = ( i1 > 0 ); 125 m_enable_dim_ac = ( i1 > 0 );
126 m_enable_lightoff_ac = ( i2 > 0 ); 126 m_enable_lightoff_ac = ( i2 > 0 );
127 m_enable_suspend_ac = ( i3 > 0 ); 127 m_enable_suspend_ac = ( i3 > 0 );
128 m_onlylcdoff_ac = config.readNumEntry ( "LcdOffOnly", 0 ); 128 m_onlylcdoff_ac = config.readBoolEntry ( "LcdOffOnly", false );
129 } 129 }
130 else { 130 else {
131 m_enable_dim = ( i1 > 0 ); 131 m_enable_dim = ( i1 > 0 );
132 m_enable_lightoff = ( i2 > 0 ); 132 m_enable_lightoff = ( i2 > 0 );
133 m_enable_suspend = ( i3 > 0 ); 133 m_enable_suspend = ( i3 > 0 );
134 m_onlylcdoff = config.readNumEntry ( "LcdOffOnly", 0 ); 134 m_onlylcdoff = config.readBoolEntry ( "LcdOffOnly", false );
135 } 135 }
136 136
137 qDebug("screen saver intervals: %d %d %d", i1, i2, i3); 137 qDebug("screen saver intervals: %d %d %d", i1, i2, i3);
138 138
139 v [ 0 ] = QMAX( 1000 * i1, 100 ); 139 v [ 0 ] = QMAX( 1000 * i1, 100 );
140 v [ 1 ] = QMAX( 1000 * i2, 100 ); 140 v [ 1 ] = QMAX( 1000 * i2, 100 );
141 v [ 2 ] = QMAX( 1000 * i3, 100 ); 141 v [ 2 ] = QMAX( 1000 * i3, 100 );
142 v [ 3 ] = 0; 142 v [ 3 ] = 0;
143 143
144 if ( !i1 && !i2 && !i3 ) 144 if ( !i1 && !i2 && !i3 )
145 QWSServer::setScreenSaverInterval( 0 ); 145 QWSServer::setScreenSaverInterval( 0 );
146 else 146 else
147 QWSServer::setScreenSaverIntervals( v ); 147 QWSServer::setScreenSaverIntervals( v );
148} 148}
149 149
150 150
151void OpieScreenSaver::setInterval ( int interval ) 151void OpieScreenSaver::setInterval ( int interval )
152{ 152{
153 setIntervals ( -1, -1, interval ); 153 setIntervals ( -1, -1, interval );
154} 154}
155 155
156 156
157void OpieScreenSaver::setMode ( int mode ) 157void OpieScreenSaver::setMode ( int mode )
158{ 158{
159 if ( mode > m_disable_suspend ) 159 if ( mode > m_disable_suspend )
160 setInterval ( -1 ); 160 setInterval ( -1 );
161 m_disable_suspend = mode; 161 m_disable_suspend = mode;
162} 162}
163 163
164 164
165void OpieScreenSaver::setBacklight ( int bright ) 165void OpieScreenSaver::setBacklight ( int bright )
166{ 166{
167 // Read from config 167 // Read from config
168 Config config ( "apm" ); 168 Config config ( "apm" );
169 config. setGroup ( m_on_ac ? "AC" : "Battery" ); 169 config. setGroup ( m_on_ac ? "AC" : "Battery" );
170 m_backlight_normal = config. readNumEntry ( "Brightness", 255 ); 170 m_backlight_normal = config. readNumEntry ( "Brightness", m_on_ac ? 255 : 127 );
171 171
172 m_use_light_sensor = config. readBoolEntry ( "LightSensor", false ); 172 m_use_light_sensor = config. readBoolEntry ( "LightSensor", false );
173 173
174 qDebug ( "setBacklight: %d (ls: %d)", m_backlight_normal, m_use_light_sensor ? 1 : 0 ); 174 //qDebug ( "setBacklight: %d (ls: %d)", m_backlight_normal, m_use_light_sensor ? 1 : 0 );
175 175
176 killTimers ( ); 176 killTimers ( );
177 if ( m_use_light_sensor ) { 177 if ( m_use_light_sensor ) {
178 QStringList sl = config. readListEntry ( "LightSensorData", ';' ); 178 QStringList sl = config. readListEntry ( "LightSensorData", ';' );
179 179
180 m_sensordata [LS_SensorMin] = 40; 180 m_sensordata [LS_SensorMin] = 40;
181 m_sensordata [LS_SensorMax] = 215; 181 m_sensordata [LS_SensorMax] = 215;
182 m_sensordata [LS_LightMin] = 1; 182 m_sensordata [LS_LightMin] = 1;
183 m_sensordata [LS_LightMax] = 255; 183 m_sensordata [LS_LightMax] = 255;
184 m_sensordata [LS_Steps] = 12; 184 m_sensordata [LS_Steps] = 12;
185 m_sensordata [LS_Interval] = 2000; 185 m_sensordata [LS_Interval] = 2000;
186 186
187 for ( uint i = 0; i < LS_Count; i++ ) { 187 for ( uint i = 0; i < LS_Count; i++ ) {
188 if ( i < sl. count ( )) 188 if ( i < sl. count ( ))
189 m_sensordata [i] = sl [i]. toInt ( ); 189 m_sensordata [i] = sl [i]. toInt ( );
190 } 190 }
191 191
192 timerEvent ( 0 ); 192 timerEvent ( 0 );
193 startTimer ( m_sensordata [LS_Interval] ); 193 startTimer ( m_sensordata [LS_Interval] );
194 } 194 }
195 195
196 setBacklightInternal ( bright ); 196 setBacklightInternal ( bright );
197} 197}
198 198
199 199
200void OpieScreenSaver::setBacklightInternal ( int bright ) 200void OpieScreenSaver::setBacklightInternal ( int bright )
201{ 201{
202 if ( bright == -3 ) { 202 if ( bright == -3 ) {
203 // Forced on 203 // Forced on
204 m_backlight_forcedoff = false; 204 m_backlight_forcedoff = false;
205 bright = -1; 205 bright = -1;
206 } 206 }
207 if ( m_backlight_forcedoff && bright != -2 ) 207 if ( m_backlight_forcedoff && bright != -2 )
208 return ; 208 return ;
209 if ( bright == -2 ) { 209 if ( bright == -2 ) {
210 // Toggle between off and on 210 // Toggle between off and on
211 bright = m_backlight_current ? 0 : -1; 211 bright = m_backlight_current ? 0 : -1;
212 m_backlight_forcedoff = !bright; 212 m_backlight_forcedoff = !bright;
213 } 213 }
214 if ( bright == -1 ) 214 if ( bright == -1 )
215 bright = m_use_light_sensor ? m_backlight_sensor : m_backlight_normal; 215 bright = m_use_light_sensor ? m_backlight_sensor : m_backlight_normal;
216 216
217 if ( bright != m_backlight_current ) { 217 if ( bright != m_backlight_current ) {
218 ODevice::inst ( )-> setDisplayBrightness ( bright ); 218 ODevice::inst ( )-> setDisplayBrightness ( bright );
219 m_backlight_current = bright; 219 m_backlight_current = bright;
220 } 220 }
221} 221}
222 222
223 223
224void OpieScreenSaver::timerEvent ( QTimerEvent * ) 224void OpieScreenSaver::timerEvent ( QTimerEvent * )
225{ 225{
226 int s = ODevice::inst ( )-> readLightSensor ( ); 226 int s = ODevice::inst ( )-> readLightSensor ( );
227 227
228 if ( s < m_sensordata [LS_SensorMin] ) 228 if ( s < m_sensordata [LS_SensorMin] )
229 m_backlight_sensor = m_sensordata [LS_LightMax]; 229 m_backlight_sensor = m_sensordata [LS_LightMax];
230 else if ( s >= m_sensordata [LS_SensorMax] ) 230 else if ( s >= m_sensordata [LS_SensorMax] )
231 m_backlight_sensor = m_sensordata [LS_LightMin]; 231 m_backlight_sensor = m_sensordata [LS_LightMin];
232 else { 232 else {
233 int dx = m_sensordata [LS_SensorMax] - m_sensordata [LS_SensorMin]; 233 int dx = m_sensordata [LS_SensorMax] - m_sensordata [LS_SensorMin];
234 int dy = m_sensordata [LS_LightMax] - m_sensordata [LS_LightMin]; 234 int dy = m_sensordata [LS_LightMax] - m_sensordata [LS_LightMin];
235 235
236 int stepno = ( s - m_sensordata [LS_SensorMin] ) * m_sensordata [LS_Steps] / dx; 236 int stepno = ( s - m_sensordata [LS_SensorMin] ) * m_sensordata [LS_Steps] / dx;
237 237
238 m_backlight_sensor = m_sensordata [LS_LightMax] - dy * stepno / ( m_sensordata [LS_Steps] - 1 ); 238 m_backlight_sensor = m_sensordata [LS_LightMax] - dy * stepno / ( m_sensordata [LS_Steps] - 1 );