summaryrefslogtreecommitdiff
path: root/core/settings/light-and-power/sensor.cpp
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 /core/settings/light-and-power/sensor.cpp
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 (limited to 'core/settings/light-and-power/sensor.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/light-and-power/sensor.cpp85
1 files changed, 85 insertions, 0 deletions
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 ( );
+}