author | sandman <sandman> | 2002-10-28 20:27:14 (UTC) |
---|---|---|
committer | sandman <sandman> | 2002-10-28 20:27:14 (UTC) |
commit | b963230163fc8069731374a19390fd0e5cb42532 (patch) (side-by-side diff) | |
tree | a9a46c7d61e9529afee40f39b03ed01dd744e868 /core/settings/light-and-power/sensor.cpp | |
parent | 052303d29fe4a7b16858398f79f667e57ae569c9 (diff) | |
download | opie-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.cpp | 85 |
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 ¶ms, 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 ( ); +} |