summaryrefslogtreecommitdiff
authorsandman <sandman>2002-10-28 23:46:23 (UTC)
committer sandman <sandman>2002-10-28 23:46:23 (UTC)
commit4251429b30aaf4175c74f714ee01d59368c950f4 (patch) (side-by-side diff)
tree717fb8fd8f17780c86b4bca84acd490f3191d0bf
parenta775c3be38fc7fbd5d120e7e3c1dd3a80a250293 (diff)
downloadopie-4251429b30aaf4175c74f714ee01d59368c950f4.zip
opie-4251429b30aaf4175c74f714ee01d59368c950f4.tar.gz
opie-4251429b30aaf4175c74f714ee01d59368c950f4.tar.bz2
- some minor UI fixes
- parameters for sensor light range were reversed - added reasonable calibration default values (at least on my 3870) - l&p now automatically shows the 'right' (Batt/AC) tab when started
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/light-and-power/calibration.cpp19
-rw-r--r--core/settings/light-and-power/light.cpp24
-rw-r--r--core/settings/light-and-power/lightsettingsbase.ui8
-rw-r--r--core/settings/light-and-power/sensor.cpp22
-rw-r--r--core/settings/light-and-power/sensorbase.ui10
5 files changed, 37 insertions, 46 deletions
diff --git a/core/settings/light-and-power/calibration.cpp b/core/settings/light-and-power/calibration.cpp
index 307de1f..6a3360f 100644
--- a/core/settings/light-and-power/calibration.cpp
+++ b/core/settings/light-and-power/calibration.cpp
@@ -73,68 +73,68 @@ void Calibration::setLineSteps ( int 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;
+ m_p [0] = QPoint ( p. x ( ), m_scale. height ( ) - p. y ( ) - 1 );
checkPoints ( );
update ( );
}
QPoint Calibration::startPoint ( ) const
{
- return m_p [0];
+ return QPoint ( m_p [0]. x ( ), m_scale. height ( ) - m_p [0]. y ( ) - 1 );
}
void Calibration::setEndPoint ( const QPoint &p )
{
- m_p [1] = p;
+ m_p [1] = QPoint ( p. x ( ), m_scale. height ( ) - p. y ( ) - 1 );
checkPoints ( );
update ( );
}
QPoint Calibration::endPoint ( ) const
{
- return m_p [1];
+ return QPoint ( m_p [1]. x ( ), m_scale. height ( ) - m_p [1]. y ( ) - 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 )
@@ -183,96 +183,95 @@ void Calibration::mouseMoveEvent ( QMouseEvent *e )
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 );
+ r |= QRect ( 0, ny [0], nx [0] - 0 + 1, 1 );
+ r |= QRect ( 0, oy [0], ox [0] - 0 + 1, 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] );
+ r |= QRect ( nx [1], ny [1], width ( ) - nx [1], 1 );
+ r |= QRect ( ox [1], oy [1], width ( ) - ox [1], 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 );
+ p. drawLine ( BRD, ey, 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/light.cpp b/core/settings/light-and-power/light.cpp
index 2ea0356..c0ba60b 100644
--- a/core/settings/light-and-power/light.cpp
+++ b/core/settings/light-and-power/light.cpp
@@ -7,76 +7,60 @@
.> <`_,   >  .   <= 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"
-#include <qpe/global.h>
-#include <qpe/fontmanager.h>
#include <qpe/config.h>
-#include <qpe/applnk.h>
#include <qpe/qpeapplication.h>
#include <qpe/power.h>
#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
#include <qpe/qcopenvelope_qws.h>
#endif
-#include <qlabel.h>
#include <qcheckbox.h>
-#include <qradiobutton.h>
#include <qtabwidget.h>
#include <qslider.h>
-#include <qfile.h>
-#include <qtextstream.h>
-#include <qdatastream.h>
-#include <qmessagebox.h>
-#include <qcombobox.h>
-#include <qgroupbox.h>
#include <qspinbox.h>
#include <qpushbutton.h>
-#include <qlistbox.h>
-#include <qdir.h>
-#if QT_VERSION >= 300
-#include <qstylefactory.h>
-#endif
#include <opie/odevice.h>
#include "sensor.h"
using namespace Opie;
LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
: LightSettingsBase( parent, name, true, WStyle_ContextHelp )
{
m_res = ODevice::inst ( )-> displayBrightnessResolution ( );
if ( !ODevice::inst ( )-> hasLightSensor ( )) {
auto_brightness-> hide ( );
CalibrateLightSensor-> hide ( );
auto_brightness_ac_3-> hide ( );
CalibrateLightSensorAC-> hide ( );
}
Config config ( "apm" );
config. setGroup ( "Battery" );
// battery spinboxes
interval_dim-> setValue ( config. readNumEntry ( "Dim", 20 ));
@@ -103,52 +87,56 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
interval_dim_ac_3-> setValue ( config. readNumEntry ( "Dim", 20 ));
interval_lightoff_ac_3-> setValue ( config. readNumEntry ( "LightOff", 30 ));
interval_suspend_ac_3-> setValue ( config. readNumEntry ( "Suspend", 60 ));
// ac check and slider
LcdOffOnly_2_3-> setChecked ( config. readBoolEntry ( "LcdOffOnly", false ));
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. readBoolEntry ( "LightSensor", false ));
m_sensordata_ac = config. readListEntry ( "LightSensorData", ';' );
// advanced settings
config. setGroup ( "Warnings" );
warnintervalBox-> setValue ( config. readNumEntry ( "checkinterval", 10000 ) / 1000 );
lowSpinBox-> setValue ( config. readNumEntry ( "powerverylow", 10 ) );
criticalSpinBox-> setValue ( config. readNumEntry ( "powercritical", 5 ) );
- if ( PowerStatusManager::readStatus ( ). acStatus ( ) != PowerStatus::Online )
+ if ( PowerStatusManager::readStatus ( ). acStatus ( ) != PowerStatus::Online ) {
connect ( brightness, SIGNAL( valueChanged ( int )), this, SLOT( setBacklight ( int )));
- else
+ tabs-> setCurrentPage ( 0 );
+ }
+ else {
connect ( brightness_ac_3, SIGNAL( valueChanged ( int )), this, SLOT( setBacklight ( int )));
+ tabs-> setCurrentPage ( 1 );
+ }
}
LightSettings::~LightSettings ( )
{
}
void LightSettings::calibrateSensor ( )
{
Sensor *s = new Sensor ( m_sensordata, this );
s-> showMaximized ( );
s-> exec ( );
delete s;
}
void LightSettings::calibrateSensorAC ( )
{
Sensor *s = new Sensor ( m_sensordata_ac, this );
s-> showMaximized ( );
s-> exec ( );
delete s;
}
void LightSettings::setBacklight ( int bright )
diff --git a/core/settings/light-and-power/lightsettingsbase.ui b/core/settings/light-and-power/lightsettingsbase.ui
index 4df6024..04c6726 100644
--- a/core/settings/light-and-power/lightsettingsbase.ui
+++ b/core/settings/light-and-power/lightsettingsbase.ui
@@ -1,76 +1,76 @@
<!DOCTYPE UI><UI>
<class>LightSettingsBase</class>
<widget>
<class>QDialog</class>
<property stdset="1">
<name>name</name>
<cstring>LightSettingsBase</cstring>
</property>
<property stdset="1">
<name>geometry</name>
<rect>
<x>0</x>
<y>0</y>
- <width>387</width>
+ <width>379</width>
<height>532</height>
</rect>
</property>
<property stdset="1">
<name>sizePolicy</name>
<sizepolicy>
<hsizetype>7</hsizetype>
<vsizetype>5</vsizetype>
</sizepolicy>
</property>
<property stdset="1">
<name>caption</name>
<string>Light and Power Settings</string>
</property>
<property stdset="1">
<name>sizeGripEnabled</name>
<bool>false</bool>
</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>QTabWidget</class>
<property stdset="1">
<name>name</name>
- <cstring>TabWidget3</cstring>
+ <cstring>tabs</cstring>
</property>
<property>
<name>layoutMargin</name>
</property>
<property>
<name>layoutSpacing</name>
</property>
<widget>
<class>QWidget</class>
<property stdset="1">
<name>name</name>
<cstring>tab</cstring>
</property>
<attribute>
<name>title</name>
<string>on Battery</string>
</attribute>
<vbox>
<property stdset="1">
<name>margin</name>
<number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
@@ -942,49 +942,49 @@
<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>
</vbox>
</widget>
<widget>
<class>QWidget</class>
<property stdset="1">
<name>name</name>
<cstring>tab</cstring>
</property>
<attribute>
<name>title</name>
- <string>Advanced Settings</string>
+ <string>Warnings</string>
</attribute>
<vbox>
<property stdset="1">
<name>margin</name>
<number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
<number>3</number>
</property>
<widget>
<class>QGroupBox</class>
<property stdset="1">
<name>name</name>
<cstring>GroupBox5</cstring>
</property>
<property stdset="1">
<name>title</name>
<string>Warnings</string>
</property>
<property>
<name>layoutMargin</name>
</property>
<property>
@@ -1274,37 +1274,37 @@
</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>
<tabstop>interval_lightoff</tabstop>
<tabstop>interval_suspend</tabstop>
<tabstop>LcdOffOnly</tabstop>
<tabstop>brightness</tabstop>
<tabstop>auto_brightness</tabstop>
<tabstop>CalibrateLightSensor</tabstop>
- <tabstop>TabWidget3</tabstop>
+ <tabstop>tabs</tabstop>
<tabstop>interval_lightoff_ac_3</tabstop>
<tabstop>interval_suspend_ac_3</tabstop>
<tabstop>interval_dim_ac_3</tabstop>
<tabstop>LcdOffOnly_2_3</tabstop>
<tabstop>brightness_ac_3</tabstop>
<tabstop>auto_brightness_ac_3</tabstop>
<tabstop>CalibrateLightSensorAC</tabstop>
<tabstop>lowSpinBox</tabstop>
<tabstop>warnintervalBox</tabstop>
<tabstop>criticalSpinBox</tabstop>
</tabstops>
</UI>
diff --git a/core/settings/light-and-power/sensor.cpp b/core/settings/light-and-power/sensor.cpp
index ddd71d6..c1df04d 100644
--- a/core/settings/light-and-power/sensor.cpp
+++ b/core/settings/light-and-power/sensor.cpp
@@ -15,71 +15,71 @@
    : ..    .:,     . . . 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 steps = 12;
+ int inter = 2;
- int smin = 0;
- int smax = 255;
- int lmin = 0;
+ int smin = 40;
+ int smax = 215;
+ int lmin = 1;
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 ( );
+ case 1: inter = params [0]. toInt ( ) / 1000;
}
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 ));
+ m_calib-> setStartPoint ( QPoint ( smin, lmax ));
+ m_calib-> setEndPoint ( QPoint ( smax, lmin ));
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 ( ))
+ m_params << QString::number ( m_calib-> interval ( ) * 1000 )
<< 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 ( ));
+ << QString::number ( m_calib-> endPoint ( ). y ( ))
+ << QString::number ( m_calib-> startPoint ( ). y ( ));
QDialog::accept ( );
}
diff --git a/core/settings/light-and-power/sensorbase.ui b/core/settings/light-and-power/sensorbase.ui
index 98fce88..64b9a27 100644
--- a/core/settings/light-and-power/sensorbase.ui
+++ b/core/settings/light-and-power/sensorbase.ui
@@ -1,38 +1,38 @@
<!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>
+ <width>289</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>
@@ -759,53 +759,57 @@
</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>
+ <number>63</number>
</property>
<property stdset="1">
<name>lineStep</name>
- <number>10</number>
+ <number>5</number>
+ </property>
+ <property stdset="1">
+ <name>pageStep</name>
+ <number>5</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>