summaryrefslogtreecommitdiff
path: root/core/settings/light-and-power/light.cpp
Side-by-side diff
Diffstat (limited to 'core/settings/light-and-power/light.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/light-and-power/light.cpp57
1 files changed, 32 insertions, 25 deletions
diff --git a/core/settings/light-and-power/light.cpp b/core/settings/light-and-power/light.cpp
index c0ba60b..21377b7 100644
--- a/core/settings/light-and-power/light.cpp
+++ b/core/settings/light-and-power/light.cpp
@@ -23,35 +23,36 @@
    --        :-=` Free Software Foundation, Inc.,
59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
-#include "settings.h"
+#include "light.h"
#include <qpe/config.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 <qcheckbox.h>
#include <qtabwidget.h>
#include <qslider.h>
+#include <qtimer.h>
#include <qspinbox.h>
#include <qpushbutton.h>
#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, false, WStyle_ContextHelp )
{
m_res = ODevice::inst ( )-> displayBrightnessResolution ( );
if ( !ODevice::inst ( )-> hasLightSensor ( )) {
auto_brightness-> hide ( );
CalibrateLightSensor-> hide ( );
@@ -60,20 +61,20 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
}
Config config ( "apm" );
config. setGroup ( "Battery" );
// battery spinboxes
- interval_dim-> setValue ( config. readNumEntry ( "Dim", 20 ));
- interval_lightoff-> setValue ( config. readNumEntry ( "LightOff", 30 ));
+ interval_dim-> setValue ( config. readNumEntry ( "Dim", 30 ));
+ interval_lightoff-> setValue ( config. readNumEntry ( "LightOff", 20 ));
interval_suspend-> setValue ( config. readNumEntry ( "Suspend", 60 ));
// battery check and slider
LcdOffOnly-> setChecked ( config. readBoolEntry ( "LcdOffOnly", false ));
- int bright = config. readNumEntry ( "Brightness", 255 );
+ int bright = config. readNumEntry ( "Brightness", 127 );
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 );
@@ -81,15 +82,15 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
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 ));
- interval_suspend_ac_3-> setValue ( config. readNumEntry ( "Suspend", 60 ));
+ interval_dim_ac_3-> setValue ( config. readNumEntry ( "Dim", 60 ));
+ interval_lightoff_ac_3-> setValue ( config. readNumEntry ( "LightOff", 120 ));
+ interval_suspend_ac_3-> setValue ( config. readNumEntry ( "Suspend", 0 ));
// ac check and slider
LcdOffOnly_2_3-> setChecked ( config. readBoolEntry ( "LcdOffOnly", false ));
bright = config. readNumEntry ( "Brightness", 255 );
brightness_ac_3-> setMaxValue ( m_res - 1 );
@@ -105,57 +106,65 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
// advanced settings
config. setGroup ( "Warnings" );
warnintervalBox-> setValue ( config. readNumEntry ( "checkinterval", 10000 ) / 1000 );
lowSpinBox-> setValue ( config. readNumEntry ( "powerverylow", 10 ) );
criticalSpinBox-> setValue ( config. readNumEntry ( "powercritical", 5 ) );
+ m_resettimer = new QTimer ( this );
+ connect ( m_resettimer, SIGNAL( timeout ( )), this, SLOT( resetBacklight ( )));
+
if ( PowerStatusManager::readStatus ( ). acStatus ( ) != PowerStatus::Online ) {
- connect ( brightness, SIGNAL( valueChanged ( int )), this, SLOT( setBacklight ( int )));
tabs-> setCurrentPage ( 0 );
}
else {
- connect ( brightness_ac_3, SIGNAL( valueChanged ( int )), this, SLOT( setBacklight ( int )));
tabs-> setCurrentPage ( 1 );
}
+
+ connect ( brightness, SIGNAL( valueChanged ( int )), this, SLOT( setBacklight ( int )));
+ connect ( brightness_ac_3, SIGNAL( valueChanged ( int )), this, SLOT( setBacklight ( int )));
}
LightSettings::~LightSettings ( )
{
}
-
void LightSettings::calibrateSensor ( )
{
Sensor *s = new Sensor ( m_sensordata, this );
+ connect ( s, SIGNAL( viewBacklight ( int )), this, SLOT( setBacklight ( int )));
s-> showMaximized ( );
s-> exec ( );
delete s;
}
void LightSettings::calibrateSensorAC ( )
{
Sensor *s = new Sensor ( m_sensordata_ac, this );
+ connect ( s, SIGNAL( viewBacklight ( int )), this, SLOT( setBacklight ( int )));
s-> showMaximized ( );
s-> exec ( );
delete s;
}
void LightSettings::setBacklight ( int bright )
{
- bright = bright * 255 / ( m_res - 1 );
+ if ( bright >= 0 )
+ bright = bright * 255 / ( m_res - 1 );
+
QCopEnvelope e ( "QPE/System", "setBacklight(int)" );
e << bright;
+
+ if ( bright != -1 ) {
+ m_resettimer-> stop ( );
+ m_resettimer-> start ( 2000, true );
+ }
}
-void LightSettings::reject ( )
+void LightSettings::resetBacklight ( )
{
- {
- QCopEnvelope e ( "QPE/System", "setBacklight(int)" );
- e << -1;
- }
- QDialog::reject ( );
+ setBacklight ( -1 );
}
void LightSettings::accept ( )
{
Config config ( "apm" );
@@ -197,19 +206,17 @@ void LightSettings::accept ( )
QCopEnvelope e ( "QPE/System", "reloadPowerWarnSettings()" );
}
{
QCopEnvelope e ( "QPE/System", "setScreenSaverInterval(int)" );
e << -1;
}
- {
- QCopEnvelope e ( "QPE/System", "setBacklight(int)" );
- e << -1;
- }
-
- QDialog::accept ( );
+ LightSettingsBase::accept ( );
}
void LightSettings::done ( int r )
{
- QDialog::done ( r );
+ m_resettimer-> stop ( );
+ resetBacklight ( );
+
+ LightSettingsBase::done ( r );
close ( );
}