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.cpp | 64 |
1 files changed, 25 insertions, 39 deletions
diff --git a/core/settings/light-and-power/light.cpp b/core/settings/light-and-power/light.cpp index a58b1c1..8b98672 100644 --- a/core/settings/light-and-power/light.cpp +++ b/core/settings/light-and-power/light.cpp @@ -71,92 +71,88 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags ) Config config ( "apm" ); config. setGroup ( "Battery" ); // battery spinboxes 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", 127 ); - int contr = config. readNumEntry ( "Contrast", 127 ); - brightness-> setMaxValue ( m_bres - 1 ); - brightness-> setTickInterval ( QMAX( 1, m_bres / 16 )); - brightness-> setLineStep ( QMAX( 1, m_bres / 16 )); - brightness-> setPageStep ( QMAX( 1, m_bres / 16 )); - brightness-> setValue (( bright * ( m_bres - 1 ) + 127 ) / 255 ); + int contr = m_oldcontrast = config. readNumEntry ( "Contrast", 127 ); + brightness-> setTickInterval ( QMAX( 16, 256 / m_bres )); + brightness-> setLineStep ( QMAX( 1, 256 / m_bres )); + brightness-> setPageStep ( QMAX( 1, 256 / m_bres )); + brightness-> setValue ( bright ); if (m_cres) { - contrast-> setMaxValue ( m_cres - 1 ); - contrast-> setTickInterval ( QMAX( 1, m_cres / 16 )); - contrast-> setLineStep ( QMAX( 1, m_cres / 16 )); - contrast-> setPageStep ( QMAX( 1, m_cres / 16 )); - contrast-> setValue (( contr * ( m_cres - 1 ) + 127 ) / 255 ); + contrast-> setTickInterval ( QMAX( 16, 256 / m_cres )); + contrast-> setLineStep ( QMAX( 1, 256 / m_cres )); + contrast-> setPageStep ( QMAX( 1, 256 / m_cres )); + contrast-> setValue ( contr ); } // light sensor auto_brightness-> setChecked ( config. readBoolEntry ( "LightSensor", false )); m_sensordata = config. readListEntry ( "LightSensorData", ';' ); config. setGroup ( "AC" ); // ac spinboxes interval_dim_ac-> setValue ( config. readNumEntry ( "Dim", 60 )); interval_lightoff_ac-> setValue ( config. readNumEntry ( "LightOff", 120 )); interval_suspend_ac-> setValue ( config. readNumEntry ( "Suspend", 0 )); // ac check and slider LcdOffOnly_ac-> setChecked ( config. readBoolEntry ( "LcdOffOnly", false )); bright = config. readNumEntry ( "Brightness", 255 ); - brightness_ac-> setMaxValue ( m_bres - 1 ); - brightness_ac-> setTickInterval ( QMAX( 1, m_bres / 16 )); - brightness_ac-> setLineStep ( QMAX( 1, m_bres / 16 )); - brightness_ac-> setPageStep ( QMAX( 1, m_bres / 16 )); - brightness_ac-> setValue (( bright * ( m_bres - 1 ) + 127 ) / 255 ); + brightness_ac-> setTickInterval ( QMAX( 16, 256 / m_bres )); + brightness_ac-> setLineStep ( QMAX( 1, 256 / m_bres )); + brightness_ac-> setPageStep ( QMAX( 1, 256 / m_bres )); + brightness_ac-> setValue ( bright ); if (m_cres) { contr = config. readNumEntry ( "Contrast", 127); - contrast_ac-> setMaxValue ( m_cres - 1 ); - contrast_ac-> setTickInterval ( QMAX( 1, m_cres / 16 )); - contrast_ac-> setLineStep ( QMAX( 1, m_cres / 16 )); - contrast_ac-> setPageStep ( QMAX( 1, m_cres / 16 )); - contrast_ac-> setValue (( contr * ( m_cres - 1 ) + 127 ) / 255 ); + contrast_ac-> setTickInterval ( QMAX( 16, 256 / m_cres )); + contrast_ac-> setLineStep ( QMAX( 1, 256 / m_cres )); + contrast_ac-> setPageStep ( QMAX( 1, 256 / m_cres )); + contrast_ac-> setValue ( contr ); } // light sensor auto_brightness_ac-> 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 ) ); m_resettimer = new QTimer ( this ); connect ( m_resettimer, SIGNAL( timeout ( )), this, SLOT( resetBacklight ( ))); if ( PowerStatusManager::readStatus ( ). acStatus ( ) != PowerStatus::Online ) { tabs-> setCurrentPage ( 0 ); } else { tabs-> setCurrentPage ( 1 ); } connect ( brightness, SIGNAL( valueChanged ( int )), this, SLOT( setBacklight ( int ))); connect ( brightness_ac, SIGNAL( valueChanged ( int )), this, SLOT( setBacklight ( int ))); - if (m_havecontrast) { + if (m_cres) { connect ( contrast, SIGNAL( valueChanged ( int )), this, SLOT( setContrast ( int ))); connect ( contrast_ac, SIGNAL( valueChanged ( int )), this, SLOT( setContrast ( int ))); } } LightSettings::~LightSettings ( ) { } void LightSettings::calibrateSensor ( ) { Sensor *s = new Sensor ( m_sensordata, this ); @@ -168,79 +164,69 @@ void LightSettings::calibrateSensor ( ) 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 ) { - if ( bright >= 0 ) - bright = bright * 255 / ( m_bres - 1 ); - QCopEnvelope e ( "QPE/System", "setBacklight(int)" ); e << bright; if ( bright != -1 ) { m_resettimer-> stop ( ); - m_resettimer-> start ( 2000, true ); + m_resettimer-> start ( 4000, true ); } } void LightSettings::setContrast ( int contr ) { - if ( contr >= 0 ) - contr = contr * 255 / ( m_cres - 1 ); - - QCopEnvelope e ( "QPE/System", "setContrast(int)" ); - e << contr; + if (contr == -1) contr = m_oldcontrast; - if ( contr != -1 ) { - m_resettimer-> stop ( ); - m_resettimer-> start ( 2000, true ); - } + ODevice::inst ( )-> setDisplayContrast(contr); } void LightSettings::resetBacklight ( ) { setBacklight ( -1 ); setContrast ( -1 ); } void LightSettings::accept ( ) { Config config ( "apm" ); // bat config. setGroup ( "Battery" ); config. writeEntry ( "LcdOffOnly", LcdOffOnly-> isChecked ( )); 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_bres - 1 ) ); + config. writeEntry ( "Brightness", brightness-> value () ); if (m_cres) - config. writeEntry ( "Contrast", contrast-> value ( ) * 255 / ( m_cres - 1 ) ); + config. writeEntry ( "Contrast", contrast-> value () ); // ac config. setGroup ( "AC" ); config. writeEntry ( "LcdOffOnly", LcdOffOnly_ac-> isChecked ( )); config. writeEntry ( "Dim", interval_dim_ac-> value ( )); config. writeEntry ( "LightOff", interval_lightoff_ac-> value ( )); config. writeEntry ( "Suspend", interval_suspend_ac-> value ( )); - config. writeEntry ( "Brightness", brightness_ac-> value ( ) * 255 / ( m_bres - 1 )); + config. writeEntry ( "Brightness", brightness_ac-> value () ); if (m_cres) - config. writeEntry ( "Contrast", contrast_ac-> value ( ) * 255 / ( m_cres - 1 )); + config. writeEntry ( "Contrast", contrast_ac-> value () ); // 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->isChecked() ); config. writeEntry ( "LightSensorData", m_sensordata_ac, ';' ); } // advanced |