summaryrefslogtreecommitdiff
authorsandman <sandman>2002-12-29 18:41:55 (UTC)
committer sandman <sandman>2002-12-29 18:41:55 (UTC)
commit7c3dceb16d9007e2c36b2b83e2a499cda3411138 (patch) (unidiff)
tree78a0945be9233099ca7e5e4e01d8b78364f009cb
parentf8673391881545af514054babe47fdc162770a72 (diff)
downloadopie-7c3dceb16d9007e2c36b2b83e2a499cda3411138.zip
opie-7c3dceb16d9007e2c36b2b83e2a499cda3411138.tar.gz
opie-7c3dceb16d9007e2c36b2b83e2a499cda3411138.tar.bz2
Power warning changes:
- interval can now be in the range (0 [Never] ... 300 [5min] ) - some code cleanup in the launcher
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/desktop.cpp34
-rw-r--r--core/launcher/desktop.h2
-rw-r--r--core/settings/light-and-power/lightsettingsbase.ui20
3 files changed, 35 insertions, 21 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp
index fa9736f..03a23dc 100644
--- a/core/launcher/desktop.cpp
+++ b/core/launcher/desktop.cpp
@@ -1,841 +1,839 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "desktop.h" 21#include "desktop.h"
22#include "info.h" 22#include "info.h"
23#include "launcher.h" 23#include "launcher.h"
24#include "qcopbridge.h" 24#include "qcopbridge.h"
25#include "shutdownimpl.h" 25#include "shutdownimpl.h"
26#include "startmenu.h" 26#include "startmenu.h"
27#include "taskbar.h" 27#include "taskbar.h"
28#include "transferserver.h" 28#include "transferserver.h"
29#include "irserver.h" 29#include "irserver.h"
30#include "packageslave.h" 30#include "packageslave.h"
31#include "screensaver.h" 31#include "screensaver.h"
32 32
33#include <qpe/applnk.h> 33#include <qpe/applnk.h>
34#include <qpe/mimetype.h> 34#include <qpe/mimetype.h>
35#include <qpe/password.h> 35#include <qpe/password.h>
36#include <qpe/config.h> 36#include <qpe/config.h>
37#include <qpe/power.h> 37#include <qpe/power.h>
38#include <qpe/timeconversion.h> 38#include <qpe/timeconversion.h>
39#include <qpe/qcopenvelope_qws.h> 39#include <qpe/qcopenvelope_qws.h>
40#include <qpe/network.h> 40#include <qpe/network.h>
41#include <qpe/global.h> 41#include <qpe/global.h>
42 42
43#if defined( QT_QWS_SHARP ) || defined( QT_QWS_IPAQ ) 43#if defined( QT_QWS_SHARP ) || defined( QT_QWS_IPAQ )
44#include <qpe/custom.h> 44#include <qpe/custom.h>
45#endif 45#endif
46 46
47#include <opie/odevice.h> 47#include <opie/odevice.h>
48 48
49#include <qgfx_qws.h> 49#include <qgfx_qws.h>
50#include <qmainwindow.h> 50#include <qmainwindow.h>
51#include <qmessagebox.h> 51#include <qmessagebox.h>
52#include <qtimer.h> 52#include <qtimer.h>
53#include <qwindowsystem_qws.h> 53#include <qwindowsystem_qws.h>
54 54
55#include <qvaluelist.h> 55#include <qvaluelist.h>
56 56
57#include <stdlib.h> 57#include <stdlib.h>
58#include <unistd.h> 58#include <unistd.h>
59#include <fcntl.h> 59#include <fcntl.h>
60 60
61 61
62using namespace Opie; 62using namespace Opie;
63 63
64class QCopKeyRegister 64class QCopKeyRegister
65{ 65{
66public: 66public:
67 QCopKeyRegister() : keyCode( 0 ) 67 QCopKeyRegister() : keyCode( 0 )
68 { } 68 { }
69 QCopKeyRegister( int k, const QCString &c, const QCString &m ) 69 QCopKeyRegister( int k, const QCString &c, const QCString &m )
70 : keyCode( k ), channel( c ), message( m ) 70 : keyCode( k ), channel( c ), message( m )
71 { } 71 { }
72 72
73 int getKeyCode() const 73 int getKeyCode() const
74 { 74 {
75 return keyCode; 75 return keyCode;
76 } 76 }
77 QCString getChannel() const 77 QCString getChannel() const
78 { 78 {
79 return channel; 79 return channel;
80 } 80 }
81 QCString getMessage() const 81 QCString getMessage() const
82 { 82 {
83 return message; 83 return message;
84 } 84 }
85 85
86private: 86private:
87 int keyCode; 87 int keyCode;
88 QCString channel, message; 88 QCString channel, message;
89}; 89};
90 90
91typedef QValueList<QCopKeyRegister> KeyRegisterList; 91typedef QValueList<QCopKeyRegister> KeyRegisterList;
92KeyRegisterList keyRegisterList; 92KeyRegisterList keyRegisterList;
93 93
94static Desktop* qpedesktop = 0; 94static Desktop* qpedesktop = 0;
95static int loggedin = 0; 95static int loggedin = 0;
96static void login( bool at_poweron ) 96static void login( bool at_poweron )
97{ 97{
98 if ( !loggedin ) { 98 if ( !loggedin ) {
99 Global::terminateBuiltin( "calibrate" ); 99 Global::terminateBuiltin( "calibrate" );
100 Password::authenticate( at_poweron ); 100 Password::authenticate( at_poweron );
101 loggedin = 1; 101 loggedin = 1;
102 QCopEnvelope e( "QPE/Desktop", "unlocked()" ); 102 QCopEnvelope e( "QPE/Desktop", "unlocked()" );
103 } 103 }
104} 104}
105 105
106bool Desktop::screenLocked() 106bool Desktop::screenLocked()
107{ 107{
108 return loggedin == 0; 108 return loggedin == 0;
109} 109}
110 110
111/* 111/*
112 Priority is number of alerts that are needed to pop up 112 Priority is number of alerts that are needed to pop up
113 alert. 113 alert.
114 */ 114 */
115class DesktopPowerAlerter : public QMessageBox 115class DesktopPowerAlerter : public QMessageBox
116{ 116{
117public: 117public:
118 DesktopPowerAlerter( QWidget *parent, const char *name = 0 ) 118 DesktopPowerAlerter( QWidget *parent, const char *name = 0 )
119 : QMessageBox( tr( "Battery Status" ), "Low Battery", 119 : QMessageBox( tr( "Battery Status" ), "Low Battery",
120 QMessageBox::Critical, 120 QMessageBox::Critical,
121 QMessageBox::Ok | QMessageBox::Default, 121 QMessageBox::Ok | QMessageBox::Default,
122 QMessageBox::NoButton, QMessageBox::NoButton, 122 QMessageBox::NoButton, QMessageBox::NoButton,
123 parent, name, FALSE ) 123 parent, name, FALSE )
124 { 124 {
125 currentPriority = INT_MAX; 125 currentPriority = INT_MAX;
126 alertCount = 0; 126 alertCount = 0;
127 } 127 }
128 128
129 void alert( const QString &text, int priority ); 129 void alert( const QString &text, int priority );
130 void hideEvent( QHideEvent * ); 130 void hideEvent( QHideEvent * );
131private: 131private:
132 int currentPriority; 132 int currentPriority;
133 int alertCount; 133 int alertCount;
134}; 134};
135 135
136void DesktopPowerAlerter::alert( const QString &text, int priority ) 136void DesktopPowerAlerter::alert( const QString &text, int priority )
137{ 137{
138 alertCount++; 138 alertCount++;
139 if ( alertCount < priority ) 139 if ( alertCount < priority )
140 return ; 140 return ;
141 if ( priority > currentPriority ) 141 if ( priority > currentPriority )
142 return ; 142 return ;
143 currentPriority = priority; 143 currentPriority = priority;
144 setText( text ); 144 setText( text );
145 show(); 145 show();
146} 146}
147 147
148 148
149void DesktopPowerAlerter::hideEvent( QHideEvent *e ) 149void DesktopPowerAlerter::hideEvent( QHideEvent *e )
150{ 150{
151 QMessageBox::hideEvent( e ); 151 QMessageBox::hideEvent( e );
152 alertCount = 0; 152 alertCount = 0;
153 currentPriority = INT_MAX; 153 currentPriority = INT_MAX;
154} 154}
155 155
156 156
157void DesktopApplication::switchLCD ( bool on ) 157void DesktopApplication::switchLCD ( bool on )
158{ 158{
159 if ( qApp ) { 159 if ( qApp ) {
160 DesktopApplication *dapp = (DesktopApplication *) qApp; 160 DesktopApplication *dapp = (DesktopApplication *) qApp;
161 161
162 if ( dapp-> m_screensaver ) { 162 if ( dapp-> m_screensaver ) {
163 if ( on ) { 163 if ( on ) {
164 dapp-> m_screensaver-> setDisplayState ( true ); 164 dapp-> m_screensaver-> setDisplayState ( true );
165 dapp-> m_screensaver-> setBacklight ( -3 ); 165 dapp-> m_screensaver-> setBacklight ( -3 );
166 } 166 }
167 else { 167 else {
168 dapp-> m_screensaver-> setDisplayState ( false ); 168 dapp-> m_screensaver-> setDisplayState ( false );
169 } 169 }
170 } 170 }
171 } 171 }
172} 172}
173 173
174 174
175DesktopApplication::DesktopApplication( int& argc, char **argv, Type appType ) 175DesktopApplication::DesktopApplication( int& argc, char **argv, Type appType )
176 : QPEApplication( argc, argv, appType ) 176 : QPEApplication( argc, argv, appType )
177{ 177{
178
179 Config cfg( "apm" );
180 cfg.setGroup( "Warnings" );
181 //cfg.readNumEntry( "checkinterval", 10000 )
182 m_powerVeryLow = cfg.readNumEntry( "powerverylow", 10 );
183 m_powerCritical = cfg.readNumEntry( "powercritical", 5 );
184
185 m_ps = new PowerStatus; 178 m_ps = new PowerStatus;
186 m_ps_last = new PowerStatus; 179 m_ps_last = new PowerStatus;
187 pa = new DesktopPowerAlerter( 0 ); 180 pa = new DesktopPowerAlerter( 0 );
188 181
189 m_timer = new QTimer( this ); 182 m_apm_timer = new QTimer ( this );
190 connect( m_timer, SIGNAL( timeout() ), this, SLOT( apmTimeout() ) ); 183 connect ( m_apm_timer, SIGNAL( timeout ( )), this, SLOT( apmTimeout ( )));
191 m_timer->start( 5000 ); 184 reloadPowerWarnSettings ( );
192 185
193 m_last_button = 0; 186 m_last_button = 0;
194 m_button_timer = new QTimer ( ); 187 m_button_timer = new QTimer ( );
195 connect ( m_button_timer, SIGNAL( timeout ( )), this, SLOT( sendHeldAction ( ))); 188 connect ( m_button_timer, SIGNAL( timeout ( )), this, SLOT( sendHeldAction ( )));
196 189
197 channel = new QCopChannel( "QPE/System", this ); 190 channel = new QCopChannel( "QPE/System", this );
198 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), 191 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ),
199 this, SLOT( systemMessage( const QCString&, const QByteArray& ) ) ); 192 this, SLOT( systemMessage( const QCString&, const QByteArray& ) ) );
200 193
201 channel = new QCopChannel( "QPE/Launcher", this ); 194 channel = new QCopChannel( "QPE/Launcher", this );
202 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ), 195 connect( channel, SIGNAL( received( const QCString&, const QByteArray& ) ),
203 this, SLOT( launcherMessage( const QCString&, const QByteArray& ) ) ); 196 this, SLOT( launcherMessage( const QCString&, const QByteArray& ) ) );
204 197
205 m_screensaver = new OpieScreenSaver ( ); 198 m_screensaver = new OpieScreenSaver ( );
206 m_screensaver-> setInterval ( -1 ); 199 m_screensaver-> setInterval ( -1 );
207 QWSServer::setScreenSaver( m_screensaver ); 200 QWSServer::setScreenSaver( m_screensaver );
208 201
209 rereadVolumes(); 202 rereadVolumes();
210 connect( qApp, SIGNAL( volumeChanged( bool ) ), this, SLOT( rereadVolumes() ) ); 203 connect( qApp, SIGNAL( volumeChanged( bool ) ), this, SLOT( rereadVolumes() ) );
211 204
212 apmTimeout ( ); 205 apmTimeout ( );
213 206
214 grabKeyboard ( ); 207 grabKeyboard ( );
215} 208}
216 209
217 210
218DesktopApplication::~DesktopApplication() 211DesktopApplication::~DesktopApplication()
219{ 212{
220 ungrabKeyboard ( ); 213 ungrabKeyboard ( );
221 214
222 delete m_ps; 215 delete m_ps;
223 delete m_ps_last; 216 delete m_ps_last;
224 delete pa; 217 delete pa;
225} 218}
226 219
227void DesktopApplication::apmTimeout() 220void DesktopApplication::apmTimeout()
228{ 221{
229 qpedesktop->checkMemory(); // in case no events are being generated 222 qpedesktop-> checkMemory ( ); // in case no events are being generated
230 223
231 *m_ps_last = *m_ps; 224 *m_ps_last = *m_ps;
232 *m_ps = PowerStatusManager::readStatus(); 225 *m_ps = PowerStatusManager::readStatus();
233 226
234 if ( m_ps-> acStatus ( ) != m_ps_last-> acStatus ( )) 227 if ( m_ps-> acStatus ( ) != m_ps_last-> acStatus ( ))
235 m_screensaver-> powerStatusChanged ( *m_ps ); 228 m_screensaver-> powerStatusChanged ( *m_ps );
236 229
237 if ( m_ps-> acStatus ( ) != PowerStatus::Online ) { 230 if ( m_ps-> acStatus ( ) != PowerStatus::Online ) {
238 int bat = m_ps-> batteryPercentRemaining ( ); 231 int bat = m_ps-> batteryPercentRemaining ( );
239 232
240 if ( bat < m_ps_last-> batteryPercentRemaining ( )) { 233 if ( bat < m_ps_last-> batteryPercentRemaining ( )) {
241 if ( bat <= m_powerCritical ) 234 if ( bat <= m_powerCritical )
242 pa->alert( tr( "Battery level is critical!\nKeep power off until power restored!" ), 1 ); 235 pa->alert( tr( "Battery level is critical!\nKeep power off until power restored!" ), 1 );
243 else if ( bat <= m_powerVeryLow ) 236 else if ( bat <= m_powerVeryLow )
244 pa->alert( tr( "Battery is running very low." ), 2 ); 237 pa->alert( tr( "Battery is running very low." ), 2 );
245 } 238 }
246 if ( m_ps-> backupBatteryStatus ( ) == PowerStatus::VeryLow ) 239 if ( m_ps-> backupBatteryStatus ( ) == PowerStatus::VeryLow )
247 pa->alert( tr( "The Back-up battery is very low.\nPlease charge the back-up battery." ), 2 ); 240 pa->alert( tr( "The Back-up battery is very low.\nPlease charge the back-up battery." ), 2 );
248 } 241 }
249} 242}
250 243
251 244
252void DesktopApplication::systemMessage( const QCString & msg, const QByteArray & data ) 245void DesktopApplication::systemMessage( const QCString & msg, const QByteArray & data )
253{ 246{
254 QDataStream stream ( data, IO_ReadOnly ); 247 QDataStream stream ( data, IO_ReadOnly );
255 248
256 if ( msg == "setScreenSaverInterval(int)" ) { 249 if ( msg == "setScreenSaverInterval(int)" ) {
257 int time; 250 int time;
258 stream >> time; 251 stream >> time;
259 m_screensaver-> setInterval( time ); 252 m_screensaver-> setInterval( time );
260 } 253 }
261 else if ( msg == "setScreenSaverIntervals(int,int,int)" ) { 254 else if ( msg == "setScreenSaverIntervals(int,int,int)" ) {
262 int t1, t2, t3; 255 int t1, t2, t3;
263 stream >> t1 >> t2 >> t3; 256 stream >> t1 >> t2 >> t3;
264 m_screensaver-> setIntervals( t1, t2, t3 ); 257 m_screensaver-> setIntervals( t1, t2, t3 );
265 } 258 }
266 else if ( msg == "setBacklight(int)" ) { 259 else if ( msg == "setBacklight(int)" ) {
267 int bright; 260 int bright;
268 stream >> bright; 261 stream >> bright;
269 m_screensaver-> setBacklight( bright ); 262 m_screensaver-> setBacklight( bright );
270 } 263 }
271 else if ( msg == "setScreenSaverMode(int)" ) { 264 else if ( msg == "setScreenSaverMode(int)" ) {
272 int mode; 265 int mode;
273 stream >> mode; 266 stream >> mode;
274 m_screensaver-> setMode ( mode ); 267 m_screensaver-> setMode ( mode );
275 } 268 }
276 else if ( msg == "reloadPowerWarnSettings()" ) { 269 else if ( msg == "reloadPowerWarnSettings()" ) {
277 reloadPowerWarnSettings(); 270 reloadPowerWarnSettings();
278 } 271 }
279 else if ( msg == "setDisplayState(int)" ) { 272 else if ( msg == "setDisplayState(int)" ) {
280 int state; 273 int state;
281 stream >> state; 274 stream >> state;
282 m_screensaver-> setDisplayState ( state != 0 ); 275 m_screensaver-> setDisplayState ( state != 0 );
283 } 276 }
284 else if ( msg == "suspend()" ) { 277 else if ( msg == "suspend()" ) {
285 emit power(); 278 emit power();
286 } 279 }
287 else if ( msg == "sendBusinessCard()" ) { 280 else if ( msg == "sendBusinessCard()" ) {
288 QString card = ::getenv ( "HOME" ); 281 QString card = ::getenv ( "HOME" );
289 card += "/Applications/addressbook/businesscard.vcf"; 282 card += "/Applications/addressbook/businesscard.vcf";
290 283
291 if ( QFile::exists( card ) ) { 284 if ( QFile::exists( card ) ) {
292 QCopEnvelope e ( "QPE/Obex", "send(QString,QString,QString)" ); 285 QCopEnvelope e ( "QPE/Obex", "send(QString,QString,QString)" );
293 QString mimetype = "text/x-vCard"; 286 QString mimetype = "text/x-vCard";
294 e << tr( "business card" ) << card << mimetype; 287 e << tr( "business card" ) << card << mimetype;
295 } 288 }
296 } 289 }
297} 290}
298 291
299void DesktopApplication::reloadPowerWarnSettings() 292void DesktopApplication::reloadPowerWarnSettings ( )
300{ 293{
301 Config cfg( "apm" ); 294 Config cfg ( "apm" );
302 cfg.setGroup( "Warnings" ); 295 cfg. setGroup ( "Warnings" );
303 296
304 // m_timer->changeInterval( cfg.readNumEntry( "checkinterval", 10000 ) ); 297 int iv = cfg. readNumEntry ( "checkinterval", 10000 );
305 m_powerVeryLow = cfg.readNumEntry( "powerverylow", 10 ); 298
306 m_powerCritical = cfg.readNumEntry( "powervcritical", 5 ); 299 m_apm_timer-> stop ( );
300 if ( iv )
301 m_apm_timer-> start ( iv );
302
303 m_powerVeryLow = cfg. readNumEntry ( "powerverylow", 10 );
304 m_powerCritical = cfg. readNumEntry ( "powervcritical", 5 );
307} 305}
308 306
309 307
310enum MemState { Unknown, VeryLow, Low, Normal } memstate = Unknown; 308enum MemState { Unknown, VeryLow, Low, Normal } memstate = Unknown;
311 309
312 310
313void DesktopApplication::launcherMessage( const QCString & msg, const QByteArray & data ) 311void DesktopApplication::launcherMessage( const QCString & msg, const QByteArray & data )
314{ 312{
315 QDataStream stream ( data, IO_ReadOnly ); 313 QDataStream stream ( data, IO_ReadOnly );
316 314
317 if ( msg == "deviceButton(int,int,int)" ) { 315 if ( msg == "deviceButton(int,int,int)" ) {
318 int keycode, press, autoRepeat; 316 int keycode, press, autoRepeat;
319 stream >> keycode >> press >> autoRepeat; 317 stream >> keycode >> press >> autoRepeat;
320 318
321 const ODeviceButton *db = ODevice::inst ( )-> buttonForKeycode ( keycode ); 319 const ODeviceButton *db = ODevice::inst ( )-> buttonForKeycode ( keycode );
322 320
323 if ( db ) 321 if ( db )
324 checkButtonAction ( db, keycode, press, autoRepeat ); 322 checkButtonAction ( db, keycode, press, autoRepeat );
325 } 323 }
326 else if ( msg == "keyRegister(int,QCString,QCString)" ) { 324 else if ( msg == "keyRegister(int,QCString,QCString)" ) {
327 int k; 325 int k;
328 QCString c, m; 326 QCString c, m;
329 stream >> k >> c >> m; 327 stream >> k >> c >> m;
330 328
331 keyRegisterList.append ( QCopKeyRegister ( k, c, m )); 329 keyRegisterList.append ( QCopKeyRegister ( k, c, m ));
332 } 330 }
333} 331}
334 332
335void DesktopApplication::sendHeldAction ( ) 333void DesktopApplication::sendHeldAction ( )
336{ 334{
337 if ( m_last_button ) { 335 if ( m_last_button ) {
338 m_last_button-> heldAction ( ). send ( ); 336 m_last_button-> heldAction ( ). send ( );
339 m_last_button = 0; 337 m_last_button = 0;
340 } 338 }
341} 339}
342 340
343 341
344 342
345void DesktopApplication::checkButtonAction ( const ODeviceButton *db, int keycode, bool press, bool autoRepeat ) 343void DesktopApplication::checkButtonAction ( const ODeviceButton *db, int /*keycode*/, bool press, bool autoRepeat )
346 { 344 {
347 if ( db ) { 345 if ( db ) {
348 if ( !press && !autoRepeat && m_button_timer-> isActive ( )) { 346 if ( !press && !autoRepeat && m_button_timer-> isActive ( )) {
349 m_button_timer-> stop ( ); 347 m_button_timer-> stop ( );
350 if ( !db-> pressedAction ( ). channel ( ). isEmpty ( )) { 348 if ( !db-> pressedAction ( ). channel ( ). isEmpty ( )) {
351 db-> pressedAction ( ). send ( ); 349 db-> pressedAction ( ). send ( );
352 } 350 }
353 } 351 }
354 else if ( press && !autoRepeat ) { 352 else if ( press && !autoRepeat ) {
355 m_button_timer-> stop ( ); 353 m_button_timer-> stop ( );
356 354
357 if ( !db-> heldAction ( ). channel ( ). isEmpty ( )) { 355 if ( !db-> heldAction ( ). channel ( ). isEmpty ( )) {
358 m_last_button = db; 356 m_last_button = db;
359 m_button_timer-> start ( ODevice::inst ( )-> buttonHoldTime ( ), true ); 357 m_button_timer-> start ( ODevice::inst ( )-> buttonHoldTime ( ), true );
360 } 358 }
361 } 359 }
362 } 360 }
363} 361}
364 362
365bool DesktopApplication::eventFilter ( QObject *o, QEvent *e ) 363bool DesktopApplication::eventFilter ( QObject *o, QEvent *e )
366{ 364{
367 if ( e-> type ( ) == QEvent::KeyPress || e-> type ( ) == QEvent::KeyRelease ) { 365 if ( e-> type ( ) == QEvent::KeyPress || e-> type ( ) == QEvent::KeyRelease ) {
368 QKeyEvent *ke = (QKeyEvent *) e; 366 QKeyEvent *ke = (QKeyEvent *) e;
369 367
370 const ODeviceButton *db = ODevice::inst ( )-> buttonForKeycode ( ke-> key ( )); 368 const ODeviceButton *db = ODevice::inst ( )-> buttonForKeycode ( ke-> key ( ));
371 369
372 if ( db ) { 370 if ( db ) {
373 checkButtonAction ( db, ke-> key ( ), e-> type ( ) == QEvent::KeyPress, ke-> isAutoRepeat ( )); 371 checkButtonAction ( db, ke-> key ( ), e-> type ( ) == QEvent::KeyPress, ke-> isAutoRepeat ( ));
374 return true; 372 return true;
375 } 373 }
376 } 374 }
377 return QPEApplication::eventFilter ( o, e ); 375 return QPEApplication::eventFilter ( o, e );
378} 376}
379 377
380#ifdef Q_WS_QWS 378#ifdef Q_WS_QWS
381 379
382bool DesktopApplication::qwsEventFilter( QWSEvent *e ) 380bool DesktopApplication::qwsEventFilter( QWSEvent *e )
383{ 381{
384 qpedesktop->checkMemory(); 382 qpedesktop->checkMemory();
385 383
386 if ( e->type == QWSEvent::Key ) { 384 if ( e->type == QWSEvent::Key ) {
387 QWSKeyEvent * ke = (QWSKeyEvent *) e; 385 QWSKeyEvent * ke = (QWSKeyEvent *) e;
388 ushort keycode = ke-> simpleData. keycode; 386 ushort keycode = ke-> simpleData. keycode;
389 387
390 if ( !loggedin && keycode != Key_F34 ) 388 if ( !loggedin && keycode != Key_F34 )
391 return true; 389 return true;
392 390
393 bool press = ke-> simpleData. is_press; 391 bool press = ke-> simpleData. is_press;
394 bool autoRepeat = ke-> simpleData. is_auto_repeat; 392 bool autoRepeat = ke-> simpleData. is_auto_repeat;
395 393
396 if ( !keyboardGrabbed ( )) { 394 if ( !keyboardGrabbed ( )) {
397 // app that registers key/message to be sent back to the app, when it doesn't have focus, 395 // app that registers key/message to be sent back to the app, when it doesn't have focus,
398 // when user presses key, unless keyboard has been requested from app. 396 // when user presses key, unless keyboard has been requested from app.
399 // will not send multiple repeats if user holds key 397 // will not send multiple repeats if user holds key
400 // i.e. one shot 398 // i.e. one shot
401 399
402 if ( keycode != 0 && press && !autoRepeat ) { 400 if ( keycode != 0 && press && !autoRepeat ) {
403 for ( KeyRegisterList::Iterator it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) { 401 for ( KeyRegisterList::Iterator it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) {
404 if (( *it ). getKeyCode ( ) == keycode ) { 402 if (( *it ). getKeyCode ( ) == keycode ) {
405 QCopEnvelope (( *it ). getChannel ( ), ( *it ). getMessage ( )); 403 QCopEnvelope (( *it ). getChannel ( ), ( *it ). getMessage ( ));
406 return true; 404 return true;
407 } 405 }
408 } 406 }
409 } 407 }
410 } 408 }
411 409
412 if ( keycode == HardKey_Suspend ) { 410 if ( keycode == HardKey_Suspend ) {
413 if ( press ) 411 if ( press )
414 emit power ( ); 412 emit power ( );
415 return true; 413 return true;
416 } 414 }
417 else if ( keycode == HardKey_Backlight ) { 415 else if ( keycode == HardKey_Backlight ) {
418 if ( press ) 416 if ( press )
419 emit backlight ( ); 417 emit backlight ( );
420 return true; 418 return true;
421 } 419 }
422 else if ( keycode == Key_F32 ) { 420 else if ( keycode == Key_F32 ) {
423 if ( press ) 421 if ( press )
424 QCopEnvelope e( "QPE/Desktop", "startSync()" ); 422 QCopEnvelope e( "QPE/Desktop", "startSync()" );
425 return true; 423 return true;
426 } 424 }
427 else if ( keycode == Key_F31 && !ke-> simpleData. modifiers ) { // Symbol Key -> show Unicode IM 425 else if ( keycode == Key_F31 && !ke-> simpleData. modifiers ) { // Symbol Key -> show Unicode IM
428 if ( press ) 426 if ( press )
429 emit symbol ( ); 427 emit symbol ( );
430 return true; 428 return true;
431 } 429 }
432 else if ( keycode == Key_NumLock ) { 430 else if ( keycode == Key_NumLock ) {
433 if ( press ) 431 if ( press )
434 emit numLockStateToggle ( ); 432 emit numLockStateToggle ( );
435 } 433 }
436 else if ( keycode == Key_CapsLock ) { 434 else if ( keycode == Key_CapsLock ) {
437 if ( press ) 435 if ( press )
438 emit capsLockStateToggle(); 436 emit capsLockStateToggle();
439 } 437 }
440 if (( press && !autoRepeat ) || ( !press && autoRepeat )) { 438 if (( press && !autoRepeat ) || ( !press && autoRepeat )) {
441 if ( m_keyclick_sound ) 439 if ( m_keyclick_sound )
442 ODevice::inst ( )-> keySound ( ); 440 ODevice::inst ( )-> keySound ( );
443 } 441 }
444 } 442 }
445 else if ( e-> type == QWSEvent::Mouse ) { 443 else if ( e-> type == QWSEvent::Mouse ) {
446 QWSMouseEvent * me = ( QWSMouseEvent * ) e; 444 QWSMouseEvent * me = ( QWSMouseEvent * ) e;
447 static bool up = true; 445 static bool up = true;
448 446
449 if ( me-> simpleData. state & LeftButton ) { 447 if ( me-> simpleData. state & LeftButton ) {
450 if ( up ) { 448 if ( up ) {
451 up = false; 449 up = false;
452 if ( m_screentap_sound ) 450 if ( m_screentap_sound )
453 ODevice::inst ( ) -> touchSound ( ); 451 ODevice::inst ( ) -> touchSound ( );
454 } 452 }
455 } 453 }
456 else { 454 else {
457 up = true; 455 up = true;
458 } 456 }
459 } 457 }
460 458
461 return QPEApplication::qwsEventFilter ( e ); 459 return QPEApplication::qwsEventFilter ( e );
462} 460}
463#endif 461#endif
464 462
465 463
466 464
467#if defined(QPE_HAVE_MEMALERTER) 465#if defined(QPE_HAVE_MEMALERTER)
468QPE_MEMALERTER_IMPL 466QPE_MEMALERTER_IMPL
469#endif 467#endif
470 468
471//=========================================================================== 469//===========================================================================
472 470
473Desktop::Desktop() : 471Desktop::Desktop() :
474 QWidget( 0, 0, WStyle_Tool | WStyle_Customize ), 472 QWidget( 0, 0, WStyle_Tool | WStyle_Customize ),
475 qcopBridge( 0 ), 473 qcopBridge( 0 ),
476 transferServer( 0 ), 474 transferServer( 0 ),
477 packageSlave( 0 ) 475 packageSlave( 0 )
478{ 476{
479 qpedesktop = this; 477 qpedesktop = this;
480 478
481 // bg = new Info( this ); 479 // bg = new Info( this );
482 tb = new TaskBar; 480 tb = new TaskBar;
483 481
484 launcher = new Launcher( 0, 0, WStyle_Customize | QWidget::WGroupLeader ); 482 launcher = new Launcher( 0, 0, WStyle_Customize | QWidget::WGroupLeader );
485 483
486 connect( launcher, SIGNAL( busy() ), tb, SLOT( startWait() ) ); 484 connect( launcher, SIGNAL( busy() ), tb, SLOT( startWait() ) );
487 connect( launcher, SIGNAL( notBusy( const QString& ) ), tb, SLOT( stopWait( const QString& ) ) ); 485 connect( launcher, SIGNAL( notBusy( const QString& ) ), tb, SLOT( stopWait( const QString& ) ) );
488 486
489 int displayw = qApp->desktop() ->width(); 487 int displayw = qApp->desktop() ->width();
490 int displayh = qApp->desktop() ->height(); 488 int displayh = qApp->desktop() ->height();
491 489
492 490
493 QSize sz = tb->sizeHint(); 491 QSize sz = tb->sizeHint();
494 492
495 setGeometry( 0, displayh - sz.height(), displayw, sz.height() ); 493 setGeometry( 0, displayh - sz.height(), displayw, sz.height() );
496 tb->setGeometry( 0, displayh - sz.height(), displayw, sz.height() ); 494 tb->setGeometry( 0, displayh - sz.height(), displayw, sz.height() );
497 495
498 tb->show(); 496 tb->show();
499 launcher->showMaximized(); 497 launcher->showMaximized();
500 launcher->show(); 498 launcher->show();
501 launcher->raise(); 499 launcher->raise();
502#if defined(QPE_HAVE_MEMALERTER) 500#if defined(QPE_HAVE_MEMALERTER)
503 501
504 initMemalerter(); 502 initMemalerter();
505#endif 503#endif
506 // start services 504 // start services
507 startTransferServer(); 505 startTransferServer();
508 ( void ) new IrServer( this ); 506 ( void ) new IrServer( this );
509 507
510 packageSlave = new PackageSlave( this ); 508 packageSlave = new PackageSlave( this );
511 509
512 qApp->installEventFilter( this ); 510 qApp->installEventFilter( this );
513 511
514 qApp-> setMainWidget ( launcher ); 512 qApp-> setMainWidget ( launcher );
515} 513}
516 514
517void Desktop::show() 515void Desktop::show()
518{ 516{
519 login( TRUE ); 517 login( TRUE );
520 QWidget::show(); 518 QWidget::show();
521} 519}
522 520
523Desktop::~Desktop() 521Desktop::~Desktop()
524{ 522{
525 delete launcher; 523 delete launcher;
526 delete tb; 524 delete tb;
527 delete qcopBridge; 525 delete qcopBridge;
528 delete transferServer; 526 delete transferServer;
529} 527}
530 528
531bool Desktop::recoverMemory() 529bool Desktop::recoverMemory()
532{ 530{
533 return tb->recoverMemory(); 531 return tb->recoverMemory();
534} 532}
535 533
536void Desktop::checkMemory() 534void Desktop::checkMemory()
537{ 535{
538#if defined(QPE_HAVE_MEMALERTER) 536#if defined(QPE_HAVE_MEMALERTER)
539 static bool ignoreNormal = FALSE; 537 static bool ignoreNormal = FALSE;
540 static bool existingMessage = FALSE; 538 static bool existingMessage = FALSE;
541 539
542 if ( existingMessage ) 540 if ( existingMessage )
543 return ; // don't show a second message while still on first 541 return ; // don't show a second message while still on first
544 542
545 existingMessage = TRUE; 543 existingMessage = TRUE;
546 switch ( memstate ) { 544 switch ( memstate ) {
547 case Unknown: 545 case Unknown:
548 break; 546 break;
549 case Low: 547 case Low:
550 memstate = Unknown; 548 memstate = Unknown;
551 if ( recoverMemory() ) 549 if ( recoverMemory() )
552 ignoreNormal = TRUE; 550 ignoreNormal = TRUE;
553 else 551 else
554 QMessageBox::warning( 0 , "Memory Status", 552 QMessageBox::warning( 0 , "Memory Status",
555 "The memory smacks of shortage. \n" 553 "The memory smacks of shortage. \n"
556 "Please save data. " ); 554 "Please save data. " );
557 break; 555 break;
558 case Normal: 556 case Normal:
559 memstate = Unknown; 557 memstate = Unknown;
560 if ( ignoreNormal ) 558 if ( ignoreNormal )
561 ignoreNormal = FALSE; 559 ignoreNormal = FALSE;
562 // else 560 // else
563 // QMessageBox::information ( 0 , "Memory Status", 561 // QMessageBox::information ( 0 , "Memory Status",
564 // "There is enough memory again." ); 562 // "There is enough memory again." );
565 break; 563 break;
566 case VeryLow: 564 case VeryLow:
567 memstate = Unknown; 565 memstate = Unknown;
568 QMessageBox::critical( 0 , "Memory Status", 566 QMessageBox::critical( 0 , "Memory Status",
569 "The memory is very low. \n" 567 "The memory is very low. \n"
570 "Please end this application \n" 568 "Please end this application \n"
571 "immediately." ); 569 "immediately." );
572 recoverMemory(); 570 recoverMemory();
573 } 571 }
574 existingMessage = FALSE; 572 existingMessage = FALSE;
575#endif 573#endif
576} 574}
577 575
578static bool isVisibleWindow( int wid ) 576static bool isVisibleWindow( int wid )
579{ 577{
580#ifdef QWS 578#ifdef QWS
581 const QList<QWSWindow> &list = qwsServer->clientWindows(); 579 const QList<QWSWindow> &list = qwsServer->clientWindows();
582 QWSWindow* w; 580 QWSWindow* w;
583 for ( QListIterator<QWSWindow> it( list ); ( w = it.current() ); ++it ) { 581 for ( QListIterator<QWSWindow> it( list ); ( w = it.current() ); ++it ) {
584 if ( w->winId() == wid ) 582 if ( w->winId() == wid )
585 return !w->isFullyObscured(); 583 return !w->isFullyObscured();
586 } 584 }
587#endif 585#endif
588 return FALSE; 586 return FALSE;
589} 587}
590 588
591static bool hasVisibleWindow( const QString& clientname ) 589static bool hasVisibleWindow( const QString& clientname )
592{ 590{
593#ifdef QWS 591#ifdef QWS
594 const QList<QWSWindow> &list = qwsServer->clientWindows(); 592 const QList<QWSWindow> &list = qwsServer->clientWindows();
595 QWSWindow* w; 593 QWSWindow* w;
596 for ( QListIterator<QWSWindow> it( list ); ( w = it.current() ); ++it ) { 594 for ( QListIterator<QWSWindow> it( list ); ( w = it.current() ); ++it ) {
597 if ( w->client() ->identity() == clientname && !w->isFullyObscured() ) 595 if ( w->client() ->identity() == clientname && !w->isFullyObscured() )
598 return TRUE; 596 return TRUE;
599 } 597 }
600#endif 598#endif
601 return FALSE; 599 return FALSE;
602} 600}
603 601
604 602
605void Desktop::executeOrModify( const QString& appLnkFile ) 603void Desktop::executeOrModify( const QString& appLnkFile )
606{ 604{
607 AppLnk lnk( MimeType::appsFolderName() + "/" + appLnkFile ); 605 AppLnk lnk( MimeType::appsFolderName() + "/" + appLnkFile );
608 if ( lnk.isValid() ) { 606 if ( lnk.isValid() ) {
609 QCString app = lnk.exec().utf8(); 607 QCString app = lnk.exec().utf8();
610 Global::terminateBuiltin( "calibrate" ); 608 Global::terminateBuiltin( "calibrate" );
611 if ( QCopChannel::isRegistered( "QPE/Application/" + app ) ) { 609 if ( QCopChannel::isRegistered( "QPE/Application/" + app ) ) {
612 // MRUList::addTask( &lnk ); 610 // MRUList::addTask( &lnk );
613 if ( hasVisibleWindow( app ) ) 611 if ( hasVisibleWindow( app ) )
614 QCopChannel::send( "QPE/Application/" + app, "nextView()" ); 612 QCopChannel::send( "QPE/Application/" + app, "nextView()" );
615 else 613 else
616 QCopChannel::send( "QPE/Application/" + app, "raise()" ); 614 QCopChannel::send( "QPE/Application/" + app, "raise()" );
617 } 615 }
618 else { 616 else {
619 lnk.execute(); 617 lnk.execute();
620 } 618 }
621 } 619 }
622} 620}
623 621
624// autoStarts apps on resume and start 622// autoStarts apps on resume and start
625void Desktop::execAutoStart() 623void Desktop::execAutoStart()
626{ 624{
627 QString appName; 625 QString appName;
628 int delay; 626 int delay;
629 QDateTime now = QDateTime::currentDateTime(); 627 QDateTime now = QDateTime::currentDateTime();
630 Config cfg( "autostart" ); 628 Config cfg( "autostart" );
631 cfg.setGroup( "AutoStart" ); 629 cfg.setGroup( "AutoStart" );
632 appName = cfg.readEntry( "Apps", "" ); 630 appName = cfg.readEntry( "Apps", "" );
633 delay = ( cfg.readEntry( "Delay", "0" ) ).toInt(); 631 delay = ( cfg.readEntry( "Delay", "0" ) ).toInt();
634 // If the time between suspend and resume was longer then the 632 // If the time between suspend and resume was longer then the
635 // value saved as delay, start the app 633 // value saved as delay, start the app
636 if ( suspendTime.secsTo( now ) >= ( delay * 60 ) && !appName.isEmpty() ) { 634 if ( suspendTime.secsTo( now ) >= ( delay * 60 ) && !appName.isEmpty() ) {
637 QCopEnvelope e( "QPE/System", "execute(QString)" ); 635 QCopEnvelope e( "QPE/System", "execute(QString)" );
638 e << QString( appName ); 636 e << QString( appName );
639 } 637 }
640} 638}
641 639
642#if defined(QPE_HAVE_TOGGLELIGHT) 640#if defined(QPE_HAVE_TOGGLELIGHT)
643#include <qpe/config.h> 641#include <qpe/config.h>
644 642
645#include <sys/ioctl.h> 643#include <sys/ioctl.h>
646#include <sys/types.h> 644#include <sys/types.h>
647#include <fcntl.h> 645#include <fcntl.h>
648#include <unistd.h> 646#include <unistd.h>
649#include <errno.h> 647#include <errno.h>
650#include <linux/ioctl.h> 648#include <linux/ioctl.h>
651#include <time.h> 649#include <time.h>
652#endif 650#endif
653 651
654 652
655void Desktop::togglePower() 653void Desktop::togglePower()
656{ 654{
657 static bool excllock = false; 655 static bool excllock = false;
658 656
659 qDebug ( "togglePower (locked == %d)", excllock ? 1 : 0 ); 657 qDebug ( "togglePower (locked == %d)", excllock ? 1 : 0 );
660 658
661 if ( excllock ) 659 if ( excllock )
662 return ; 660 return ;
663 661
664 excllock = true; 662 excllock = true;
665 663
666 bool wasloggedin = loggedin; 664 bool wasloggedin = loggedin;
667 loggedin = 0; 665 loggedin = 0;
668 suspendTime = QDateTime::currentDateTime(); 666 suspendTime = QDateTime::currentDateTime();
669 667
670#ifdef QWS 668#ifdef QWS
671 669
672 if ( Password::needToAuthenticate ( true ) && qt_screen ) { 670 if ( Password::needToAuthenticate ( true ) && qt_screen ) {
673 // Should use a big black window instead. 671 // Should use a big black window instead.
674 // But this would not show up fast enough 672 // But this would not show up fast enough
675 QGfx *g = qt_screen-> screenGfx ( ); 673 QGfx *g = qt_screen-> screenGfx ( );
676 g-> fillRect ( 0, 0, qt_screen-> width ( ), qt_screen-> height ( )); 674 g-> fillRect ( 0, 0, qt_screen-> width ( ), qt_screen-> height ( ));
677 delete g; 675 delete g;
678 } 676 }
679#endif 677#endif
680 678
681 ODevice::inst ( )-> suspend ( ); 679 ODevice::inst ( )-> suspend ( );
682 680
683 DesktopApplication::switchLCD ( true ); // force LCD on without slow qcop call 681 DesktopApplication::switchLCD ( true ); // force LCD on without slow qcop call
684 QWSServer::screenSaverActivate ( false ); 682 QWSServer::screenSaverActivate ( false );
685 683
686 { 684 {
687 QCopEnvelope( "QPE/Card", "mtabChanged()" ); // might have changed while asleep 685 QCopEnvelope( "QPE/Card", "mtabChanged()" ); // might have changed while asleep
688 } 686 }
689 687
690 if ( wasloggedin ) 688 if ( wasloggedin )
691 login ( true ); 689 login ( true );
692 690
693 execAutoStart(); 691 execAutoStart();
694 //qcopBridge->closeOpenConnections(); 692 //qcopBridge->closeOpenConnections();
695 693
696 excllock = false; 694 excllock = false;
697} 695}
698 696
699void Desktop::toggleLight() 697void Desktop::toggleLight()
700{ 698{
701 QCopEnvelope e( "QPE/System", "setBacklight(int)" ); 699 QCopEnvelope e( "QPE/System", "setBacklight(int)" );
702 e << -2; // toggle 700 e << -2; // toggle
703} 701}
704 702
705void Desktop::toggleSymbolInput() 703void Desktop::toggleSymbolInput()
706{ 704{
707 tb->toggleSymbolInput(); 705 tb->toggleSymbolInput();
708} 706}
709 707
710void Desktop::toggleNumLockState() 708void Desktop::toggleNumLockState()
711{ 709{
712 tb->toggleNumLockState(); 710 tb->toggleNumLockState();
713} 711}
714 712
715void Desktop::toggleCapsLockState() 713void Desktop::toggleCapsLockState()
716{ 714{
717 tb->toggleCapsLockState(); 715 tb->toggleCapsLockState();
718} 716}
719 717
720void Desktop::styleChange( QStyle &s ) 718void Desktop::styleChange( QStyle &s )
721{ 719{
722 QWidget::styleChange( s ); 720 QWidget::styleChange( s );
723 int displayw = qApp->desktop() ->width(); 721 int displayw = qApp->desktop() ->width();
724 int displayh = qApp->desktop() ->height(); 722 int displayh = qApp->desktop() ->height();
725 723
726 QSize sz = tb->sizeHint(); 724 QSize sz = tb->sizeHint();
727 725
728 tb->setGeometry( 0, displayh - sz.height(), displayw, sz.height() ); 726 tb->setGeometry( 0, displayh - sz.height(), displayw, sz.height() );
729} 727}
730 728
731void DesktopApplication::shutdown() 729void DesktopApplication::shutdown()
732{ 730{
733 if ( type() != GuiServer ) 731 if ( type() != GuiServer )
734 return ; 732 return ;
735 ShutdownImpl *sd = new ShutdownImpl( 0, 0, WDestructiveClose ); 733 ShutdownImpl *sd = new ShutdownImpl( 0, 0, WDestructiveClose );
736 connect( sd, SIGNAL( shutdown( ShutdownImpl::Type ) ), 734 connect( sd, SIGNAL( shutdown( ShutdownImpl::Type ) ),
737 this, SLOT( shutdown( ShutdownImpl::Type ) ) ); 735 this, SLOT( shutdown( ShutdownImpl::Type ) ) );
738 sd->showMaximized(); 736 sd->showMaximized();
739} 737}
740 738
741void DesktopApplication::shutdown( ShutdownImpl::Type t ) 739void DesktopApplication::shutdown( ShutdownImpl::Type t )
742{ 740{
743 switch ( t ) { 741 switch ( t ) {
744 case ShutdownImpl::ShutdownSystem: 742 case ShutdownImpl::ShutdownSystem:
745 execlp( "shutdown", "shutdown", "-h", "now", ( void* ) 0 ); 743 execlp( "shutdown", "shutdown", "-h", "now", ( void* ) 0 );
746 break; 744 break;
747 case ShutdownImpl::RebootSystem: 745 case ShutdownImpl::RebootSystem:
748 execlp( "shutdown", "shutdown", "-r", "now", ( void* ) 0 ); 746 execlp( "shutdown", "shutdown", "-r", "now", ( void* ) 0 );
749 break; 747 break;
750 case ShutdownImpl::RestartDesktop: 748 case ShutdownImpl::RestartDesktop:
751 restart(); 749 restart();
752 break; 750 break;
753 case ShutdownImpl::TerminateDesktop: 751 case ShutdownImpl::TerminateDesktop:
754 prepareForTermination( FALSE ); 752 prepareForTermination( FALSE );
755 753
756 // This is a workaround for a Qt bug 754 // This is a workaround for a Qt bug
757 // clipboard applet has to stop its poll timer, or Qt/E 755 // clipboard applet has to stop its poll timer, or Qt/E
758 // will hang on quit() right before it emits aboutToQuit() 756 // will hang on quit() right before it emits aboutToQuit()
759 emit aboutToQuit ( ); 757 emit aboutToQuit ( );
760 758
761 quit(); 759 quit();
762 break; 760 break;
763 } 761 }
764} 762}
765 763
766void DesktopApplication::restart() 764void DesktopApplication::restart()
767{ 765{
768 prepareForTermination( TRUE ); 766 prepareForTermination( TRUE );
769 767
770#ifdef Q_WS_QWS 768#ifdef Q_WS_QWS
771 769
772 for ( int fd = 3; fd < 100; fd++ ) 770 for ( int fd = 3; fd < 100; fd++ )
773 close( fd ); 771 close( fd );
774#if defined(QT_DEMO_SINGLE_FLOPPY) 772#if defined(QT_DEMO_SINGLE_FLOPPY)
775 773
776 execl( "/sbin/init", "qpe", 0 ); 774 execl( "/sbin/init", "qpe", 0 );
777#elif defined(QT_QWS_CASSIOPEIA) 775#elif defined(QT_QWS_CASSIOPEIA)
778 776
779 execl( "/bin/sh", "sh", 0 ); 777 execl( "/bin/sh", "sh", 0 );
780#else 778#else
781 779
782 execl( ( qpeDir() + "/bin/qpe" ).latin1(), "qpe", 0 ); 780 execl( ( qpeDir() + "/bin/qpe" ).latin1(), "qpe", 0 );
783#endif 781#endif
784 782
785 exit( 1 ); 783 exit( 1 );
786#endif 784#endif
787} 785}
788 786
789void Desktop::startTransferServer() 787void Desktop::startTransferServer()
790{ 788{
791 // start qcop bridge server 789 // start qcop bridge server
792 qcopBridge = new QCopBridge( 4243 ); 790 qcopBridge = new QCopBridge( 4243 );
793 if ( !qcopBridge->ok() ) { 791 if ( !qcopBridge->ok() ) {
794 delete qcopBridge; 792 delete qcopBridge;
795 qcopBridge = 0; 793 qcopBridge = 0;
796 } 794 }
797 // start transfer server 795 // start transfer server
798 transferServer = new TransferServer( 4242 ); 796 transferServer = new TransferServer( 4242 );
799 if ( !transferServer->ok() ) { 797 if ( !transferServer->ok() ) {
800 delete transferServer; 798 delete transferServer;
801 transferServer = 0; 799 transferServer = 0;
802 } 800 }
803 if ( !transferServer || !qcopBridge ) 801 if ( !transferServer || !qcopBridge )
804 startTimer( 2000 ); 802 startTimer( 2000 );
805} 803}
806 804
807void Desktop::timerEvent( QTimerEvent *e ) 805void Desktop::timerEvent( QTimerEvent *e )
808{ 806{
809 killTimer( e->timerId() ); 807 killTimer( e->timerId() );
810 startTransferServer(); 808 startTransferServer();
811} 809}
812 810
813void Desktop::terminateServers() 811void Desktop::terminateServers()
814{ 812{
815 delete transferServer; 813 delete transferServer;
816 delete qcopBridge; 814 delete qcopBridge;
817 transferServer = 0; 815 transferServer = 0;
818 qcopBridge = 0; 816 qcopBridge = 0;
819} 817}
820 818
821void DesktopApplication::rereadVolumes() 819void DesktopApplication::rereadVolumes()
822{ 820{
823 Config cfg( "qpe" ); 821 Config cfg( "qpe" );
824 cfg. setGroup ( "Volume" ); 822 cfg. setGroup ( "Volume" );
825 823
826 m_screentap_sound = cfg. readBoolEntry ( "TouchSound" ); 824 m_screentap_sound = cfg. readBoolEntry ( "TouchSound" );
827 m_keyclick_sound = cfg. readBoolEntry ( "KeySound" ); 825 m_keyclick_sound = cfg. readBoolEntry ( "KeySound" );
828 m_alarm_sound = cfg. readBoolEntry ( "AlarmSound" ); 826 m_alarm_sound = cfg. readBoolEntry ( "AlarmSound" );
829} 827}
830 828
831void DesktopApplication::soundAlarm() 829void DesktopApplication::soundAlarm()
832{ 830{
833 if ( me ( )-> m_alarm_sound ) 831 if ( me ( )-> m_alarm_sound )
834 ODevice::inst ( )-> alarmSound ( ); 832 ODevice::inst ( )-> alarmSound ( );
835} 833}
836 834
837DesktopApplication *DesktopApplication::me ( ) 835DesktopApplication *DesktopApplication::me ( )
838{ 836{
839 return (DesktopApplication *) qApp; 837 return (DesktopApplication *) qApp;
840} 838}
841 839
diff --git a/core/launcher/desktop.h b/core/launcher/desktop.h
index 6cb7ab2..db0173e 100644
--- a/core/launcher/desktop.h
+++ b/core/launcher/desktop.h
@@ -1,155 +1,155 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#ifndef __DESKTOP_H__ 21#ifndef __DESKTOP_H__
22#define __DESKTOP_H__ 22#define __DESKTOP_H__
23 23
24 24
25#include "shutdownimpl.h" 25#include "shutdownimpl.h"
26 26
27#include <qpe/qpeapplication.h> 27#include <qpe/qpeapplication.h>
28#include <opie/odevicebutton.h> 28#include <opie/odevicebutton.h>
29 29
30#include <qwidget.h> 30#include <qwidget.h>
31#include <qdatetime.h> 31#include <qdatetime.h>
32 32
33class Background; 33class Background;
34class Launcher; 34class Launcher;
35class TaskBar; 35class TaskBar;
36class PowerStatus; 36class PowerStatus;
37class QCopBridge; 37class QCopBridge;
38class TransferServer; 38class TransferServer;
39class DesktopPowerAlerter; 39class DesktopPowerAlerter;
40class PackageSlave; 40class PackageSlave;
41class OpieScreenSaver; 41class OpieScreenSaver;
42 42
43class DesktopApplication : public QPEApplication 43class DesktopApplication : public QPEApplication
44{ 44{
45 Q_OBJECT 45 Q_OBJECT
46public: 46public:
47 DesktopApplication( int& argc, char **argv, Type t ); 47 DesktopApplication( int& argc, char **argv, Type t );
48 ~DesktopApplication(); 48 ~DesktopApplication();
49 49
50 static void switchLCD ( bool on ); // only for togglePower in Desktop 50 static void switchLCD ( bool on ); // only for togglePower in Desktop
51 51
52 static void soundAlarm(); // only because QCop soundAlarm() is defined in QPE/TaskBar 52 static void soundAlarm(); // only because QCop soundAlarm() is defined in QPE/TaskBar
53 53
54signals: 54signals:
55 void menu(); 55 void menu();
56 void home(); 56 void home();
57 void launch(); 57 void launch();
58 void backlight(); 58 void backlight();
59 void power(); 59 void power();
60 void symbol(); 60 void symbol();
61 void numLockStateToggle(); 61 void numLockStateToggle();
62 void capsLockStateToggle(); 62 void capsLockStateToggle();
63 void prepareForRestart(); 63 void prepareForRestart();
64 64
65protected: 65protected:
66#ifdef Q_WS_QWS 66#ifdef Q_WS_QWS
67 67
68 bool qwsEventFilter( QWSEvent * ); 68 bool qwsEventFilter( QWSEvent * );
69#endif 69#endif
70 70
71 void shutdown(); 71 void shutdown();
72 void restart(); 72 void restart();
73 73
74public slots: 74public slots:
75 virtual void systemMessage ( const QCString &msg, const QByteArray &data ); 75 virtual void systemMessage ( const QCString &msg, const QByteArray &data );
76 virtual void launcherMessage ( const QCString &msg, const QByteArray &data ); 76 virtual void launcherMessage ( const QCString &msg, const QByteArray &data );
77 void rereadVolumes(); 77 void rereadVolumes();
78 78
79protected slots: 79protected slots:
80 void shutdown ( ShutdownImpl::Type ); 80 void shutdown ( ShutdownImpl::Type );
81 void apmTimeout ( ); 81 void apmTimeout ( );
82 void sendHeldAction ( ); 82 void sendHeldAction ( );
83 83
84protected: 84protected:
85 virtual bool eventFilter ( QObject *o, QEvent *e ); 85 virtual bool eventFilter ( QObject *o, QEvent *e );
86 void checkButtonAction ( const Opie::ODeviceButton *db, int keycode, bool press, bool autoRepeat ); 86 void checkButtonAction ( const Opie::ODeviceButton *db, int keycode, bool press, bool autoRepeat );
87 87
88private: 88private:
89 static DesktopApplication *me ( ); 89 static DesktopApplication *me ( );
90 90
91private: 91private:
92 void reloadPowerWarnSettings(); 92 void reloadPowerWarnSettings();
93 DesktopPowerAlerter *pa; 93 DesktopPowerAlerter *pa;
94 PowerStatus *m_ps, *m_ps_last; 94 PowerStatus *m_ps, *m_ps_last;
95 QTimer *cardSendTimer; 95 QTimer *cardSendTimer;
96 QCopChannel *channel; 96 QCopChannel *channel;
97 OpieScreenSaver *m_screensaver; 97 OpieScreenSaver *m_screensaver;
98 QTimer * m_timer; 98 QTimer * m_apm_timer;
99 int m_powerVeryLow; 99 int m_powerVeryLow;
100 int m_powerCritical; 100 int m_powerCritical;
101 int m_currentPowerLevel; 101 int m_currentPowerLevel;
102 102
103 const Opie::ODeviceButton *m_last_button; 103 const Opie::ODeviceButton *m_last_button;
104 QTimer *m_button_timer; 104 QTimer *m_button_timer;
105 105
106 bool m_keyclick_sound : 1; 106 bool m_keyclick_sound : 1;
107 bool m_screentap_sound : 1; 107 bool m_screentap_sound : 1;
108 bool m_alarm_sound : 1; 108 bool m_alarm_sound : 1;
109}; 109};
110 110
111 111
112class Desktop : public QWidget 112class Desktop : public QWidget
113{ 113{
114 Q_OBJECT 114 Q_OBJECT
115public: 115public:
116 Desktop(); 116 Desktop();
117 ~Desktop(); 117 ~Desktop();
118 118
119 static bool screenLocked(); 119 static bool screenLocked();
120 120
121 void show(); 121 void show();
122 void checkMemory(); 122 void checkMemory();
123 123
124public slots: 124public slots:
125 void execAutoStart(); 125 void execAutoStart();
126 void togglePower(); 126 void togglePower();
127 void toggleLight(); 127 void toggleLight();
128 void toggleNumLockState(); 128 void toggleNumLockState();
129 void toggleCapsLockState(); 129 void toggleCapsLockState();
130 void toggleSymbolInput(); 130 void toggleSymbolInput();
131 void terminateServers(); 131 void terminateServers();
132 132
133protected: 133protected:
134 void executeOrModify( const QString& appLnkFile ); 134 void executeOrModify( const QString& appLnkFile );
135 void styleChange( QStyle & ); 135 void styleChange( QStyle & );
136 void timerEvent( QTimerEvent *e ); 136 void timerEvent( QTimerEvent *e );
137 137
138 QWidget *bg; 138 QWidget *bg;
139 Launcher *launcher; 139 Launcher *launcher;
140 TaskBar *tb; 140 TaskBar *tb;
141 141
142private: 142private:
143 void startTransferServer(); 143 void startTransferServer();
144 bool recoverMemory(); 144 bool recoverMemory();
145 145
146 QCopBridge *qcopBridge; 146 QCopBridge *qcopBridge;
147 TransferServer *transferServer; 147 TransferServer *transferServer;
148 PackageSlave *packageSlave; 148 PackageSlave *packageSlave;
149 149
150 QDateTime suspendTime; 150 QDateTime suspendTime;
151}; 151};
152 152
153 153
154#endif // __DESKTOP_H__ 154#endif // __DESKTOP_H__
155 155
diff --git a/core/settings/light-and-power/lightsettingsbase.ui b/core/settings/light-and-power/lightsettingsbase.ui
index 309b95d..b583b5c 100644
--- a/core/settings/light-and-power/lightsettingsbase.ui
+++ b/core/settings/light-and-power/lightsettingsbase.ui
@@ -1,1226 +1,1242 @@
1<!DOCTYPE UI><UI> 1<!DOCTYPE UI><UI>
2<class>LightSettingsBase</class> 2<class>LightSettingsBase</class>
3<widget> 3<widget>
4 <class>QDialog</class> 4 <class>QDialog</class>
5 <property stdset="1"> 5 <property stdset="1">
6 <name>name</name> 6 <name>name</name>
7 <cstring>LightSettingsBase</cstring> 7 <cstring>LightSettingsBase</cstring>
8 </property> 8 </property>
9 <property stdset="1"> 9 <property stdset="1">
10 <name>geometry</name> 10 <name>geometry</name>
11 <rect> 11 <rect>
12 <x>0</x> 12 <x>0</x>
13 <y>0</y> 13 <y>0</y>
14 <width>371</width> 14 <width>367</width>
15 <height>532</height> 15 <height>532</height>
16 </rect> 16 </rect>
17 </property> 17 </property>
18 <property stdset="1"> 18 <property stdset="1">
19 <name>sizePolicy</name> 19 <name>sizePolicy</name>
20 <sizepolicy> 20 <sizepolicy>
21 <hsizetype>7</hsizetype> 21 <hsizetype>7</hsizetype>
22 <vsizetype>5</vsizetype> 22 <vsizetype>5</vsizetype>
23 </sizepolicy> 23 </sizepolicy>
24 </property> 24 </property>
25 <property stdset="1"> 25 <property stdset="1">
26 <name>caption</name> 26 <name>caption</name>
27 <string>Light and Power Settings</string> 27 <string>Light and Power Settings</string>
28 </property> 28 </property>
29 <property stdset="1"> 29 <property stdset="1">
30 <name>sizeGripEnabled</name> 30 <name>sizeGripEnabled</name>
31 <bool>false</bool> 31 <bool>false</bool>
32 </property> 32 </property>
33 <property> 33 <property>
34 <name>layoutMargin</name> 34 <name>layoutMargin</name>
35 </property> 35 </property>
36 <property> 36 <property>
37 <name>layoutSpacing</name> 37 <name>layoutSpacing</name>
38 </property> 38 </property>
39 <vbox> 39 <vbox>
40 <property stdset="1"> 40 <property stdset="1">
41 <name>margin</name> 41 <name>margin</name>
42 <number>3</number> 42 <number>3</number>
43 </property> 43 </property>
44 <property stdset="1"> 44 <property stdset="1">
45 <name>spacing</name> 45 <name>spacing</name>
46 <number>3</number> 46 <number>3</number>
47 </property> 47 </property>
48 <widget> 48 <widget>
49 <class>QTabWidget</class> 49 <class>QTabWidget</class>
50 <property stdset="1"> 50 <property stdset="1">
51 <name>name</name> 51 <name>name</name>
52 <cstring>tabs</cstring> 52 <cstring>tabs</cstring>
53 </property> 53 </property>
54 <property> 54 <property>
55 <name>layoutMargin</name> 55 <name>layoutMargin</name>
56 </property> 56 </property>
57 <property> 57 <property>
58 <name>layoutSpacing</name> 58 <name>layoutSpacing</name>
59 </property> 59 </property>
60 <widget> 60 <widget>
61 <class>QWidget</class> 61 <class>QWidget</class>
62 <property stdset="1"> 62 <property stdset="1">
63 <name>name</name> 63 <name>name</name>
64 <cstring>tab</cstring> 64 <cstring>tab</cstring>
65 </property> 65 </property>
66 <attribute> 66 <attribute>
67 <name>title</name> 67 <name>title</name>
68 <string>on Battery</string> 68 <string>on Battery</string>
69 </attribute> 69 </attribute>
70 <vbox> 70 <vbox>
71 <property stdset="1"> 71 <property stdset="1">
72 <name>margin</name> 72 <name>margin</name>
73 <number>5</number> 73 <number>5</number>
74 </property> 74 </property>
75 <property stdset="1"> 75 <property stdset="1">
76 <name>spacing</name> 76 <name>spacing</name>
77 <number>3</number> 77 <number>3</number>
78 </property> 78 </property>
79 <widget> 79 <widget>
80 <class>QGroupBox</class> 80 <class>QGroupBox</class>
81 <property stdset="1"> 81 <property stdset="1">
82 <name>name</name> 82 <name>name</name>
83 <cstring>GroupBox3</cstring> 83 <cstring>GroupBox3</cstring>
84 </property> 84 </property>
85 <property stdset="1"> 85 <property stdset="1">
86 <name>enabled</name> 86 <name>enabled</name>
87 <bool>true</bool> 87 <bool>true</bool>
88 </property> 88 </property>
89 <property stdset="1"> 89 <property stdset="1">
90 <name>title</name> 90 <name>title</name>
91 <string>General Settings</string> 91 <string>General Settings</string>
92 </property> 92 </property>
93 <property> 93 <property>
94 <name>layoutMargin</name> 94 <name>layoutMargin</name>
95 </property> 95 </property>
96 <property> 96 <property>
97 <name>layoutSpacing</name> 97 <name>layoutSpacing</name>
98 </property> 98 </property>
99 <grid> 99 <grid>
100 <property stdset="1"> 100 <property stdset="1">
101 <name>margin</name> 101 <name>margin</name>
102 <number>5</number> 102 <number>5</number>
103 </property> 103 </property>
104 <property stdset="1"> 104 <property stdset="1">
105 <name>spacing</name> 105 <name>spacing</name>
106 <number>3</number> 106 <number>3</number>
107 </property> 107 </property>
108 <widget row="1" column="1" > 108 <widget row="1" column="1" >
109 <class>QSpinBox</class> 109 <class>QSpinBox</class>
110 <property stdset="1"> 110 <property stdset="1">
111 <name>name</name> 111 <name>name</name>
112 <cstring>interval_lightoff</cstring> 112 <cstring>interval_lightoff</cstring>
113 </property> 113 </property>
114 <property stdset="1"> 114 <property stdset="1">
115 <name>suffix</name> 115 <name>suffix</name>
116 <string> sec</string> 116 <string> sec</string>
117 </property> 117 </property>
118 <property stdset="1"> 118 <property stdset="1">
119 <name>specialValueText</name> 119 <name>specialValueText</name>
120 <string>never</string> 120 <string>never</string>
121 </property> 121 </property>
122 <property stdset="1"> 122 <property stdset="1">
123 <name>buttonSymbols</name> 123 <name>buttonSymbols</name>
124 <enum>PlusMinus</enum> 124 <enum>PlusMinus</enum>
125 </property> 125 </property>
126 <property stdset="1"> 126 <property stdset="1">
127 <name>maxValue</name> 127 <name>maxValue</name>
128 <number>3600</number> 128 <number>3600</number>
129 </property> 129 </property>
130 <property stdset="1"> 130 <property stdset="1">
131 <name>minValue</name> 131 <name>minValue</name>
132 <number>0</number> 132 <number>0</number>
133 </property> 133 </property>
134 <property stdset="1"> 134 <property stdset="1">
135 <name>lineStep</name> 135 <name>lineStep</name>
136 <number>10</number> 136 <number>10</number>
137 </property> 137 </property>
138 </widget> 138 </widget>
139 <widget row="1" column="0" > 139 <widget row="1" column="0" >
140 <class>QLabel</class> 140 <class>QLabel</class>
141 <property stdset="1"> 141 <property stdset="1">
142 <name>name</name> 142 <name>name</name>
143 <cstring>TextLabel2_2</cstring> 143 <cstring>TextLabel2_2</cstring>
144 </property> 144 </property>
145 <property stdset="1"> 145 <property stdset="1">
146 <name>sizePolicy</name> 146 <name>sizePolicy</name>
147 <sizepolicy> 147 <sizepolicy>
148 <hsizetype>3</hsizetype> 148 <hsizetype>3</hsizetype>
149 <vsizetype>1</vsizetype> 149 <vsizetype>1</vsizetype>
150 </sizepolicy> 150 </sizepolicy>
151 </property> 151 </property>
152 <property stdset="1"> 152 <property stdset="1">
153 <name>text</name> 153 <name>text</name>
154 <string>Light off after</string> 154 <string>Light off after</string>
155 </property> 155 </property>
156 </widget> 156 </widget>
157 <widget row="0" column="0" > 157 <widget row="0" column="0" >
158 <class>QLabel</class> 158 <class>QLabel</class>
159 <property stdset="1"> 159 <property stdset="1">
160 <name>name</name> 160 <name>name</name>
161 <cstring>TextLabel1_3</cstring> 161 <cstring>TextLabel1_3</cstring>
162 </property> 162 </property>
163 <property stdset="1"> 163 <property stdset="1">
164 <name>sizePolicy</name> 164 <name>sizePolicy</name>
165 <sizepolicy> 165 <sizepolicy>
166 <hsizetype>3</hsizetype> 166 <hsizetype>3</hsizetype>
167 <vsizetype>1</vsizetype> 167 <vsizetype>1</vsizetype>
168 </sizepolicy> 168 </sizepolicy>
169 </property> 169 </property>
170 <property stdset="1"> 170 <property stdset="1">
171 <name>text</name> 171 <name>text</name>
172 <string>Dim light after</string> 172 <string>Dim light after</string>
173 </property> 173 </property>
174 </widget> 174 </widget>
175 <widget row="0" column="1" > 175 <widget row="0" column="1" >
176 <class>QSpinBox</class> 176 <class>QSpinBox</class>
177 <property stdset="1"> 177 <property stdset="1">
178 <name>name</name> 178 <name>name</name>
179 <cstring>interval_dim</cstring> 179 <cstring>interval_dim</cstring>
180 </property> 180 </property>
181 <property stdset="1"> 181 <property stdset="1">
182 <name>suffix</name> 182 <name>suffix</name>
183 <string> sec</string> 183 <string> sec</string>
184 </property> 184 </property>
185 <property stdset="1"> 185 <property stdset="1">
186 <name>specialValueText</name> 186 <name>specialValueText</name>
187 <string>never</string> 187 <string>never</string>
188 </property> 188 </property>
189 <property stdset="1"> 189 <property stdset="1">
190 <name>buttonSymbols</name> 190 <name>buttonSymbols</name>
191 <enum>PlusMinus</enum> 191 <enum>PlusMinus</enum>
192 </property> 192 </property>
193 <property stdset="1"> 193 <property stdset="1">
194 <name>maxValue</name> 194 <name>maxValue</name>
195 <number>3600</number> 195 <number>3600</number>
196 </property> 196 </property>
197 <property stdset="1"> 197 <property stdset="1">
198 <name>minValue</name> 198 <name>minValue</name>
199 <number>0</number> 199 <number>0</number>
200 </property> 200 </property>
201 <property stdset="1"> 201 <property stdset="1">
202 <name>lineStep</name> 202 <name>lineStep</name>
203 <number>10</number> 203 <number>10</number>
204 </property> 204 </property>
205 </widget> 205 </widget>
206 <widget row="2" column="1" > 206 <widget row="2" column="1" >
207 <class>QSpinBox</class> 207 <class>QSpinBox</class>
208 <property stdset="1"> 208 <property stdset="1">
209 <name>name</name> 209 <name>name</name>
210 <cstring>interval_suspend</cstring> 210 <cstring>interval_suspend</cstring>
211 </property> 211 </property>
212 <property stdset="1"> 212 <property stdset="1">
213 <name>suffix</name> 213 <name>suffix</name>
214 <string> sec</string> 214 <string> sec</string>
215 </property> 215 </property>
216 <property stdset="1"> 216 <property stdset="1">
217 <name>specialValueText</name> 217 <name>specialValueText</name>
218 <string>never</string> 218 <string>never</string>
219 </property> 219 </property>
220 <property stdset="1"> 220 <property stdset="1">
221 <name>buttonSymbols</name> 221 <name>buttonSymbols</name>
222 <enum>PlusMinus</enum> 222 <enum>PlusMinus</enum>
223 </property> 223 </property>
224 <property stdset="1"> 224 <property stdset="1">
225 <name>maxValue</name> 225 <name>maxValue</name>
226 <number>3600</number> 226 <number>3600</number>
227 </property> 227 </property>
228 <property stdset="1"> 228 <property stdset="1">
229 <name>minValue</name> 229 <name>minValue</name>
230 <number>0</number> 230 <number>0</number>
231 </property> 231 </property>
232 <property stdset="1"> 232 <property stdset="1">
233 <name>lineStep</name> 233 <name>lineStep</name>
234 <number>10</number> 234 <number>10</number>
235 </property> 235 </property>
236 </widget> 236 </widget>
237 <widget row="2" column="0" > 237 <widget row="2" column="0" >
238 <class>QLabel</class> 238 <class>QLabel</class>
239 <property stdset="1"> 239 <property stdset="1">
240 <name>name</name> 240 <name>name</name>
241 <cstring>TextLabel1_2</cstring> 241 <cstring>TextLabel1_2</cstring>
242 </property> 242 </property>
243 <property stdset="1"> 243 <property stdset="1">
244 <name>sizePolicy</name> 244 <name>sizePolicy</name>
245 <sizepolicy> 245 <sizepolicy>
246 <hsizetype>3</hsizetype> 246 <hsizetype>3</hsizetype>
247 <vsizetype>1</vsizetype> 247 <vsizetype>1</vsizetype>
248 </sizepolicy> 248 </sizepolicy>
249 </property> 249 </property>
250 <property stdset="1"> 250 <property stdset="1">
251 <name>text</name> 251 <name>text</name>
252 <string>Suspend after</string> 252 <string>Suspend after</string>
253 </property> 253 </property>
254 </widget> 254 </widget>
255 <widget row="3" column="0" rowspan="1" colspan="2" > 255 <widget row="3" column="0" rowspan="1" colspan="2" >
256 <class>QCheckBox</class> 256 <class>QCheckBox</class>
257 <property stdset="1"> 257 <property stdset="1">
258 <name>name</name> 258 <name>name</name>
259 <cstring>LcdOffOnly</cstring> 259 <cstring>LcdOffOnly</cstring>
260 </property> 260 </property>
261 <property stdset="1"> 261 <property stdset="1">
262 <name>sizePolicy</name> 262 <name>sizePolicy</name>
263 <sizepolicy> 263 <sizepolicy>
264 <hsizetype>7</hsizetype> 264 <hsizetype>7</hsizetype>
265 <vsizetype>0</vsizetype> 265 <vsizetype>0</vsizetype>
266 </sizepolicy> 266 </sizepolicy>
267 </property> 267 </property>
268 <property stdset="1"> 268 <property stdset="1">
269 <name>text</name> 269 <name>text</name>
270 <string>Deactivate LCD only (does not suspend)</string> 270 <string>Deactivate LCD only (does not suspend)</string>
271 </property> 271 </property>
272 </widget> 272 </widget>
273 </grid> 273 </grid>
274 </widget> 274 </widget>
275 <widget> 275 <widget>
276 <class>QGroupBox</class> 276 <class>QGroupBox</class>
277 <property stdset="1"> 277 <property stdset="1">
278 <name>name</name> 278 <name>name</name>
279 <cstring>GroupBox9</cstring> 279 <cstring>GroupBox9</cstring>
280 </property> 280 </property>
281 <property stdset="1"> 281 <property stdset="1">
282 <name>title</name> 282 <name>title</name>
283 <string>Backlight</string> 283 <string>Backlight</string>
284 </property> 284 </property>
285 <property> 285 <property>
286 <name>layoutMargin</name> 286 <name>layoutMargin</name>
287 </property> 287 </property>
288 <property> 288 <property>
289 <name>layoutSpacing</name> 289 <name>layoutSpacing</name>
290 </property> 290 </property>
291 <vbox> 291 <vbox>
292 <property stdset="1"> 292 <property stdset="1">
293 <name>margin</name> 293 <name>margin</name>
294 <number>5</number> 294 <number>5</number>
295 </property> 295 </property>
296 <property stdset="1"> 296 <property stdset="1">
297 <name>spacing</name> 297 <name>spacing</name>
298 <number>3</number> 298 <number>3</number>
299 </property> 299 </property>
300 <widget> 300 <widget>
301 <class>QSlider</class> 301 <class>QSlider</class>
302 <property stdset="1"> 302 <property stdset="1">
303 <name>name</name> 303 <name>name</name>
304 <cstring>brightness</cstring> 304 <cstring>brightness</cstring>
305 </property> 305 </property>
306 <property stdset="1"> 306 <property stdset="1">
307 <name>maxValue</name> 307 <name>maxValue</name>
308 <number>255</number> 308 <number>255</number>
309 </property> 309 </property>
310 <property stdset="1"> 310 <property stdset="1">
311 <name>lineStep</name> 311 <name>lineStep</name>
312 <number>1</number> 312 <number>1</number>
313 </property> 313 </property>
314 <property stdset="1"> 314 <property stdset="1">
315 <name>pageStep</name> 315 <name>pageStep</name>
316 <number>16</number> 316 <number>16</number>
317 </property> 317 </property>
318 <property stdset="1"> 318 <property stdset="1">
319 <name>tracking</name> 319 <name>tracking</name>
320 <bool>true</bool> 320 <bool>true</bool>
321 </property> 321 </property>
322 <property stdset="1"> 322 <property stdset="1">
323 <name>orientation</name> 323 <name>orientation</name>
324 <enum>Horizontal</enum> 324 <enum>Horizontal</enum>
325 </property> 325 </property>
326 <property stdset="1"> 326 <property stdset="1">
327 <name>tickmarks</name> 327 <name>tickmarks</name>
328 <enum>Right</enum> 328 <enum>Right</enum>
329 </property> 329 </property>
330 <property stdset="1"> 330 <property stdset="1">
331 <name>tickInterval</name> 331 <name>tickInterval</name>
332 <number>32</number> 332 <number>32</number>
333 </property> 333 </property>
334 <property> 334 <property>
335 <name>whatsThis</name> 335 <name>whatsThis</name>
336 <string>set a fix value for backlight</string> 336 <string>set a fix value for backlight</string>
337 </property> 337 </property>
338 </widget> 338 </widget>
339 <widget> 339 <widget>
340 <class>QLayoutWidget</class> 340 <class>QLayoutWidget</class>
341 <property stdset="1"> 341 <property stdset="1">
342 <name>name</name> 342 <name>name</name>
343 <cstring>Layout10</cstring> 343 <cstring>Layout10</cstring>
344 </property> 344 </property>
345 <property> 345 <property>
346 <name>layoutSpacing</name> 346 <name>layoutSpacing</name>
347 </property> 347 </property>
348 <hbox> 348 <hbox>
349 <property stdset="1"> 349 <property stdset="1">
350 <name>margin</name> 350 <name>margin</name>
351 <number>0</number> 351 <number>0</number>
352 </property> 352 </property>
353 <property stdset="1"> 353 <property stdset="1">
354 <name>spacing</name> 354 <name>spacing</name>
355 <number>3</number> 355 <number>3</number>
356 </property> 356 </property>
357 <widget> 357 <widget>
358 <class>QLabel</class> 358 <class>QLabel</class>
359 <property stdset="1"> 359 <property stdset="1">
360 <name>name</name> 360 <name>name</name>
361 <cstring>PixmapLabel2</cstring> 361 <cstring>PixmapLabel2</cstring>
362 </property> 362 </property>
363 <property stdset="1"> 363 <property stdset="1">
364 <name>pixmap</name> 364 <name>pixmap</name>
365 <pixmap>image0</pixmap> 365 <pixmap>image0</pixmap>
366 </property> 366 </property>
367 <property stdset="1"> 367 <property stdset="1">
368 <name>scaledContents</name> 368 <name>scaledContents</name>
369 <bool>false</bool> 369 <bool>false</bool>
370 </property> 370 </property>
371 </widget> 371 </widget>
372 <widget> 372 <widget>
373 <class>QLabel</class> 373 <class>QLabel</class>
374 <property stdset="1"> 374 <property stdset="1">
375 <name>name</name> 375 <name>name</name>
376 <cstring>TextLabel4</cstring> 376 <cstring>TextLabel4</cstring>
377 </property> 377 </property>
378 <property stdset="1"> 378 <property stdset="1">
379 <name>text</name> 379 <name>text</name>
380 <string>Off</string> 380 <string>Off</string>
381 </property> 381 </property>
382 </widget> 382 </widget>
383 <spacer> 383 <spacer>
384 <property> 384 <property>
385 <name>name</name> 385 <name>name</name>
386 <cstring>Spacer2</cstring> 386 <cstring>Spacer2</cstring>
387 </property> 387 </property>
388 <property stdset="1"> 388 <property stdset="1">
389 <name>orientation</name> 389 <name>orientation</name>
390 <enum>Horizontal</enum> 390 <enum>Horizontal</enum>
391 </property> 391 </property>
392 <property stdset="1"> 392 <property stdset="1">
393 <name>sizeType</name> 393 <name>sizeType</name>
394 <enum>Expanding</enum> 394 <enum>Expanding</enum>
395 </property> 395 </property>
396 <property> 396 <property>
397 <name>sizeHint</name> 397 <name>sizeHint</name>
398 <size> 398 <size>
399 <width>20</width> 399 <width>20</width>
400 <height>20</height> 400 <height>20</height>
401 </size> 401 </size>
402 </property> 402 </property>
403 </spacer> 403 </spacer>
404 <widget> 404 <widget>
405 <class>QLabel</class> 405 <class>QLabel</class>
406 <property stdset="1"> 406 <property stdset="1">
407 <name>name</name> 407 <name>name</name>
408 <cstring>TextLabel5</cstring> 408 <cstring>TextLabel5</cstring>
409 </property> 409 </property>
410 <property stdset="1"> 410 <property stdset="1">
411 <name>text</name> 411 <name>text</name>
412 <string>Full</string> 412 <string>Full</string>
413 </property> 413 </property>
414 </widget> 414 </widget>
415 <widget> 415 <widget>
416 <class>QLabel</class> 416 <class>QLabel</class>
417 <property stdset="1"> 417 <property stdset="1">
418 <name>name</name> 418 <name>name</name>
419 <cstring>PixmapLabel1</cstring> 419 <cstring>PixmapLabel1</cstring>
420 </property> 420 </property>
421 <property stdset="1"> 421 <property stdset="1">
422 <name>pixmap</name> 422 <name>pixmap</name>
423 <pixmap>image1</pixmap> 423 <pixmap>image1</pixmap>
424 </property> 424 </property>
425 <property stdset="1"> 425 <property stdset="1">
426 <name>scaledContents</name> 426 <name>scaledContents</name>
427 <bool>false</bool> 427 <bool>false</bool>
428 </property> 428 </property>
429 </widget> 429 </widget>
430 </hbox> 430 </hbox>
431 </widget> 431 </widget>
432 <widget> 432 <widget>
433 <class>QLayoutWidget</class> 433 <class>QLayoutWidget</class>
434 <property stdset="1"> 434 <property stdset="1">
435 <name>name</name> 435 <name>name</name>
436 <cstring>Layout9</cstring> 436 <cstring>Layout9</cstring>
437 </property> 437 </property>
438 <property> 438 <property>
439 <name>layoutSpacing</name> 439 <name>layoutSpacing</name>
440 </property> 440 </property>
441 <hbox> 441 <hbox>
442 <property stdset="1"> 442 <property stdset="1">
443 <name>margin</name> 443 <name>margin</name>
444 <number>0</number> 444 <number>0</number>
445 </property> 445 </property>
446 <property stdset="1"> 446 <property stdset="1">
447 <name>spacing</name> 447 <name>spacing</name>
448 <number>3</number> 448 <number>3</number>
449 </property> 449 </property>
450 <widget> 450 <widget>
451 <class>QCheckBox</class> 451 <class>QCheckBox</class>
452 <property stdset="1"> 452 <property stdset="1">
453 <name>name</name> 453 <name>name</name>
454 <cstring>auto_brightness</cstring> 454 <cstring>auto_brightness</cstring>
455 </property> 455 </property>
456 <property stdset="1"> 456 <property stdset="1">
457 <name>text</name> 457 <name>text</name>
458 <string>Use Light Sensor</string> 458 <string>Use Light Sensor</string>
459 </property> 459 </property>
460 <property> 460 <property>
461 <name>whatsThis</name> 461 <name>whatsThis</name>
462 <string>By sensing the ambient light where you are using your device, the screen light can be adjusted automatically. The brightness setting still affects the average brightness.</string> 462 <string>By sensing the ambient light where you are using your device, the screen light can be adjusted automatically. The brightness setting still affects the average brightness.</string>
463 </property> 463 </property>
464 </widget> 464 </widget>
465 <widget> 465 <widget>
466 <class>QPushButton</class> 466 <class>QPushButton</class>
467 <property stdset="1"> 467 <property stdset="1">
468 <name>name</name> 468 <name>name</name>
469 <cstring>CalibrateLightSensor</cstring> 469 <cstring>CalibrateLightSensor</cstring>
470 </property> 470 </property>
471 <property stdset="1"> 471 <property stdset="1">
472 <name>text</name> 472 <name>text</name>
473 <string>Calibrate</string> 473 <string>Calibrate</string>
474 </property> 474 </property>
475 <property> 475 <property>
476 <name>whatsThis</name> 476 <name>whatsThis</name>
477 <string>Advanced settings for light sensor handling</string> 477 <string>Advanced settings for light sensor handling</string>
478 </property> 478 </property>
479 </widget> 479 </widget>
480 </hbox> 480 </hbox>
481 </widget> 481 </widget>
482 </vbox> 482 </vbox>
483 </widget> 483 </widget>
484 <spacer> 484 <spacer>
485 <property> 485 <property>
486 <name>name</name> 486 <name>name</name>
487 <cstring>Spacer4</cstring> 487 <cstring>Spacer4</cstring>
488 </property> 488 </property>
489 <property stdset="1"> 489 <property stdset="1">
490 <name>orientation</name> 490 <name>orientation</name>
491 <enum>Vertical</enum> 491 <enum>Vertical</enum>
492 </property> 492 </property>
493 <property stdset="1"> 493 <property stdset="1">
494 <name>sizeType</name> 494 <name>sizeType</name>
495 <enum>Expanding</enum> 495 <enum>Expanding</enum>
496 </property> 496 </property>
497 <property> 497 <property>
498 <name>sizeHint</name> 498 <name>sizeHint</name>
499 <size> 499 <size>
500 <width>20</width> 500 <width>20</width>
501 <height>20</height> 501 <height>20</height>
502 </size> 502 </size>
503 </property> 503 </property>
504 </spacer> 504 </spacer>
505 </vbox> 505 </vbox>
506 </widget> 506 </widget>
507 <widget> 507 <widget>
508 <class>QWidget</class> 508 <class>QWidget</class>
509 <property stdset="1"> 509 <property stdset="1">
510 <name>name</name> 510 <name>name</name>
511 <cstring>tab</cstring> 511 <cstring>tab</cstring>
512 </property> 512 </property>
513 <attribute> 513 <attribute>
514 <name>title</name> 514 <name>title</name>
515 <string>on AC</string> 515 <string>on AC</string>
516 </attribute> 516 </attribute>
517 <vbox> 517 <vbox>
518 <property stdset="1"> 518 <property stdset="1">
519 <name>margin</name> 519 <name>margin</name>
520 <number>5</number> 520 <number>5</number>
521 </property> 521 </property>
522 <property stdset="1"> 522 <property stdset="1">
523 <name>spacing</name> 523 <name>spacing</name>
524 <number>3</number> 524 <number>3</number>
525 </property> 525 </property>
526 <widget> 526 <widget>
527 <class>QGroupBox</class> 527 <class>QGroupBox</class>
528 <property stdset="1"> 528 <property stdset="1">
529 <name>name</name> 529 <name>name</name>
530 <cstring>GroupBox4</cstring> 530 <cstring>GroupBox4</cstring>
531 </property> 531 </property>
532 <property stdset="1"> 532 <property stdset="1">
533 <name>enabled</name> 533 <name>enabled</name>
534 <bool>true</bool> 534 <bool>true</bool>
535 </property> 535 </property>
536 <property stdset="1"> 536 <property stdset="1">
537 <name>title</name> 537 <name>title</name>
538 <string>General Settings</string> 538 <string>General Settings</string>
539 </property> 539 </property>
540 <property> 540 <property>
541 <name>layoutMargin</name> 541 <name>layoutMargin</name>
542 </property> 542 </property>
543 <property> 543 <property>
544 <name>layoutSpacing</name> 544 <name>layoutSpacing</name>
545 </property> 545 </property>
546 <grid> 546 <grid>
547 <property stdset="1"> 547 <property stdset="1">
548 <name>margin</name> 548 <name>margin</name>
549 <number>5</number> 549 <number>5</number>
550 </property> 550 </property>
551 <property stdset="1"> 551 <property stdset="1">
552 <name>spacing</name> 552 <name>spacing</name>
553 <number>3</number> 553 <number>3</number>
554 </property> 554 </property>
555 <widget row="1" column="1" > 555 <widget row="1" column="1" >
556 <class>QSpinBox</class> 556 <class>QSpinBox</class>
557 <property stdset="1"> 557 <property stdset="1">
558 <name>name</name> 558 <name>name</name>
559 <cstring>interval_lightoff_ac_3</cstring> 559 <cstring>interval_lightoff_ac_3</cstring>
560 </property> 560 </property>
561 <property stdset="1"> 561 <property stdset="1">
562 <name>suffix</name> 562 <name>suffix</name>
563 <string> sec</string> 563 <string> sec</string>
564 </property> 564 </property>
565 <property stdset="1"> 565 <property stdset="1">
566 <name>specialValueText</name> 566 <name>specialValueText</name>
567 <string>never</string> 567 <string>never</string>
568 </property> 568 </property>
569 <property stdset="1"> 569 <property stdset="1">
570 <name>buttonSymbols</name> 570 <name>buttonSymbols</name>
571 <enum>PlusMinus</enum> 571 <enum>PlusMinus</enum>
572 </property> 572 </property>
573 <property stdset="1"> 573 <property stdset="1">
574 <name>maxValue</name> 574 <name>maxValue</name>
575 <number>3600</number> 575 <number>3600</number>
576 </property> 576 </property>
577 <property stdset="1"> 577 <property stdset="1">
578 <name>minValue</name> 578 <name>minValue</name>
579 <number>0</number> 579 <number>0</number>
580 </property> 580 </property>
581 <property stdset="1"> 581 <property stdset="1">
582 <name>lineStep</name> 582 <name>lineStep</name>
583 <number>10</number> 583 <number>10</number>
584 </property> 584 </property>
585 </widget> 585 </widget>
586 <widget row="0" column="0" > 586 <widget row="0" column="0" >
587 <class>QLabel</class> 587 <class>QLabel</class>
588 <property stdset="1"> 588 <property stdset="1">
589 <name>name</name> 589 <name>name</name>
590 <cstring>TextLabel1_3_2</cstring> 590 <cstring>TextLabel1_3_2</cstring>
591 </property> 591 </property>
592 <property stdset="1"> 592 <property stdset="1">
593 <name>sizePolicy</name> 593 <name>sizePolicy</name>
594 <sizepolicy> 594 <sizepolicy>
595 <hsizetype>3</hsizetype> 595 <hsizetype>3</hsizetype>
596 <vsizetype>1</vsizetype> 596 <vsizetype>1</vsizetype>
597 </sizepolicy> 597 </sizepolicy>
598 </property> 598 </property>
599 <property stdset="1"> 599 <property stdset="1">
600 <name>text</name> 600 <name>text</name>
601 <string>Dim light after</string> 601 <string>Dim light after</string>
602 </property> 602 </property>
603 </widget> 603 </widget>
604 <widget row="2" column="1" > 604 <widget row="2" column="1" >
605 <class>QSpinBox</class> 605 <class>QSpinBox</class>
606 <property stdset="1"> 606 <property stdset="1">
607 <name>name</name> 607 <name>name</name>
608 <cstring>interval_suspend_ac_3</cstring> 608 <cstring>interval_suspend_ac_3</cstring>
609 </property> 609 </property>
610 <property stdset="1"> 610 <property stdset="1">
611 <name>suffix</name> 611 <name>suffix</name>
612 <string> sec</string> 612 <string> sec</string>
613 </property> 613 </property>
614 <property stdset="1"> 614 <property stdset="1">
615 <name>specialValueText</name> 615 <name>specialValueText</name>
616 <string>never</string> 616 <string>never</string>
617 </property> 617 </property>
618 <property stdset="1"> 618 <property stdset="1">
619 <name>buttonSymbols</name> 619 <name>buttonSymbols</name>
620 <enum>PlusMinus</enum> 620 <enum>PlusMinus</enum>
621 </property> 621 </property>
622 <property stdset="1"> 622 <property stdset="1">
623 <name>maxValue</name> 623 <name>maxValue</name>
624 <number>3600</number> 624 <number>3600</number>
625 </property> 625 </property>
626 <property stdset="1"> 626 <property stdset="1">
627 <name>minValue</name> 627 <name>minValue</name>
628 <number>0</number> 628 <number>0</number>
629 </property> 629 </property>
630 <property stdset="1"> 630 <property stdset="1">
631 <name>lineStep</name> 631 <name>lineStep</name>
632 <number>10</number> 632 <number>10</number>
633 </property> 633 </property>
634 </widget> 634 </widget>
635 <widget row="2" column="0" > 635 <widget row="2" column="0" >
636 <class>QLabel</class> 636 <class>QLabel</class>
637 <property stdset="1"> 637 <property stdset="1">
638 <name>name</name> 638 <name>name</name>
639 <cstring>TextLabel1_2_2_3</cstring> 639 <cstring>TextLabel1_2_2_3</cstring>
640 </property> 640 </property>
641 <property stdset="1"> 641 <property stdset="1">
642 <name>sizePolicy</name> 642 <name>sizePolicy</name>
643 <sizepolicy> 643 <sizepolicy>
644 <hsizetype>3</hsizetype> 644 <hsizetype>3</hsizetype>
645 <vsizetype>1</vsizetype> 645 <vsizetype>1</vsizetype>
646 </sizepolicy> 646 </sizepolicy>
647 </property> 647 </property>
648 <property stdset="1"> 648 <property stdset="1">
649 <name>text</name> 649 <name>text</name>
650 <string>Suspend after</string> 650 <string>Suspend after</string>
651 </property> 651 </property>
652 </widget> 652 </widget>
653 <widget row="0" column="1" > 653 <widget row="0" column="1" >
654 <class>QSpinBox</class> 654 <class>QSpinBox</class>
655 <property stdset="1"> 655 <property stdset="1">
656 <name>name</name> 656 <name>name</name>
657 <cstring>interval_dim_ac_3</cstring> 657 <cstring>interval_dim_ac_3</cstring>
658 </property> 658 </property>
659 <property stdset="1"> 659 <property stdset="1">
660 <name>suffix</name> 660 <name>suffix</name>
661 <string> sec</string> 661 <string> sec</string>
662 </property> 662 </property>
663 <property stdset="1"> 663 <property stdset="1">
664 <name>specialValueText</name> 664 <name>specialValueText</name>
665 <string>never</string> 665 <string>never</string>
666 </property> 666 </property>
667 <property stdset="1"> 667 <property stdset="1">
668 <name>buttonSymbols</name> 668 <name>buttonSymbols</name>
669 <enum>PlusMinus</enum> 669 <enum>PlusMinus</enum>
670 </property> 670 </property>
671 <property stdset="1"> 671 <property stdset="1">
672 <name>maxValue</name> 672 <name>maxValue</name>
673 <number>3600</number> 673 <number>3600</number>
674 </property> 674 </property>
675 <property stdset="1"> 675 <property stdset="1">
676 <name>minValue</name> 676 <name>minValue</name>
677 <number>0</number> 677 <number>0</number>
678 </property> 678 </property>
679 <property stdset="1"> 679 <property stdset="1">
680 <name>lineStep</name> 680 <name>lineStep</name>
681 <number>10</number> 681 <number>10</number>
682 </property> 682 </property>
683 </widget> 683 </widget>
684 <widget row="1" column="0" > 684 <widget row="1" column="0" >
685 <class>QLabel</class> 685 <class>QLabel</class>
686 <property stdset="1"> 686 <property stdset="1">
687 <name>name</name> 687 <name>name</name>
688 <cstring>TextLabel2_2_2</cstring> 688 <cstring>TextLabel2_2_2</cstring>
689 </property> 689 </property>
690 <property stdset="1"> 690 <property stdset="1">
691 <name>sizePolicy</name> 691 <name>sizePolicy</name>
692 <sizepolicy> 692 <sizepolicy>
693 <hsizetype>3</hsizetype> 693 <hsizetype>3</hsizetype>
694 <vsizetype>1</vsizetype> 694 <vsizetype>1</vsizetype>
695 </sizepolicy> 695 </sizepolicy>
696 </property> 696 </property>
697 <property stdset="1"> 697 <property stdset="1">
698 <name>text</name> 698 <name>text</name>
699 <string>Light off after</string> 699 <string>Light off after</string>
700 </property> 700 </property>
701 </widget> 701 </widget>
702 <widget row="3" column="0" rowspan="1" colspan="2" > 702 <widget row="3" column="0" rowspan="1" colspan="2" >
703 <class>QCheckBox</class> 703 <class>QCheckBox</class>
704 <property stdset="1"> 704 <property stdset="1">
705 <name>name</name> 705 <name>name</name>
706 <cstring>LcdOffOnly_2_3</cstring> 706 <cstring>LcdOffOnly_2_3</cstring>
707 </property> 707 </property>
708 <property stdset="1"> 708 <property stdset="1">
709 <name>sizePolicy</name> 709 <name>sizePolicy</name>
710 <sizepolicy> 710 <sizepolicy>
711 <hsizetype>7</hsizetype> 711 <hsizetype>7</hsizetype>
712 <vsizetype>0</vsizetype> 712 <vsizetype>0</vsizetype>
713 </sizepolicy> 713 </sizepolicy>
714 </property> 714 </property>
715 <property stdset="1"> 715 <property stdset="1">
716 <name>text</name> 716 <name>text</name>
717 <string>Deactivate LCD only (does not suspend)</string> 717 <string>Deactivate LCD only (does not suspend)</string>
718 </property> 718 </property>
719 </widget> 719 </widget>
720 </grid> 720 </grid>
721 </widget> 721 </widget>
722 <widget> 722 <widget>
723 <class>QGroupBox</class> 723 <class>QGroupBox</class>
724 <property stdset="1"> 724 <property stdset="1">
725 <name>name</name> 725 <name>name</name>
726 <cstring>GroupBox8</cstring> 726 <cstring>GroupBox8</cstring>
727 </property> 727 </property>
728 <property stdset="1"> 728 <property stdset="1">
729 <name>title</name> 729 <name>title</name>
730 <string>Backlight</string> 730 <string>Backlight</string>
731 </property> 731 </property>
732 <property> 732 <property>
733 <name>layoutMargin</name> 733 <name>layoutMargin</name>
734 </property> 734 </property>
735 <property> 735 <property>
736 <name>layoutSpacing</name> 736 <name>layoutSpacing</name>
737 </property> 737 </property>
738 <vbox> 738 <vbox>
739 <property stdset="1"> 739 <property stdset="1">
740 <name>margin</name> 740 <name>margin</name>
741 <number>5</number> 741 <number>5</number>
742 </property> 742 </property>
743 <property stdset="1"> 743 <property stdset="1">
744 <name>spacing</name> 744 <name>spacing</name>
745 <number>3</number> 745 <number>3</number>
746 </property> 746 </property>
747 <widget> 747 <widget>
748 <class>QSlider</class> 748 <class>QSlider</class>
749 <property stdset="1"> 749 <property stdset="1">
750 <name>name</name> 750 <name>name</name>
751 <cstring>brightness_ac_3</cstring> 751 <cstring>brightness_ac_3</cstring>
752 </property> 752 </property>
753 <property stdset="1"> 753 <property stdset="1">
754 <name>minValue</name> 754 <name>minValue</name>
755 <number>0</number> 755 <number>0</number>
756 </property> 756 </property>
757 <property stdset="1"> 757 <property stdset="1">
758 <name>maxValue</name> 758 <name>maxValue</name>
759 <number>255</number> 759 <number>255</number>
760 </property> 760 </property>
761 <property stdset="1"> 761 <property stdset="1">
762 <name>lineStep</name> 762 <name>lineStep</name>
763 <number>16</number> 763 <number>16</number>
764 </property> 764 </property>
765 <property stdset="1"> 765 <property stdset="1">
766 <name>pageStep</name> 766 <name>pageStep</name>
767 <number>16</number> 767 <number>16</number>
768 </property> 768 </property>
769 <property stdset="1"> 769 <property stdset="1">
770 <name>value</name> 770 <name>value</name>
771 <number>255</number> 771 <number>255</number>
772 </property> 772 </property>
773 <property stdset="1"> 773 <property stdset="1">
774 <name>tracking</name> 774 <name>tracking</name>
775 <bool>true</bool> 775 <bool>true</bool>
776 </property> 776 </property>
777 <property stdset="1"> 777 <property stdset="1">
778 <name>orientation</name> 778 <name>orientation</name>
779 <enum>Horizontal</enum> 779 <enum>Horizontal</enum>
780 </property> 780 </property>
781 <property stdset="1"> 781 <property stdset="1">
782 <name>tickmarks</name> 782 <name>tickmarks</name>
783 <enum>Right</enum> 783 <enum>Right</enum>
784 </property> 784 </property>
785 <property> 785 <property>
786 <name>whatsThis</name> 786 <name>whatsThis</name>
787 <string>set a fix value for backlight</string> 787 <string>set a fix value for backlight</string>
788 </property> 788 </property>
789 </widget> 789 </widget>
790 <widget> 790 <widget>
791 <class>QLayoutWidget</class> 791 <class>QLayoutWidget</class>
792 <property stdset="1"> 792 <property stdset="1">
793 <name>name</name> 793 <name>name</name>
794 <cstring>Layout20</cstring> 794 <cstring>Layout20</cstring>
795 </property> 795 </property>
796 <property> 796 <property>
797 <name>layoutSpacing</name> 797 <name>layoutSpacing</name>
798 </property> 798 </property>
799 <hbox> 799 <hbox>
800 <property stdset="1"> 800 <property stdset="1">
801 <name>margin</name> 801 <name>margin</name>
802 <number>0</number> 802 <number>0</number>
803 </property> 803 </property>
804 <property stdset="1"> 804 <property stdset="1">
805 <name>spacing</name> 805 <name>spacing</name>
806 <number>3</number> 806 <number>3</number>
807 </property> 807 </property>
808 <widget> 808 <widget>
809 <class>QLabel</class> 809 <class>QLabel</class>
810 <property stdset="1"> 810 <property stdset="1">
811 <name>name</name> 811 <name>name</name>
812 <cstring>PixmapLabel2_2_3</cstring> 812 <cstring>PixmapLabel2_2_3</cstring>
813 </property> 813 </property>
814 <property stdset="1"> 814 <property stdset="1">
815 <name>pixmap</name> 815 <name>pixmap</name>
816 <pixmap>image2</pixmap> 816 <pixmap>image2</pixmap>
817 </property> 817 </property>
818 <property stdset="1"> 818 <property stdset="1">
819 <name>scaledContents</name> 819 <name>scaledContents</name>
820 <bool>false</bool> 820 <bool>false</bool>
821 </property> 821 </property>
822 </widget> 822 </widget>
823 <widget> 823 <widget>
824 <class>QLabel</class> 824 <class>QLabel</class>
825 <property stdset="1"> 825 <property stdset="1">
826 <name>name</name> 826 <name>name</name>
827 <cstring>TextLabel6</cstring> 827 <cstring>TextLabel6</cstring>
828 </property> 828 </property>
829 <property stdset="1"> 829 <property stdset="1">
830 <name>text</name> 830 <name>text</name>
831 <string>Off</string> 831 <string>Off</string>
832 </property> 832 </property>
833 </widget> 833 </widget>
834 <spacer> 834 <spacer>
835 <property> 835 <property>
836 <name>name</name> 836 <name>name</name>
837 <cstring>Spacer3</cstring> 837 <cstring>Spacer3</cstring>
838 </property> 838 </property>
839 <property stdset="1"> 839 <property stdset="1">
840 <name>orientation</name> 840 <name>orientation</name>
841 <enum>Horizontal</enum> 841 <enum>Horizontal</enum>
842 </property> 842 </property>
843 <property stdset="1"> 843 <property stdset="1">
844 <name>sizeType</name> 844 <name>sizeType</name>
845 <enum>Expanding</enum> 845 <enum>Expanding</enum>
846 </property> 846 </property>
847 <property> 847 <property>
848 <name>sizeHint</name> 848 <name>sizeHint</name>
849 <size> 849 <size>
850 <width>20</width> 850 <width>20</width>
851 <height>20</height> 851 <height>20</height>
852 </size> 852 </size>
853 </property> 853 </property>
854 </spacer> 854 </spacer>
855 <widget> 855 <widget>
856 <class>QLabel</class> 856 <class>QLabel</class>
857 <property stdset="1"> 857 <property stdset="1">
858 <name>name</name> 858 <name>name</name>
859 <cstring>TextLabel7</cstring> 859 <cstring>TextLabel7</cstring>
860 </property> 860 </property>
861 <property stdset="1"> 861 <property stdset="1">
862 <name>text</name> 862 <name>text</name>
863 <string>Full</string> 863 <string>Full</string>
864 </property> 864 </property>
865 </widget> 865 </widget>
866 <widget> 866 <widget>
867 <class>QLabel</class> 867 <class>QLabel</class>
868 <property stdset="1"> 868 <property stdset="1">
869 <name>name</name> 869 <name>name</name>
870 <cstring>PixmapLabel1_2_3</cstring> 870 <cstring>PixmapLabel1_2_3</cstring>
871 </property> 871 </property>
872 <property stdset="1"> 872 <property stdset="1">
873 <name>pixmap</name> 873 <name>pixmap</name>
874 <pixmap>image1</pixmap> 874 <pixmap>image1</pixmap>
875 </property> 875 </property>
876 <property stdset="1"> 876 <property stdset="1">
877 <name>scaledContents</name> 877 <name>scaledContents</name>
878 <bool>false</bool> 878 <bool>false</bool>
879 </property> 879 </property>
880 </widget> 880 </widget>
881 </hbox> 881 </hbox>
882 </widget> 882 </widget>
883 <widget> 883 <widget>
884 <class>QLayoutWidget</class> 884 <class>QLayoutWidget</class>
885 <property stdset="1"> 885 <property stdset="1">
886 <name>name</name> 886 <name>name</name>
887 <cstring>Layout10</cstring> 887 <cstring>Layout10</cstring>
888 </property> 888 </property>
889 <property> 889 <property>
890 <name>layoutSpacing</name> 890 <name>layoutSpacing</name>
891 </property> 891 </property>
892 <hbox> 892 <hbox>
893 <property stdset="1"> 893 <property stdset="1">
894 <name>margin</name> 894 <name>margin</name>
895 <number>0</number> 895 <number>0</number>
896 </property> 896 </property>
897 <property stdset="1"> 897 <property stdset="1">
898 <name>spacing</name> 898 <name>spacing</name>
899 <number>3</number> 899 <number>3</number>
900 </property> 900 </property>
901 <widget> 901 <widget>
902 <class>QCheckBox</class> 902 <class>QCheckBox</class>
903 <property stdset="1"> 903 <property stdset="1">
904 <name>name</name> 904 <name>name</name>
905 <cstring>auto_brightness_ac_3</cstring> 905 <cstring>auto_brightness_ac_3</cstring>
906 </property> 906 </property>
907 <property stdset="1"> 907 <property stdset="1">
908 <name>text</name> 908 <name>text</name>
909 <string>Use Light Sensor</string> 909 <string>Use Light Sensor</string>
910 </property> 910 </property>
911 <property> 911 <property>
912 <name>whatsThis</name> 912 <name>whatsThis</name>
913 <string>By sensing the ambient light where you are using your device, the screen light can be adjusted automatically. The brightness setting still affects the average brightness.</string> 913 <string>By sensing the ambient light where you are using your device, the screen light can be adjusted automatically. The brightness setting still affects the average brightness.</string>
914 </property> 914 </property>
915 </widget> 915 </widget>
916 <widget> 916 <widget>
917 <class>QPushButton</class> 917 <class>QPushButton</class>
918 <property stdset="1"> 918 <property stdset="1">
919 <name>name</name> 919 <name>name</name>
920 <cstring>CalibrateLightSensorAC</cstring> 920 <cstring>CalibrateLightSensorAC</cstring>
921 </property> 921 </property>
922 <property stdset="1"> 922 <property stdset="1">
923 <name>text</name> 923 <name>text</name>
924 <string>Calibrate</string> 924 <string>Calibrate</string>
925 </property> 925 </property>
926 <property> 926 <property>
927 <name>whatsThis</name> 927 <name>whatsThis</name>
928 <string>Advanced settings for light sensor handling</string> 928 <string>Advanced settings for light sensor handling</string>
929 </property> 929 </property>
930 </widget> 930 </widget>
931 </hbox> 931 </hbox>
932 </widget> 932 </widget>
933 </vbox> 933 </vbox>
934 </widget> 934 </widget>
935 <spacer> 935 <spacer>
936 <property> 936 <property>
937 <name>name</name> 937 <name>name</name>
938 <cstring>Spacer5</cstring> 938 <cstring>Spacer5</cstring>
939 </property> 939 </property>
940 <property stdset="1"> 940 <property stdset="1">
941 <name>orientation</name> 941 <name>orientation</name>
942 <enum>Vertical</enum> 942 <enum>Vertical</enum>
943 </property> 943 </property>
944 <property stdset="1"> 944 <property stdset="1">
945 <name>sizeType</name> 945 <name>sizeType</name>
946 <enum>Expanding</enum> 946 <enum>Expanding</enum>
947 </property> 947 </property>
948 <property> 948 <property>
949 <name>sizeHint</name> 949 <name>sizeHint</name>
950 <size> 950 <size>
951 <width>20</width> 951 <width>20</width>
952 <height>20</height> 952 <height>20</height>
953 </size> 953 </size>
954 </property> 954 </property>
955 </spacer> 955 </spacer>
956 </vbox> 956 </vbox>
957 </widget> 957 </widget>
958 <widget> 958 <widget>
959 <class>QWidget</class> 959 <class>QWidget</class>
960 <property stdset="1"> 960 <property stdset="1">
961 <name>name</name> 961 <name>name</name>
962 <cstring>tab</cstring> 962 <cstring>tab</cstring>
963 </property> 963 </property>
964 <attribute> 964 <attribute>
965 <name>title</name> 965 <name>title</name>
966 <string>Warnings</string> 966 <string>Warnings</string>
967 </attribute> 967 </attribute>
968 <vbox> 968 <vbox>
969 <property stdset="1"> 969 <property stdset="1">
970 <name>margin</name> 970 <name>margin</name>
971 <number>5</number> 971 <number>5</number>
972 </property> 972 </property>
973 <property stdset="1"> 973 <property stdset="1">
974 <name>spacing</name> 974 <name>spacing</name>
975 <number>3</number> 975 <number>3</number>
976 </property> 976 </property>
977 <widget> 977 <widget>
978 <class>QGroupBox</class> 978 <class>QGroupBox</class>
979 <property stdset="1"> 979 <property stdset="1">
980 <name>name</name> 980 <name>name</name>
981 <cstring>GroupBox5</cstring> 981 <cstring>GroupBox5</cstring>
982 </property> 982 </property>
983 <property stdset="1"> 983 <property stdset="1">
984 <name>title</name> 984 <name>title</name>
985 <string>Warnings</string> 985 <string>Warnings</string>
986 </property> 986 </property>
987 <property> 987 <property>
988 <name>layoutMargin</name> 988 <name>layoutMargin</name>
989 </property> 989 </property>
990 <property> 990 <property>
991 <name>layoutSpacing</name> 991 <name>layoutSpacing</name>
992 </property> 992 </property>
993 <grid> 993 <grid>
994 <property stdset="1"> 994 <property stdset="1">
995 <name>margin</name> 995 <name>margin</name>
996 <number>5</number> 996 <number>5</number>
997 </property> 997 </property>
998 <property stdset="1"> 998 <property stdset="1">
999 <name>spacing</name> 999 <name>spacing</name>
1000 <number>3</number> 1000 <number>3</number>
1001 </property> 1001 </property>
1002 <widget row="0" column="0" > 1002 <widget row="0" column="0" >
1003 <class>QLabel</class> 1003 <class>QLabel</class>
1004 <property stdset="1"> 1004 <property stdset="1">
1005 <name>name</name> 1005 <name>name</name>
1006 <cstring>TextLabel1</cstring> 1006 <cstring>TextLabel1</cstring>
1007 </property> 1007 </property>
1008 <property stdset="1"> 1008 <property stdset="1">
1009 <name>sizePolicy</name> 1009 <name>sizePolicy</name>
1010 <sizepolicy> 1010 <sizepolicy>
1011 <hsizetype>3</hsizetype> 1011 <hsizetype>3</hsizetype>
1012 <vsizetype>5</vsizetype> 1012 <vsizetype>5</vsizetype>
1013 </sizepolicy> 1013 </sizepolicy>
1014 </property> 1014 </property>
1015 <property stdset="1"> 1015 <property stdset="1">
1016 <name>text</name> 1016 <name>text</name>
1017 <string>Low power warning interval</string> 1017 <string>Low power warning interval</string>
1018 </property> 1018 </property>
1019 <property stdset="1"> 1019 <property stdset="1">
1020 <name>alignment</name> 1020 <name>alignment</name>
1021 <set>WordBreak|AlignVCenter|AlignLeft</set> 1021 <set>WordBreak|AlignVCenter|AlignLeft</set>
1022 </property> 1022 </property>
1023 <property> 1023 <property>
1024 <name>wordwrap</name> 1024 <name>wordwrap</name>
1025 </property> 1025 </property>
1026 </widget> 1026 </widget>
1027 <widget row="1" column="1" > 1027 <widget row="1" column="1" >
1028 <class>QSpinBox</class> 1028 <class>QSpinBox</class>
1029 <property stdset="1"> 1029 <property stdset="1">
1030 <name>name</name> 1030 <name>name</name>
1031 <cstring>lowSpinBox</cstring> 1031 <cstring>lowSpinBox</cstring>
1032 </property> 1032 </property>
1033 <property stdset="1"> 1033 <property stdset="1">
1034 <name>suffix</name> 1034 <name>suffix</name>
1035 <string> %</string> 1035 <string> %</string>
1036 </property> 1036 </property>
1037 <property stdset="1"> 1037 <property stdset="1">
1038 <name>buttonSymbols</name> 1038 <name>buttonSymbols</name>
1039 <enum>PlusMinus</enum> 1039 <enum>PlusMinus</enum>
1040 </property> 1040 </property>
1041 <property stdset="1"> 1041 <property stdset="1">
1042 <name>maxValue</name> 1042 <name>maxValue</name>
1043 <number>80</number> 1043 <number>80</number>
1044 </property> 1044 </property>
1045 <property stdset="1"> 1045 <property stdset="1">
1046 <name>minValue</name> 1046 <name>minValue</name>
1047 <number>2</number> 1047 <number>2</number>
1048 </property> 1048 </property>
1049 <property> 1049 <property>
1050 <name>whatsThis</name> 1050 <name>whatsThis</name>
1051 <string>At what battery level should the low power warning pop up</string> 1051 <string>At what battery level should the low power warning pop up</string>
1052 </property> 1052 </property>
1053 </widget> 1053 </widget>
1054 <widget row="0" column="1" > 1054 <widget row="0" column="1" >
1055 <class>QSpinBox</class> 1055 <class>QSpinBox</class>
1056 <property stdset="1"> 1056 <property stdset="1">
1057 <name>name</name> 1057 <name>name</name>
1058 <cstring>warnintervalBox</cstring> 1058 <cstring>warnintervalBox</cstring>
1059 </property> 1059 </property>
1060 <property stdset="1"> 1060 <property stdset="1">
1061 <name>suffix</name> 1061 <name>suffix</name>
1062 <string> sec</string> 1062 <string> sec</string>
1063 </property> 1063 </property>
1064 <property stdset="1"> 1064 <property stdset="1">
1065 <name>specialValueText</name>
1066 <string>never</string>
1067 </property>
1068 <property stdset="1">
1069 <name>wrapping</name>
1070 <bool>true</bool>
1071 </property>
1072 <property stdset="1">
1065 <name>buttonSymbols</name> 1073 <name>buttonSymbols</name>
1066 <enum>PlusMinus</enum> 1074 <enum>PlusMinus</enum>
1067 </property> 1075 </property>
1068 <property stdset="1"> 1076 <property stdset="1">
1069 <name>maxValue</name> 1077 <name>maxValue</name>
1070 <number>60</number> 1078 <number>300</number>
1071 </property> 1079 </property>
1072 <property stdset="1"> 1080 <property stdset="1">
1073 <name>minValue</name> 1081 <name>minValue</name>
1082 <number>0</number>
1083 </property>
1084 <property stdset="1">
1085 <name>lineStep</name>
1086 <number>5</number>
1087 </property>
1088 <property stdset="1">
1089 <name>value</name>
1074 <number>5</number> 1090 <number>5</number>
1075 </property> 1091 </property>
1076 <property> 1092 <property>
1077 <name>whatsThis</name> 1093 <name>whatsThis</name>
1078 <string>how often should be checked for low power. This determines the rate popups occure in low power situations</string> 1094 <string>how often should be checked for low power. This determines the rate popups occure in low power situations</string>
1079 </property> 1095 </property>
1080 </widget> 1096 </widget>
1081 <widget row="2" column="1" > 1097 <widget row="2" column="1" >
1082 <class>QSpinBox</class> 1098 <class>QSpinBox</class>
1083 <property stdset="1"> 1099 <property stdset="1">
1084 <name>name</name> 1100 <name>name</name>
1085 <cstring>criticalSpinBox</cstring> 1101 <cstring>criticalSpinBox</cstring>
1086 </property> 1102 </property>
1087 <property stdset="1"> 1103 <property stdset="1">
1088 <name>prefix</name> 1104 <name>prefix</name>
1089 <string></string> 1105 <string></string>
1090 </property> 1106 </property>
1091 <property stdset="1"> 1107 <property stdset="1">
1092 <name>suffix</name> 1108 <name>suffix</name>
1093 <string> %</string> 1109 <string> %</string>
1094 </property> 1110 </property>
1095 <property stdset="1"> 1111 <property stdset="1">
1096 <name>buttonSymbols</name> 1112 <name>buttonSymbols</name>
1097 <enum>PlusMinus</enum> 1113 <enum>PlusMinus</enum>
1098 </property> 1114 </property>
1099 <property stdset="1"> 1115 <property stdset="1">
1100 <name>maxValue</name> 1116 <name>maxValue</name>
1101 <number>80</number> 1117 <number>80</number>
1102 </property> 1118 </property>
1103 <property stdset="1"> 1119 <property stdset="1">
1104 <name>minValue</name> 1120 <name>minValue</name>
1105 <number>2</number> 1121 <number>2</number>
1106 </property> 1122 </property>
1107 <property> 1123 <property>
1108 <name>whatsThis</name> 1124 <name>whatsThis</name>
1109 <string>At what battery level should the critical power warning pop up</string> 1125 <string>At what battery level should the critical power warning pop up</string>
1110 </property> 1126 </property>
1111 </widget> 1127 </widget>
1112 <widget row="1" column="0" > 1128 <widget row="1" column="0" >
1113 <class>QLabel</class> 1129 <class>QLabel</class>
1114 <property stdset="1"> 1130 <property stdset="1">
1115 <name>name</name> 1131 <name>name</name>
1116 <cstring>TextLabel2</cstring> 1132 <cstring>TextLabel2</cstring>
1117 </property> 1133 </property>
1118 <property stdset="1"> 1134 <property stdset="1">
1119 <name>sizePolicy</name> 1135 <name>sizePolicy</name>
1120 <sizepolicy> 1136 <sizepolicy>
1121 <hsizetype>1</hsizetype> 1137 <hsizetype>1</hsizetype>
1122 <vsizetype>5</vsizetype> 1138 <vsizetype>5</vsizetype>
1123 </sizepolicy> 1139 </sizepolicy>
1124 </property> 1140 </property>
1125 <property stdset="1"> 1141 <property stdset="1">
1126 <name>text</name> 1142 <name>text</name>
1127 <string>very low battery warning at</string> 1143 <string>very low battery warning at</string>
1128 </property> 1144 </property>
1129 </widget> 1145 </widget>
1130 <widget row="2" column="0" > 1146 <widget row="2" column="0" >
1131 <class>QLabel</class> 1147 <class>QLabel</class>
1132 <property stdset="1"> 1148 <property stdset="1">
1133 <name>name</name> 1149 <name>name</name>
1134 <cstring>TextLabel3</cstring> 1150 <cstring>TextLabel3</cstring>
1135 </property> 1151 </property>
1136 <property stdset="1"> 1152 <property stdset="1">
1137 <name>sizePolicy</name> 1153 <name>sizePolicy</name>
1138 <sizepolicy> 1154 <sizepolicy>
1139 <hsizetype>1</hsizetype> 1155 <hsizetype>1</hsizetype>
1140 <vsizetype>5</vsizetype> 1156 <vsizetype>5</vsizetype>
1141 </sizepolicy> 1157 </sizepolicy>
1142 </property> 1158 </property>
1143 <property stdset="1"> 1159 <property stdset="1">
1144 <name>text</name> 1160 <name>text</name>
1145 <string>critical power warning at</string> 1161 <string>critical power warning at</string>
1146 </property> 1162 </property>
1147 </widget> 1163 </widget>
1148 </grid> 1164 </grid>
1149 </widget> 1165 </widget>
1150 <spacer> 1166 <spacer>
1151 <property> 1167 <property>
1152 <name>name</name> 1168 <name>name</name>
1153 <cstring>Spacer1</cstring> 1169 <cstring>Spacer1</cstring>
1154 </property> 1170 </property>
1155 <property stdset="1"> 1171 <property stdset="1">
1156 <name>orientation</name> 1172 <name>orientation</name>
1157 <enum>Vertical</enum> 1173 <enum>Vertical</enum>
1158 </property> 1174 </property>
1159 <property stdset="1"> 1175 <property stdset="1">
1160 <name>sizeType</name> 1176 <name>sizeType</name>
1161 <enum>Expanding</enum> 1177 <enum>Expanding</enum>
1162 </property> 1178 </property>
1163 <property> 1179 <property>
1164 <name>sizeHint</name> 1180 <name>sizeHint</name>
1165 <size> 1181 <size>
1166 <width>20</width> 1182 <width>20</width>
1167 <height>20</height> 1183 <height>20</height>
1168 </size> 1184 </size>
1169 </property> 1185 </property>
1170 </spacer> 1186 </spacer>
1171 </vbox> 1187 </vbox>
1172 </widget> 1188 </widget>
1173 </widget> 1189 </widget>
1174 </vbox> 1190 </vbox>
1175</widget> 1191</widget>
1176<images> 1192<images>
1177 <image> 1193 <image>
1178 <name>image0</name> 1194 <name>image0</name>
1179 <data format="XPM.GZ" length="424">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523234530022130543251d2e253d856405bffcbc54105b19c856360003103711c4354b324b364b06719340dcb434b36488ac1e1a2020a6acac8c2ea60cc54862606ea232b218541b5810452c3111432c510f550c22886a1e482c115d0c2c88e6168818babaa4a42462c48082cae8e68102011a06b5d65c004336518f</data> 1195 <data format="XPM.GZ" length="424">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523234530022130543251d2e253d856405bffcbc54105b19c856360003103711c4354b324b364b06719340dcb434b36488ac1e1a2020a6acac8c2ea60cc54862606ea232b218541b5810452c3111432c510f550c22886a1e482c115d0c2c88e6168818babaa4a42462c48082cae8e68102011a06b5d65c004336518f</data>
1180 </image> 1196 </image>
1181 <image> 1197 <image>
1182 <name>image1</name> 1198 <name>image1</name>
1183 <data format="XPM.GZ" length="439">789c6d8ec10ac2300c86ef7b8ad0ff36a4730777111f41f1288887b4b3e8610a3a0f22bebb6dd3d54d0ca5cdffe54f9aaaa4dd764d6555dc7beecf96ec896f54b68fae7bee0fab57a1ea86fc5950ad6685d2646973bd1c43ce3ec73c46903648e79a5624443a27d20cd2b9382704747e124382f11a7c5e30b364b957b331866331b3800c38f70282121c7c628367c098c1e0eb03121ccd4b46fcb0f80b26bb4833987f76b6d6f274de5fe6a1a031d30969f55e161fe4715f7b</data> 1199 <data format="XPM.GZ" length="439">789c6d8ec10ac2300c86ef7b8ad0ff36a4730777111f41f1288887b4b3e8610a3a0f22bebb6dd3d54d0ca5cdffe54f9aaaa4dd764d6555dc7beecf96ec896f54b68fae7bee0fab57a1ea86fc5950ad6685d2646973bd1c43ce3ec73c46903648e79a5624443a27d20cd2b9382704747e124382f11a7c5e30b364b957b331866331b3800c38f70282121c7c628367c098c1e0eb03121ccd4b46fcb0f80b26bb4833987f76b6d6f274de5fe6a1a031d30969f55e161fe4715f7b</data>
1184 </image> 1200 </image>
1185 <image> 1201 <image>
1186 <name>image2</name> 1202 <name>image2</name>
1187 <data format="XPM.GZ" length="424">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523234530022130543251d2e253d856405bffcbc54105b19c856360003103711c4354b344b314b04719340dcb434b31488ac1e1a2020a6acac8c2ea60cc54862606ea232b218541b5810452c3111432c510f550c22886a1e482c115d0c2c88e6168818babaa4a42462c48082cae8e68102011a06b5d65c0041d3518e</data> 1203 <data format="XPM.GZ" length="424">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523234530022130543251d2e253d856405bffcbc54105b19c856360003103711c4354b344b314b04719340dcb434b31488ac1e1a2020a6acac8c2ea60cc54862606ea232b218541b5810452c3111432c510f550c22886a1e482c115d0c2c88e6168818babaa4a42462c48082cae8e68102011a06b5d65c0041d3518e</data>
1188 </image> 1204 </image>
1189</images> 1205</images>
1190<connections> 1206<connections>
1191 <connection> 1207 <connection>
1192 <sender>CalibrateLightSensor</sender> 1208 <sender>CalibrateLightSensor</sender>
1193 <signal>clicked()</signal> 1209 <signal>clicked()</signal>
1194 <receiver>LightSettingsBase</receiver> 1210 <receiver>LightSettingsBase</receiver>
1195 <slot>calibrateSensor()</slot> 1211 <slot>calibrateSensor()</slot>
1196 </connection> 1212 </connection>
1197 <connection> 1213 <connection>
1198 <sender>CalibrateLightSensorAC</sender> 1214 <sender>CalibrateLightSensorAC</sender>
1199 <signal>clicked()</signal> 1215 <signal>clicked()</signal>
1200 <receiver>LightSettingsBase</receiver> 1216 <receiver>LightSettingsBase</receiver>
1201 <slot>calibrateSensorAC()</slot> 1217 <slot>calibrateSensorAC()</slot>
1202 </connection> 1218 </connection>
1203 <slot access="public">calibrateSensor()</slot> 1219 <slot access="public">calibrateSensor()</slot>
1204 <slot access="public">calibrateSensorAC()</slot> 1220 <slot access="public">calibrateSensorAC()</slot>
1205</connections> 1221</connections>
1206<tabstops> 1222<tabstops>
1207 <tabstop>interval_dim</tabstop> 1223 <tabstop>interval_dim</tabstop>
1208 <tabstop>interval_lightoff</tabstop> 1224 <tabstop>interval_lightoff</tabstop>
1209 <tabstop>interval_suspend</tabstop> 1225 <tabstop>interval_suspend</tabstop>
1210 <tabstop>LcdOffOnly</tabstop> 1226 <tabstop>LcdOffOnly</tabstop>
1211 <tabstop>brightness</tabstop> 1227 <tabstop>brightness</tabstop>
1212 <tabstop>auto_brightness</tabstop> 1228 <tabstop>auto_brightness</tabstop>
1213 <tabstop>CalibrateLightSensor</tabstop> 1229 <tabstop>CalibrateLightSensor</tabstop>
1214 <tabstop>tabs</tabstop> 1230 <tabstop>tabs</tabstop>
1215 <tabstop>interval_lightoff_ac_3</tabstop> 1231 <tabstop>interval_lightoff_ac_3</tabstop>
1216 <tabstop>interval_suspend_ac_3</tabstop> 1232 <tabstop>interval_suspend_ac_3</tabstop>
1217 <tabstop>interval_dim_ac_3</tabstop> 1233 <tabstop>interval_dim_ac_3</tabstop>
1218 <tabstop>LcdOffOnly_2_3</tabstop> 1234 <tabstop>LcdOffOnly_2_3</tabstop>
1219 <tabstop>brightness_ac_3</tabstop> 1235 <tabstop>brightness_ac_3</tabstop>
1220 <tabstop>auto_brightness_ac_3</tabstop> 1236 <tabstop>auto_brightness_ac_3</tabstop>
1221 <tabstop>CalibrateLightSensorAC</tabstop> 1237 <tabstop>CalibrateLightSensorAC</tabstop>
1222 <tabstop>lowSpinBox</tabstop> 1238 <tabstop>lowSpinBox</tabstop>
1223 <tabstop>warnintervalBox</tabstop> 1239 <tabstop>warnintervalBox</tabstop>
1224 <tabstop>criticalSpinBox</tabstop> 1240 <tabstop>criticalSpinBox</tabstop>
1225</tabstops> 1241</tabstops>
1226</UI> 1242</UI>