summaryrefslogtreecommitdiff
authorsandman <sandman>2002-10-28 20:27:14 (UTC)
committer sandman <sandman>2002-10-28 20:27:14 (UTC)
commitb963230163fc8069731374a19390fd0e5cb42532 (patch) (side-by-side diff)
treea9a46c7d61e9529afee40f39b03ed01dd744e868
parent052303d29fe4a7b16858398f79f667e57ae569c9 (diff)
downloadopie-b963230163fc8069731374a19390fd0e5cb42532.zip
opie-b963230163fc8069731374a19390fd0e5cb42532.tar.gz
opie-b963230163fc8069731374a19390fd0e5cb42532.tar.bz2
Major update:
- fixed some layout margins in the ui file - cleanup in light.cpp (removed the old TT code) - new sensor calibration dialog - new copyright headers !! The launcher does not yet use the sensor calibration data !!
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/settings/light-and-power/calibration.cpp278
-rw-r--r--core/settings/light-and-power/calibration.h71
-rw-r--r--core/settings/light-and-power/light-and-power.pro6
-rw-r--r--core/settings/light-and-power/light.cpp194
-rw-r--r--core/settings/light-and-power/lightsettingsbase.ui189
-rw-r--r--core/settings/light-and-power/sensor.cpp85
-rw-r--r--core/settings/light-and-power/sensor.h47
-rw-r--r--core/settings/light-and-power/sensorbase.ui870
-rw-r--r--core/settings/light-and-power/settings.h59
9 files changed, 1576 insertions, 223 deletions
diff --git a/core/settings/light-and-power/calibration.cpp b/core/settings/light-and-power/calibration.cpp
new file mode 100644
index 0000000..307de1f
--- a/dev/null
+++ b/core/settings/light-and-power/calibration.cpp
@@ -0,0 +1,278 @@
+/*
+ This file is part of the OPIE Project
+               =. Copyright (c) 2002 Maximilian Reiss <harlekin@handhelds.org>
+             .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org>
+           .>+-=
+ _;:,     .>    :=|. This file is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This file is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
+..}^=.=       =       ; Public License for more details.
+++=   -.     .`     .:
+ :     =  ...= . :.=- You should have received a copy of the GNU
+ -.   .:....=;==+<; General Public License along with this file;
+  -_. . .   )=.  = see the file COPYING. If not, write to the
+    --        :-=` Free Software Foundation, Inc.,
+ 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
+#include "calibration.h"
+
+#include <qpainter.h>
+#include <qpalette.h>
+
+#define BRD 2
+
+Calibration::Calibration ( QWidget *parent, const char *name, WFlags fl )
+ : QWidget ( parent, name, fl )
+{
+ m_scale = QSize ( 256, 256 );
+ m_steps = 5;
+ m_dragged = -1;
+ m_interval = 5;
+
+ m_p [0] = QPoint ( 0, 0 );
+ m_p [1] = QPoint ( 255, 255 );
+}
+
+Calibration::~Calibration ( )
+{
+}
+
+void Calibration::setScale ( const QSize &s )
+{
+ if ( s. width ( ) < 1 || s. height ( ) < 1 )
+ return;
+
+ m_scale = s;
+ checkPoints ( );
+
+ update ( );
+}
+
+QSize Calibration::scale ( ) const
+{
+ return m_scale;
+}
+
+void Calibration::setLineSteps ( int steps )
+{
+ if ( m_steps < 2 )
+ return;
+
+ m_steps = steps;
+ update ( );
+}
+
+int Calibration::lineSteps ( ) const
+{
+ return m_steps;
+}
+
+void Calibration::setInterval ( int iv )
+{
+ if ( iv < 1 )
+ return;
+
+ m_interval = iv;
+// update ( );
+}
+
+int Calibration::interval ( ) const
+{
+ return m_interval;
+}
+
+void Calibration::setStartPoint ( const QPoint &p )
+{
+ m_p [0] = p;
+ checkPoints ( );
+ update ( );
+}
+
+QPoint Calibration::startPoint ( ) const
+{
+ return m_p [0];
+}
+
+void Calibration::setEndPoint ( const QPoint &p )
+{
+ m_p [1] = p;
+ checkPoints ( );
+ update ( );
+}
+
+QPoint Calibration::endPoint ( ) const
+{
+ return m_p [1];
+}
+
+void Calibration::checkPoints ( )
+{
+ int dx = m_scale. width ( );
+ int dy = m_scale. height ( );
+
+ if ( m_p [1]. x ( ) >= dx )
+ m_p [1]. setX ( dx - 1 );
+ if ( m_p [0]. x ( ) > m_p [1]. x ( ))
+ m_p [0]. setX ( m_p [1]. x ( ));
+
+ if ( m_p [1]. y ( ) >= dy )
+ m_p [1]. setY ( dy - 1 );
+ if ( m_p [0]. y ( ) > m_p [1]. y ( ))
+ m_p [0]. setY ( m_p [1]. y ( ));
+}
+
+
+#define SCALEX(x) (BRD+x*(width()- 2*BRD)/m_scale.width())
+#define SCALEY(y) (BRD+y*(height()-2*BRD)/m_scale.height())
+
+
+static QRect around ( int x, int y )
+{
+ return QRect ( x - BRD, y - BRD, 2 * BRD + 1, 2 * BRD + 1 );
+}
+
+void Calibration::mousePressEvent ( QMouseEvent *e )
+{
+ if ( e-> button ( ) != LeftButton )
+ return QWidget::mousePressEvent ( e );
+
+ int olddragged = m_dragged;
+ int x [2], y [2];
+
+ m_dragged = -1;
+ for ( int i = 0; i < 2; i++ ) {
+ x [i] = SCALEX( m_p [i]. x ( ));
+ y [i] = SCALEY( m_p [i]. y ( ));
+
+ if (( QABS( e-> x ( ) - x [i] ) <= BRD ) &&
+ ( QABS( e-> y ( ) - y [i] ) <= BRD )) {
+ m_dragged = i;
+ break;
+ }
+ }
+
+ if ( m_dragged != olddragged ) {
+ QRect r;
+
+ if ( olddragged >= 0 )
+ r |= around ( x [olddragged], y [olddragged] );
+ if ( m_dragged >= 0 )
+ r |= around ( x [m_dragged], y [m_dragged] );
+ repaint ( r );
+ }
+}
+
+void Calibration::mouseMoveEvent ( QMouseEvent *e )
+{
+ if ( m_dragged < 0 )
+ return;
+
+ QPoint n [2];
+
+ n [m_dragged]. setX (( e-> x ( ) - BRD ) * m_scale. width ( ) / ( width ( ) - 2 * BRD ));
+ n [m_dragged]. setY (( e-> y ( ) - BRD ) * m_scale. height ( ) / ( height ( ) - 2 * BRD ));
+ n [1 - m_dragged] = m_p [1 - m_dragged];
+
+ if (( n [0]. x ( ) > n [1]. x ( )) || ( n [m_dragged]. x ( ) < 0 ) || ( n [m_dragged]. x ( ) >= m_scale. width ( )))
+ n [m_dragged]. setX ( m_p [m_dragged]. x ( ));
+ if (( n [0]. y ( ) > n [1]. y ( )) || ( n [m_dragged]. y ( ) < 0 ) || ( n [m_dragged]. y ( ) >= m_scale. height ( )))
+ n [m_dragged]. setY ( m_p [m_dragged]. y ( ));
+
+ QRect r;
+ int ox [2], oy [2], nx [2], ny [2];
+
+ for ( int i = 0; i < 2; i++ ) {
+ nx [i] = SCALEX( n [i]. x ( ));
+ ny [i] = SCALEY( n [i]. y ( ));
+ ox [i] = SCALEX( m_p [i]. x ( ));
+ oy [i] = SCALEY( m_p [i]. y ( ));
+
+ if ( n [i] != m_p [i] ) {
+ r |= around ( nx [i], ny [i] );
+ r |= around ( ox [i], oy [i] );
+ m_p [i] = n [i];
+
+ if ( i == 0 ) {
+ r |= QRect ( 0, 0, nx [0] - 0 + 1, ny [0] - 0 + 1 );
+ r |= QRect ( 0, 0, ox [0] - 0 + 1, oy [0] - 0 + 1 );
+ }
+ else if ( i == 1 ) {
+ r |= QRect ( nx [1], ny [1], width ( ) - nx [1], height ( ) - ny [1] );
+ r |= QRect ( ox [1], oy [1], width ( ) - ox [1], height ( ) - oy [1] );
+ }
+ }
+ }
+ if ( r. isValid ( )) {
+ r |= QRect ( nx [0], ny [0], nx [1] - nx [0] + 1, ny [1] - ny [0] + 1 );
+ r |= QRect ( ox [0], oy [0], ox [1] - ox [0] + 1, oy [1] - oy [0] + 1 );
+
+ repaint ( r );
+ }
+}
+
+void Calibration::mouseReleaseEvent ( QMouseEvent *e )
+{
+ if ( e-> button ( ) != LeftButton )
+ return QWidget::mouseReleaseEvent ( e );
+
+ if ( m_dragged < 0 )
+ return;
+
+ int x = SCALEX( m_p [m_dragged]. x ( ));
+ int y = SCALEY( m_p [m_dragged]. y ( ));
+ m_dragged = -1;
+
+ repaint ( around ( x, y ));
+}
+
+void Calibration::paintEvent ( QPaintEvent * )
+{
+ QPainter p ( this );
+ QColorGroup g = colorGroup ( );
+
+ int x0 = SCALEX( m_p [0]. x ( ));
+ int y0 = SCALEY( m_p [0]. y ( ));
+ int x1 = SCALEX( m_p [1]. x ( ));
+ int y1 = SCALEY( m_p [1]. y ( ));
+
+ int dx = x1 - x0;
+ int dy = y1 - y0;
+
+ int ex = x0, ey = y0;
+
+ p. setPen ( g. highlight ( ));
+
+ p. drawLine ( BRD, BRD, ex, BRD );
+ p. drawLine ( ex, BRD, ex, ey );
+
+ for ( int i = 1; i < m_steps; i++ ) {
+ int fx = x0 + dx * i / m_steps;
+ int fy = y0 + dy * i / ( m_steps - 1 );
+
+ p. drawLine ( ex, ey, fx, ey );
+ p. drawLine ( fx, ey, fx, fy );
+
+ ex = fx;
+ ey = fy;
+ }
+
+ p. drawLine ( ex, ey, width ( ) - 1 - BRD, ey );
+
+ p. fillRect ( around ( x0, y0 ), m_dragged == 0 ? g. highlightedText ( ) : g. text ( ));
+ p. fillRect ( around ( x1, y1 ), m_dragged == 1 ? g. highlightedText ( ) : g. text ( ));
+
+ p. setPen ( g. text ( ));
+ p. drawText ( QRect ( BRD, BRD, width ( ) - 2*BRD, height() - 2*BRD ), AlignTop | AlignRight, tr( "%1 Steps" ). arg ( m_steps ));
+}
+
diff --git a/core/settings/light-and-power/calibration.h b/core/settings/light-and-power/calibration.h
new file mode 100644
index 0000000..2bff69a
--- a/dev/null
+++ b/core/settings/light-and-power/calibration.h
@@ -0,0 +1,71 @@
+/*
+ This file is part of the OPIE Project
+               =. Copyright (c) 2002 Maximilian Reiss <harlekin@handhelds.org>
+             .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org>
+           .>+-=
+ _;:,     .>    :=|. This file is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This file is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
+..}^=.=       =       ; Public License for more details.
+++=   -.     .`     .:
+ :     =  ...= . :.=- You should have received a copy of the GNU
+ -.   .:....=;==+<; General Public License along with this file;
+  -_. . .   )=.  = see the file COPYING. If not, write to the
+    --        :-=` Free Software Foundation, Inc.,
+ 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
+#ifndef __CALIBRATION_H__
+#define __CALIBRATION_H__
+
+#include <qwidget.h>
+
+class Calibration : public QWidget {
+ Q_OBJECT
+
+public:
+ Calibration ( QWidget *parent = 0, const char *name = 0, WFlags fl = 0 );
+ virtual ~Calibration ( );
+
+ QSize scale ( ) const;
+ int lineSteps ( ) const;
+ int interval ( ) const;
+ QPoint startPoint ( ) const;
+ QPoint endPoint ( ) const;
+
+public slots:
+ void setScale ( const QSize &s );
+ void setLineSteps ( int step );
+ void setInterval ( int iv );
+ void setStartPoint ( const QPoint &p );
+ void setEndPoint ( const QPoint &p );
+
+protected:
+ virtual void paintEvent ( QPaintEvent * );
+ virtual void mousePressEvent ( QMouseEvent * );
+ virtual void mouseMoveEvent ( QMouseEvent * );
+ virtual void mouseReleaseEvent ( QMouseEvent * );
+
+ void checkPoints ( );
+
+private:
+ QSize m_scale;
+ QPoint m_p [2];
+ int m_dragged;
+ int m_steps;
+ int m_interval;
+};
+
+#endif
+
+
diff --git a/core/settings/light-and-power/light-and-power.pro b/core/settings/light-and-power/light-and-power.pro
index 43395bf..c89a26d 100644
--- a/core/settings/light-and-power/light-and-power.pro
+++ b/core/settings/light-and-power/light-and-power.pro
@@ -1,9 +1,9 @@
TEMPLATE = app
CONFIG += qt warn_on release
DESTDIR = $(OPIEDIR)/bin
-HEADERS = settings.h
-SOURCES = light.cpp main.cpp
-INTERFACES = lightsettingsbase.ui
+HEADERS = settings.h sensor.h calibration.h
+SOURCES = light.cpp main.cpp sensor.cpp calibration.cpp
+INTERFACES = lightsettingsbase.ui sensorbase.ui
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += ../$(OPIEDIR)/include
LIBS += -lqpe -lopie
diff --git a/core/settings/light-and-power/light.cpp b/core/settings/light-and-power/light.cpp
index 572f8ea..2ea0356 100644
--- a/core/settings/light-and-power/light.cpp
+++ b/core/settings/light-and-power/light.cpp
@@ -1,24 +1,30 @@
-/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
-**
-** This file is part of Qtopia Environment.
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See http://www.trolltech.com/gpl/ for GPL licensing information.
-**
-** Contact info@trolltech.com if any conditions of this licensing are
-** not clear to you.
-**
-**********************************************************************/
-
-// redone by Maximilian Reiss <harlekin@handhelds.org>
+/*
+ This file is part of the OPIE Project
+               =. Copyright (c) 2002 Maximilian Reiss <harlekin@handhelds.org>
+             .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org>
+           .>+-=
+ _;:,     .>    :=|. This file is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This file is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
+..}^=.=       =       ; Public License for more details.
+++=   -.     .`     .:
+ :     =  ...= . :.=- You should have received a copy of the GNU
+ -.   .:....=;==+<; General Public License along with this file;
+  -_. . .   )=.  = see the file COPYING. If not, write to the
+    --        :-=` Free Software Foundation, Inc.,
+ 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
#include "settings.h"
@@ -53,19 +59,16 @@
#include <opie/odevice.h>
+#include "sensor.h"
+
using namespace Opie;
LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
- : LightSettingsBase( parent, name, TRUE, WStyle_ContextHelp )
+ : LightSettingsBase( parent, name, true, WStyle_ContextHelp )
{
- int res = ODevice::inst ( )-> displayBrightnessResolution ( );
+ m_res = ODevice::inst ( )-> displayBrightnessResolution ( );
- if ( ODevice::inst()->hasLightSensor() ) {
- // Not supported yet - hide until implemented
- CalibrateLightSensor->setEnabled( false );
- CalibrateLightSensorAC->setEnabled( false );
- } else {
- // if ipaq no need to show the sensor box
+ if ( !ODevice::inst ( )-> hasLightSensor ( )) {
auto_brightness->hide();
CalibrateLightSensor->hide();
auto_brightness_ac_3->hide();
@@ -83,17 +86,19 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
// battery check and slider
LcdOffOnly->setChecked( config.readBoolEntry("LcdOffOnly",false));
- initbright = config. readNumEntry ( "Brightness", 255 );
- brightness-> setMaxValue ( res - 1 );
- brightness-> setTickInterval ( QMAX( 1, res / 16 ));
- brightness-> setLineStep ( QMAX( 1, res / 16 ));
- brightness-> setPageStep ( QMAX( 1, res / 16 ));
- brightness-> setValue (( initbright * ( res - 1 ) + 127 ) / 255 );
+ int bright = config. readNumEntry ( "Brightness", 255 );
+ brightness-> setMaxValue ( m_res - 1 );
+ brightness-> setTickInterval ( QMAX( 1, m_res / 16 ));
+ brightness-> setLineStep ( QMAX( 1, m_res / 16 ));
+ brightness-> setPageStep ( QMAX( 1, m_res / 16 ));
+ brightness-> setValue (( bright * ( m_res - 1 ) + 127 ) / 255 );
// light sensor
- auto_brightness->setChecked( config.readNumEntry("LightSensor",0) != 0 );
+ auto_brightness-> setChecked ( config. readBoolEntry ( "LightSensor", false ));
+ m_sensordata = config. readListEntry ( "LightSensorData", ';' );
config.setGroup( "AC" );
+
// ac spinboxes
interval_dim_ac_3->setValue( config.readNumEntry( "Dim", 20 ));
interval_lightoff_ac_3->setValue( config.readNumEntry( "LightOff", 30 ));
@@ -102,21 +107,16 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
// ac check and slider
LcdOffOnly_2_3->setChecked( config.readBoolEntry("LcdOffOnly",false));
- initbright_ac = config. readNumEntry ( "Brightness", 255 );
- brightness_ac_3-> setMaxValue ( res - 1 );
- brightness_ac_3-> setTickInterval ( QMAX( 1, res / 16 ));
- brightness_ac_3-> setLineStep ( QMAX( 1, res / 16 ));
- brightness_ac_3-> setPageStep ( QMAX( 1, res / 16 ));
- brightness_ac_3-> setValue (( initbright_ac * ( res - 1 ) + 127 ) / 255 );
+ bright = config. readNumEntry ( "Brightness", 255 );
+ brightness_ac_3-> setMaxValue ( m_res - 1 );
+ brightness_ac_3-> setTickInterval ( QMAX( 1, m_res / 16 ));
+ brightness_ac_3-> setLineStep ( QMAX( 1, m_res / 16 ));
+ brightness_ac_3-> setPageStep ( QMAX( 1, m_res / 16 ));
+ brightness_ac_3-> setValue (( bright * ( m_res - 1 ) + 127 ) / 255 );
// light sensor
- auto_brightness_ac_3->setChecked( config.readNumEntry("LightSensor",0) != 0 );
-
-
- //LightStepSpin->setValue( config.readNumEntry("Steps", 10 ) );
- //LightMinValueSlider->setValue( config.readNumEntry("MinValue", 70 ) );
- //connect( LightStepSpin, SIGNAL( valueChanged( int ) ), this, SLOT( slotSliderTicks( int ) ) ) ;
- //LightShiftSpin->setValue( config.readNumEntry("Shift", 0 ) );
+ auto_brightness_ac_3-> setChecked ( config. readBoolEntry ( "LightSensor", false ));
+ m_sensordata_ac = config. readListEntry ( "LightSensorData", ';' );
// advanced settings
config.setGroup( "Warnings" );
@@ -124,81 +124,79 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
lowSpinBox->setValue( config.readNumEntry("powerverylow", 10 ) );
criticalSpinBox->setValue( config.readNumEntry("powercritical", 5 ) );
- connect( brightness, SIGNAL( valueChanged(int) ), this, SLOT( applyBrightness() ) );
- connect( brightness_ac_3, SIGNAL( valueChanged(int) ), this, SLOT( applyBrightnessAC() ) );
+ if ( PowerStatusManager::readStatus ( ). acStatus ( ) != PowerStatus::Online )
+ connect ( brightness, SIGNAL( valueChanged ( int )), this, SLOT( setBacklight ( int )));
+ else
+ connect ( brightness_ac_3, SIGNAL( valueChanged ( int )), this, SLOT( setBacklight ( int )));
}
-LightSettings::~LightSettings() {
+LightSettings::~LightSettings ( )
+{
+}
+
+
+void LightSettings::calibrateSensor ( )
+{
+ Sensor *s = new Sensor ( m_sensordata, this );
+ s-> showMaximized ( );
+ s-> exec ( );
+ delete s;
}
-void LightSettings::slotSliderTicks( int steps ) {
-// LightMinValueSlider->setTickInterval( steps );
+void LightSettings::calibrateSensorAC ( )
+{
+ Sensor *s = new Sensor ( m_sensordata_ac, this );
+ s-> showMaximized ( );
+ s-> exec ( );
+ delete s;
}
-static void set_fl(int bright)
+void LightSettings::setBacklight ( int bright )
{
+ bright = bright * 255 / ( m_res - 1 );
QCopEnvelope e("QPE/System", "setBacklight(int)" );
e << bright;
}
void LightSettings::reject()
{
- set_fl(initbright);
+ {
+ QCopEnvelope e ( "QPE/System", "setBacklight(int)" );
+ e << -1;
+ }
QDialog::reject();
}
void LightSettings::accept()
{
- if ( qApp->focusWidget() ) {
- qApp->focusWidget()->clearFocus();
- }
-
- applyBrightness();
-
- // bat
- int i_dim = interval_dim->value();
- int i_lightoff = interval_lightoff->value();
- int i_suspend = interval_suspend->value();
-
- // ac
- int i_dim_ac = interval_dim_ac_3->value();
- int i_lightoff_ac = interval_lightoff_ac_3->value();
- int i_suspend_ac = interval_suspend_ac_3->value();
-
Config config( "apm" );
- config.setGroup( "Battery" );
-
// bat
+ config. setGroup ( "Battery" );
config.writeEntry( "LcdOffOnly", LcdOffOnly->isChecked() );
- config.writeEntry( "Dim", i_dim );
- config.writeEntry( "LightOff", i_lightoff );
- config.writeEntry( "Suspend", i_suspend );
- config.writeEntry( "Brightness",
- ( brightness->value() ) * 255 / brightness->maxValue() );
+ config. writeEntry ( "Dim", interval_dim-> value ( ));
+ config. writeEntry ( "LightOff", interval_lightoff-> value ( ));
+ config. writeEntry ( "Suspend", interval_suspend-> value ( ));
+ config. writeEntry ( "Brightness", brightness-> value ( ) * 255 / ( m_res - 1 ) );
// ac
config.setGroup( "AC" );
config.writeEntry( "LcdOffOnly", LcdOffOnly_2_3->isChecked() );
- config.writeEntry( "Dim", i_dim_ac );
- config.writeEntry( "LightOff", i_lightoff_ac );
- config.writeEntry( "Suspend", i_suspend_ac );
- config.writeEntry( "Brightness",
- ( brightness_ac_3->value()) * 255 / brightness_ac_3->maxValue() );
-
+ config. writeEntry ( "Dim", interval_dim_ac_3-> value ( ));
+ config. writeEntry ( "LightOff", interval_lightoff_ac_3-> value ( ));
+ config. writeEntry ( "Suspend", interval_suspend_ac_3-> value ( ));
+ config. writeEntry ( "Brightness", brightness_ac_3-> value ( ) * 255 / ( m_res - 1 ));
// only make light sensor stuff appear if the unit has a sensor
if ( ODevice::inst()->hasLightSensor() ) {
config.setGroup( "Battery" );
config.writeEntry( "LightSensor", auto_brightness->isChecked() );
+ config. writeEntry ( "LightSensorData", m_sensordata, ';' );
config.setGroup( "AC" );
config.writeEntry( "LightSensor", auto_brightness_ac_3->isChecked() );
- //config.writeEntry( "Steps", LightStepSpin->value() );
- //onfig.writeEntry( "MinValue", LightMinValueSlider->value() );
- //config.writeEntry( "Shift", LightShiftSpin->value() );
+ config. writeEntry ( "LightSensorData", m_sensordata_ac, ';' );
}
-
// advanced
config.setGroup( "Warnings" );
config.writeEntry( "check_interval", warnintervalBox->value()*1000 );
@@ -206,6 +204,7 @@ void LightSettings::accept()
config.writeEntry( "power_critical", criticalSpinBox->value() );
config.write();
+ // notify the launcher
{
QCopEnvelope e ( "QPE/System", "reloadPowerWarnSettings()" );
}
@@ -221,23 +220,6 @@ void LightSettings::accept()
QDialog::accept();
}
-void LightSettings::applyBrightness()
-{
- if ( PowerStatusManager::readStatus().acStatus() != PowerStatus::Online ) {
- int bright = ( brightness->value() ) * 255 / brightness->maxValue();
- set_fl(bright);
- }
-}
-
-void LightSettings::applyBrightnessAC()
-{
- // if ac is attached, set directly that sliders setting, else the "on battery" sliders setting
- if ( PowerStatusManager::readStatus().acStatus() == PowerStatus::Online ) {
- int bright = ( brightness_ac_3->value() ) * 255 / brightness_ac_3->maxValue();
- set_fl(bright);
- }
-}
-
void LightSettings::done(int r)
{
QDialog::done(r);
diff --git a/core/settings/light-and-power/lightsettingsbase.ui b/core/settings/light-and-power/lightsettingsbase.ui
index f41e5a6..4df6024 100644
--- a/core/settings/light-and-power/lightsettingsbase.ui
+++ b/core/settings/light-and-power/lightsettingsbase.ui
@@ -11,7 +11,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>399</width>
+ <width>387</width>
<height>532</height>
</rect>
</property>
@@ -70,7 +70,7 @@
<vbox>
<property stdset="1">
<name>margin</name>
- <number>3</number>
+ <number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
@@ -96,31 +96,10 @@
<property>
<name>layoutSpacing</name>
</property>
- <vbox>
- <property stdset="1">
- <name>margin</name>
- <number>3</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>3</number>
- </property>
- <widget>
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout11</cstring>
- </property>
- <property>
- <name>layoutMargin</name>
- </property>
- <property>
- <name>layoutSpacing</name>
- </property>
<grid>
<property stdset="1">
<name>margin</name>
- <number>3</number>
+ <number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
@@ -164,6 +143,13 @@
<cstring>TextLabel2_2</cstring>
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>Light off after</string>
</property>
@@ -177,7 +163,7 @@
<property stdset="1">
<name>sizePolicy</name>
<sizepolicy>
- <hsizetype>7</hsizetype>
+ <hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
</sizepolicy>
</property>
@@ -255,24 +241,36 @@
<cstring>TextLabel1_2</cstring>
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>Suspend after</string>
</property>
</widget>
- </grid>
- </widget>
- <widget>
+ <widget row="3" column="0" rowspan="1" colspan="2" >
<class>QCheckBox</class>
<property stdset="1">
<name>name</name>
<cstring>LcdOffOnly</cstring>
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>Deactivate LCD only (does not suspend)</string>
</property>
</widget>
- </vbox>
+ </grid>
</widget>
<widget>
<class>QGroupBox</class>
@@ -293,7 +291,7 @@
<vbox>
<property stdset="1">
<name>margin</name>
- <number>3</number>
+ <number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
@@ -344,6 +342,9 @@
<name>name</name>
<cstring>Layout10</cstring>
</property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
<hbox>
<property stdset="1">
<name>margin</name>
@@ -351,7 +352,7 @@
</property>
<property stdset="1">
<name>spacing</name>
- <number>6</number>
+ <number>3</number>
</property>
<widget>
<class>QLabel</class>
@@ -434,6 +435,9 @@
<name>name</name>
<cstring>Layout9</cstring>
</property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
<hbox>
<property stdset="1">
<name>margin</name>
@@ -441,7 +445,7 @@
</property>
<property stdset="1">
<name>spacing</name>
- <number>6</number>
+ <number>3</number>
</property>
<widget>
<class>QCheckBox</class>
@@ -513,7 +517,7 @@
<vbox>
<property stdset="1">
<name>margin</name>
- <number>3</number>
+ <number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
@@ -539,31 +543,10 @@
<property>
<name>layoutSpacing</name>
</property>
- <vbox>
- <property stdset="1">
- <name>margin</name>
- <number>3</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>3</number>
- </property>
- <widget>
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout14</cstring>
- </property>
- <property>
- <name>layoutMargin</name>
- </property>
- <property>
- <name>layoutSpacing</name>
- </property>
<grid>
<property stdset="1">
<name>margin</name>
- <number>3</number>
+ <number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
@@ -609,7 +592,7 @@
<property stdset="1">
<name>sizePolicy</name>
<sizepolicy>
- <hsizetype>7</hsizetype>
+ <hsizetype>3</hsizetype>
<vsizetype>1</vsizetype>
</sizepolicy>
</property>
@@ -656,6 +639,13 @@
<cstring>TextLabel1_2_2_3</cstring>
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>Suspend after</string>
</property>
@@ -698,24 +688,36 @@
<cstring>TextLabel2_2_2</cstring>
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>Light off after</string>
</property>
</widget>
- </grid>
- </widget>
- <widget>
+ <widget row="3" column="0" rowspan="1" colspan="2" >
<class>QCheckBox</class>
<property stdset="1">
<name>name</name>
<cstring>LcdOffOnly_2_3</cstring>
</property>
<property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
<name>text</name>
<string>Deactivate LCD only (does not suspend)</string>
</property>
</widget>
- </vbox>
+ </grid>
</widget>
<widget>
<class>QGroupBox</class>
@@ -736,7 +738,7 @@
<vbox>
<property stdset="1">
<name>margin</name>
- <number>3</number>
+ <number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
@@ -791,6 +793,9 @@
<name>name</name>
<cstring>Layout20</cstring>
</property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
<hbox>
<property stdset="1">
<name>margin</name>
@@ -798,7 +803,7 @@
</property>
<property stdset="1">
<name>spacing</name>
- <number>6</number>
+ <number>3</number>
</property>
<widget>
<class>QLabel</class>
@@ -881,6 +886,9 @@
<name>name</name>
<cstring>Layout10</cstring>
</property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
<hbox>
<property stdset="1">
<name>margin</name>
@@ -888,7 +896,7 @@
</property>
<property stdset="1">
<name>spacing</name>
- <number>6</number>
+ <number>3</number>
</property>
<widget>
<class>QCheckBox</class>
@@ -960,7 +968,7 @@
<vbox>
<property stdset="1">
<name>margin</name>
- <number>3</number>
+ <number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
@@ -982,31 +990,10 @@
<property>
<name>layoutSpacing</name>
</property>
- <vbox>
- <property stdset="1">
- <name>margin</name>
- <number>3</number>
- </property>
- <property stdset="1">
- <name>spacing</name>
- <number>3</number>
- </property>
- <widget>
- <class>QLayoutWidget</class>
- <property stdset="1">
- <name>name</name>
- <cstring>Layout18</cstring>
- </property>
- <property>
- <name>layoutMargin</name>
- </property>
- <property>
- <name>layoutSpacing</name>
- </property>
<grid>
<property stdset="1">
<name>margin</name>
- <number>3</number>
+ <number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
@@ -1021,7 +1008,7 @@
<property stdset="1">
<name>sizePolicy</name>
<sizepolicy>
- <hsizetype>7</hsizetype>
+ <hsizetype>3</hsizetype>
<vsizetype>5</vsizetype>
</sizepolicy>
</property>
@@ -1048,6 +1035,10 @@
<string> %</string>
</property>
<property stdset="1">
+ <name>buttonSymbols</name>
+ <enum>PlusMinus</enum>
+ </property>
+ <property stdset="1">
<name>maxValue</name>
<number>80</number>
</property>
@@ -1071,6 +1062,10 @@
<string> sec</string>
</property>
<property stdset="1">
+ <name>buttonSymbols</name>
+ <enum>PlusMinus</enum>
+ </property>
+ <property stdset="1">
<name>maxValue</name>
<number>60</number>
</property>
@@ -1098,6 +1093,10 @@
<string> %</string>
</property>
<property stdset="1">
+ <name>buttonSymbols</name>
+ <enum>PlusMinus</enum>
+ </property>
+ <property stdset="1">
<name>maxValue</name>
<number>80</number>
</property>
@@ -1148,8 +1147,6 @@
</widget>
</grid>
</widget>
- </vbox>
- </widget>
<spacer>
<property>
<name>name</name>
@@ -1275,6 +1272,20 @@
<receiver>PixmapLabel1_2_3</receiver>
<slot>setDisabled(bool)</slot>
</connection>
+ <connection>
+ <sender>CalibrateLightSensor</sender>
+ <signal>clicked()</signal>
+ <receiver>LightSettingsBase</receiver>
+ <slot>calibrateSensor()</slot>
+ </connection>
+ <connection>
+ <sender>CalibrateLightSensorAC</sender>
+ <signal>clicked()</signal>
+ <receiver>LightSettingsBase</receiver>
+ <slot>calibrateSensorAC()</slot>
+ </connection>
+ <slot access="public">calibrateSensor()</slot>
+ <slot access="public">calibrateSensorAC()</slot>
</connections>
<tabstops>
<tabstop>interval_dim</tabstop>
diff --git a/core/settings/light-and-power/sensor.cpp b/core/settings/light-and-power/sensor.cpp
new file mode 100644
index 0000000..ddd71d6
--- a/dev/null
+++ b/core/settings/light-and-power/sensor.cpp
@@ -0,0 +1,85 @@
+/*
+ This file is part of the OPIE Project
+               =. Copyright (c) 2002 Maximilian Reiss <harlekin@handhelds.org>
+             .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org>
+           .>+-=
+ _;:,     .>    :=|. This file is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This file is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
+..}^=.=       =       ; Public License for more details.
+++=   -.     .`     .:
+ :     =  ...= . :.=- You should have received a copy of the GNU
+ -.   .:....=;==+<; General Public License along with this file;
+  -_. . .   )=.  = see the file COPYING. If not, write to the
+    --        :-=` Free Software Foundation, Inc.,
+ 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
+#include <qframe.h>
+#include <qlayout.h>
+#include <qslider.h>
+#include <qspinbox.h>
+
+#include "calibration.h"
+#include "sensor.h"
+
+Sensor::Sensor ( QStringList &params, QWidget *parent, const char *name )
+ : SensorBase ( parent, name, true, WStyle_ContextHelp ), m_params ( params )
+{
+ int steps = 5;
+ int inter = 5;
+
+ int smin = 0;
+ int smax = 255;
+ int lmin = 0;
+ int lmax = 255;
+
+ switch ( params. count ( )) {
+ case 6: lmax = params [5]. toInt ( );
+ case 5: lmin = params [4]. toInt ( );
+ case 4: smax = params [3]. toInt ( );
+ case 3: smin = params [2]. toInt ( );
+ case 2: steps = params [1]. toInt ( );
+ case 1: inter = params [0]. toInt ( );
+ }
+
+ QVBoxLayout *lay = new QVBoxLayout ( frame );
+ lay-> setMargin ( 2 );
+ m_calib = new Calibration ( frame );
+ lay-> add ( m_calib );
+
+ m_calib-> setScale ( QSize ( 256, 256 ));
+ m_calib-> setLineSteps ( steps );
+ m_calib-> setInterval ( inter );
+ m_calib-> setStartPoint ( QPoint ( smin, lmin ));
+ m_calib-> setEndPoint ( QPoint ( smax, lmax ));
+
+ interval-> setValue ( inter );
+ linesteps-> setValue ( steps );
+
+ connect ( interval, SIGNAL( valueChanged ( int )), m_calib, SLOT( setInterval ( int )));
+ connect ( linesteps, SIGNAL( valueChanged ( int )), m_calib, SLOT( setLineSteps ( int )));
+}
+
+void Sensor::accept ( )
+{
+ m_params. clear ( );
+ m_params << QString::number ( m_calib-> interval ( ))
+ << QString::number ( m_calib-> lineSteps ( ))
+ << QString::number ( m_calib-> startPoint ( ). x ( ))
+ << QString::number ( m_calib-> endPoint ( ). x ( ))
+ << QString::number ( m_calib-> startPoint ( ). y ( ))
+ << QString::number ( m_calib-> endPoint ( ). y ( ));
+
+ QDialog::accept ( );
+}
diff --git a/core/settings/light-and-power/sensor.h b/core/settings/light-and-power/sensor.h
new file mode 100644
index 0000000..7a26d81
--- a/dev/null
+++ b/core/settings/light-and-power/sensor.h
@@ -0,0 +1,47 @@
+/*
+ This file is part of the OPIE Project
+               =. Copyright (c) 2002 Maximilian Reiss <harlekin@handhelds.org>
+             .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org>
+           .>+-=
+ _;:,     .>    :=|. This file is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This file is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
+..}^=.=       =       ; Public License for more details.
+++=   -.     .`     .:
+ :     =  ...= . :.=- You should have received a copy of the GNU
+ -.   .:....=;==+<; General Public License along with this file;
+  -_. . .   )=.  = see the file COPYING. If not, write to the
+    --        :-=` Free Software Foundation, Inc.,
+ 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
+#ifndef __SENSOR_H__
+#define __SENSOR_H__
+
+#include "sensorbase.h"
+
+class Calibration;
+class QStringList;
+
+class Sensor : public SensorBase {
+public:
+ Sensor ( QStringList &params, QWidget *parent = 0, const char *name = 0 );
+
+ virtual void accept ( );
+
+private:
+ QStringList &m_params;
+ Calibration *m_calib;
+};
+
+#endif \ No newline at end of file
diff --git a/core/settings/light-and-power/sensorbase.ui b/core/settings/light-and-power/sensorbase.ui
new file mode 100644
index 0000000..98fce88
--- a/dev/null
+++ b/core/settings/light-and-power/sensorbase.ui
@@ -0,0 +1,870 @@
+<!DOCTYPE UI><UI>
+<class>SensorBase</class>
+<widget>
+ <class>QDialog</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>SensorBase</cstring>
+ </property>
+ <property stdset="1">
+ <name>geometry</name>
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>293</width>
+ <height>443</height>
+ </rect>
+ </property>
+ <property stdset="1">
+ <name>caption</name>
+ <string>Sensor Calibration</string>
+ </property>
+ <property>
+ <name>layoutMargin</name>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>3</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>3</number>
+ </property>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout21</cstring>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>2</number>
+ </property>
+ <widget row="0" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout20</cstring>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>3</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>PixmapLabel1</cstring>
+ </property>
+ <property stdset="1">
+ <name>pixmap</name>
+ <pixmap>image0</pixmap>
+ </property>
+ <property stdset="1">
+ <name>scaledContents</name>
+ <bool>false</bool>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel5</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Full</string>
+ </property>
+ </widget>
+ <spacer>
+ <property>
+ <name>name</name>
+ <cstring>Spacer2</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Vertical</enum>
+ </property>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel4_3</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Off</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>PixmapLabel2</cstring>
+ </property>
+ <property stdset="1">
+ <name>pixmap</name>
+ <pixmap>image1</pixmap>
+ </property>
+ <property stdset="1">
+ <name>scaledContents</name>
+ <bool>false</bool>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget row="0" column="1" >
+ <class>QFrame</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>frame</cstring>
+ </property>
+ <property stdset="1">
+ <name>frameShape</name>
+ <enum>StyledPanel</enum>
+ </property>
+ <property stdset="1">
+ <name>frameShadow</name>
+ <enum>Sunken</enum>
+ </property>
+ </widget>
+ <widget row="1" column="1" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout16</cstring>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>3</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel3_2_2</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
+ <name>minimumSize</name>
+ <size>
+ <width>14</width>
+ <height>14</height>
+ </size>
+ </property>
+ <property stdset="1">
+ <name>maximumSize</name>
+ <size>
+ <width>14</width>
+ <height>14</height>
+ </size>
+ </property>
+ <property stdset="1">
+ <name>palette</name>
+ <palette>
+ <active>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>218</red>
+ <green>226</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>236</red>
+ <green>240</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>109</red>
+ <green>113</green>
+ <blue>127</blue>
+ </color>
+ <color>
+ <red>145</red>
+ <green>151</green>
+ <blue>170</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>10</red>
+ <green>95</green>
+ <blue>137</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ </active>
+ <disabled>
+ <color>
+ <red>128</red>
+ <green>128</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>218</red>
+ <green>226</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>109</red>
+ <green>113</green>
+ <blue>127</blue>
+ </color>
+ <color>
+ <red>145</red>
+ <green>151</green>
+ <blue>170</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>128</red>
+ <green>128</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>10</red>
+ <green>95</green>
+ <blue>137</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ </disabled>
+ <inactive>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>218</red>
+ <green>226</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>109</red>
+ <green>113</green>
+ <blue>127</blue>
+ </color>
+ <color>
+ <red>145</red>
+ <green>151</green>
+ <blue>170</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>10</red>
+ <green>95</green>
+ <blue>137</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ </inactive>
+ </palette>
+ </property>
+ <property stdset="1">
+ <name>frameShape</name>
+ <enum>Box</enum>
+ </property>
+ <property stdset="1">
+ <name>frameShadow</name>
+ <enum>Plain</enum>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel4_2</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Dark</string>
+ </property>
+ </widget>
+ <spacer>
+ <property>
+ <name>name</name>
+ <cstring>Spacer2_2</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Horizontal</enum>
+ </property>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel5_2</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Light</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel3_2</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>0</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
+ <name>minimumSize</name>
+ <size>
+ <width>14</width>
+ <height>14</height>
+ </size>
+ </property>
+ <property stdset="1">
+ <name>maximumSize</name>
+ <size>
+ <width>14</width>
+ <height>14</height>
+ </size>
+ </property>
+ <property stdset="1">
+ <name>palette</name>
+ <palette>
+ <active>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>218</red>
+ <green>226</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>236</red>
+ <green>240</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>109</red>
+ <green>113</green>
+ <blue>127</blue>
+ </color>
+ <color>
+ <red>145</red>
+ <green>151</green>
+ <blue>170</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>10</red>
+ <green>95</green>
+ <blue>137</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ </active>
+ <disabled>
+ <color>
+ <red>128</red>
+ <green>128</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>218</red>
+ <green>226</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>109</red>
+ <green>113</green>
+ <blue>127</blue>
+ </color>
+ <color>
+ <red>145</red>
+ <green>151</green>
+ <blue>170</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>128</red>
+ <green>128</green>
+ <blue>128</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>10</red>
+ <green>95</green>
+ <blue>137</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ </disabled>
+ <inactive>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>218</red>
+ <green>226</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>109</red>
+ <green>113</green>
+ <blue>127</blue>
+ </color>
+ <color>
+ <red>145</red>
+ <green>151</green>
+ <blue>170</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ <color>
+ <red>0</red>
+ <green>0</green>
+ <blue>0</blue>
+ </color>
+ <color>
+ <red>10</red>
+ <green>95</green>
+ <blue>137</blue>
+ </color>
+ <color>
+ <red>255</red>
+ <green>255</green>
+ <blue>255</blue>
+ </color>
+ </inactive>
+ </palette>
+ </property>
+ <property stdset="1">
+ <name>frameShape</name>
+ <enum>Box</enum>
+ </property>
+ <property stdset="1">
+ <name>frameShadow</name>
+ <enum>Plain</enum>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </grid>
+ </widget>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout22</cstring>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>3</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel4</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Steps</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QSlider</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>linesteps</cstring>
+ </property>
+ <property stdset="1">
+ <name>minValue</name>
+ <number>2</number>
+ </property>
+ <property stdset="1">
+ <name>maxValue</name>
+ <number>127</number>
+ </property>
+ <property stdset="1">
+ <name>lineStep</name>
+ <number>10</number>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Horizontal</enum>
+ </property>
+ <property stdset="1">
+ <name>tickmarks</name>
+ <enum>Right</enum>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout28</cstring>
+ </property>
+ <property>
+ <name>layoutSpacing</name>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>3</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel6</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Check interval</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QSpinBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>interval</cstring>
+ </property>
+ <property stdset="1">
+ <name>suffix</name>
+ <string> sec</string>
+ </property>
+ <property stdset="1">
+ <name>buttonSymbols</name>
+ <enum>PlusMinus</enum>
+ </property>
+ <property stdset="1">
+ <name>maxValue</name>
+ <number>10</number>
+ </property>
+ <property stdset="1">
+ <name>minValue</name>
+ <number>1</number>
+ </property>
+ <property stdset="1">
+ <name>lineStep</name>
+ <number>1</number>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<images>
+ <image>
+ <name>image0</name>
+ <data format="XPM.GZ" length="439">789c6d8ec10ac2300c86ef7b8ad0ff36a4730777111f41f1288887b4b3e8610a3a0f22bebb6dd3d54d0ca5cdffe54f9aaaa4dd764d6555dc7beecf96ec896f54b68fae7bee0fab57a1ea86fc5950ad6685d2646973bd1c43ce3ec73c46903648e79a5624443a27d20cd2b9382704747e124382f11a7c5e30b364b957b331866331b3800c38f70282121c7c628367c098c1e0eb03121ccd4b46fcb0f80b26bb4833987f76b6d6f274de5fe6a1a031d30969f55e161fe4715f7b</data>
+ </image>
+ <image>
+ <name>image1</name>
+ <data format="XPM.GZ" length="424">789cd3d7528808f055d0d2e72a2e492cc94c5648ce482c52d04a29cdcdad8c8eb5ade6523234530022130543251d2e253d856405bffcbc54105b19c856360003103711c4354b324b364b06719340dcb434b36488ac1e1a2020a6acac8c2ea60cc54862606ea232b218541b5810452c3111432c510f550c22886a1e482c115d0c2c88e6168818babaa4a42462c48082cae8e68102011a06b5d65c004336518f</data>
+ </image>
+</images>
+</UI>
diff --git a/core/settings/light-and-power/settings.h b/core/settings/light-and-power/settings.h
index adfd735..77290a3 100644
--- a/core/settings/light-and-power/settings.h
+++ b/core/settings/light-and-power/settings.h
@@ -1,22 +1,30 @@
-/**********************************************************************
-** Copyright (C) 2000 Trolltech AS. All rights reserved.
-**
-** This file is part of Qtopia Environment.
-**
-** This file may be distributed and/or modified under the terms of the
-** GNU General Public License version 2 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the
-** packaging of this file.
-**
-** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
-** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-**
-** See http://www.trolltech.com/gpl/ for GPL licensing information.
-**
-** Contact info@trolltech.com if any conditions of this licensing are
-** not clear to you.
-**
-**********************************************************************/
+/*
+ This file is part of the OPIE Project
+               =. Copyright (c) 2002 Maximilian Reiss <harlekin@handhelds.org>
+             .=l. Copyright (c) 2002 Robert Griebl <sandman@handhelds.org>
+           .>+-=
+ _;:,     .>    :=|. This file is free software; you can
+.> <`_,   >  .   <= redistribute it and/or modify it under
+:`=1 )Y*s>-.--   : the terms of the GNU General Public
+.="- .-=="i,     .._ License as published by the Free Software
+ - .   .-<_>     .<> Foundation; either version 2 of the License,
+     ._= =}       : or (at your option) any later version.
+    .%`+i>       _;_.
+    .i_,=:_.      -<s. This file is distributed in the hope that
+     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
+    : ..    .:,     . . . without even the implied warranty of
+    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
+  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
+..}^=.=       =       ; Public License for more details.
+++=   -.     .`     .:
+ :     =  ...= . :.=- You should have received a copy of the GNU
+ -.   .:....=;==+<; General Public License along with this file;
+  -_. . .   )=.  = see the file COPYING. If not, write to the
+    --        :-=` Free Software Foundation, Inc.,
+ 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.
+
+*/
#ifndef SETTINGS_H
#define SETTINGS_H
@@ -40,14 +48,15 @@ protected:
void done ( int r );
-private slots:
- void applyBrightness();
- void applyBrightnessAC();
- void slotSliderTicks( int steps );
+protected slots:
+ void setBacklight ( int );
+ virtual void calibrateSensor ( );
+ virtual void calibrateSensorAC ( );
private:
- int initbright;
- int initbright_ac;
+ int m_res;
+ QStringList m_sensordata;
+ QStringList m_sensordata_ac;
};