author | harlekin <harlekin> | 2002-10-22 13:28:41 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-10-22 13:28:41 (UTC) |
commit | 514c76157fcf558300973fd4ffb4b131911ef257 (patch) (side-by-side diff) | |
tree | 12d83b765344effb3eac799e3c4e128a2575f310 | |
parent | 78152b3adbe3ae4626c8f53e3edd0babcaf6fb72 (diff) | |
download | opie-514c76157fcf558300973fd4ffb4b131911ef257.zip opie-514c76157fcf558300973fd4ffb4b131911ef257.tar.gz opie-514c76157fcf558300973fd4ffb4b131911ef257.tar.bz2 |
fix for slider misbehaviour ( setting light preview )
-rw-r--r-- | core/settings/light-and-power/light.cpp | 12 | ||||
-rw-r--r-- | core/settings/light-and-power/lightsettingsbase.ui | 4 |
2 files changed, 5 insertions, 11 deletions
diff --git a/core/settings/light-and-power/light.cpp b/core/settings/light-and-power/light.cpp index 1a94209..d93b0af 100644 --- a/core/settings/light-and-power/light.cpp +++ b/core/settings/light-and-power/light.cpp @@ -1,265 +1,263 @@ /********************************************************************** ** Copyright (C) 2000 Trolltech AS. All rights reserved. ** ** This file is part of Qtopia Environment. ** ** This file may be distributed and/or modified under the terms of the ** GNU General Public License version 2 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. ** ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. ** ** See http://www.trolltech.com/gpl/ for GPL licensing information. ** ** Contact info@trolltech.com if any conditions of this licensing are ** not clear to you. ** **********************************************************************/ // redone by Maximilian Reiss <harlekin@handhelds.org> #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 <qlistbox.h> #include <qdir.h> #if QT_VERSION >= 300 #include <qstylefactory.h> #endif #include <opie/odevice.h> using namespace Opie; LightSettings::LightSettings( QWidget* parent, const char* name, WFlags fl ) : LightSettingsBase( parent, name, TRUE, fl ) { if ( ODevice::inst()->model() == Model_iPAQ_H31xx || ODevice::inst()->model() == Model_iPAQ_H36xx || ODevice::inst()->model() == Model_iPAQ_H37xx || ODevice::inst()->model() == Model_iPAQ_H38xx ) { // Not supported yet - hide until implemented IpaqGroupBox->setEnabled( false ); IpaqGroupBoxAC->setEnabled( false ); LightSensorGroupBox->setEnabled( false ); } else { // if ipaq no need to show the sensor box IpaqGroupBox->hide(); IpaqGroupBoxAC->hide(); LightSensorGroupBox->hide(); } Config config( "qpe" ); - config.setGroup( "Screensaver" ); int interval; // battery spinboxes interval = config.readNumEntry( "Interval_Dim", 20 ); interval_dim->setValue( interval ); interval = config.readNumEntry( "Interval_LightOff", 30 ); interval_lightoff->setValue( interval ); interval = config.readNumEntry( "Interval", 60 ); if ( interval > 3600 ) interval /= 1000; // compatibility (was millisecs) interval_suspend->setValue( interval ); // ac spinboxes interval = config.readNumEntry( "Interval_DimAC", 20 ); interval_dim_ac_3->setValue( interval ); interval = config.readNumEntry( "Interval_LightOffAC", 30 ); interval_lightoff_ac_3->setValue( interval ); interval = config.readNumEntry( "IntervalAC", 60 ); if ( interval > 3600 ) { interval /= 1000; // compatibility (was millisecs) } interval_suspend_ac_3->setValue( interval ); // battery check and slider screensaver_dim->setChecked( config.readNumEntry("Dim",1) != 0 ); screensaver_lightoff->setChecked( config.readNumEntry("LightOff",1) != 0 ); LcdOffOnly->setChecked( config.readNumEntry("LcdOffOnly",0) != 0 ); int maxbright = ODevice::inst ( )-> displayBrightnessResolution ( ); initbright = config.readNumEntry("Brightness",255); brightness->setMaxValue( maxbright ); brightness->setTickInterval( QMAX(1,maxbright/16) ); brightness->setLineStep( QMAX(1,maxbright/16) ); brightness->setPageStep( QMAX(1,maxbright/16) ); brightness->setValue( (maxbright*255 - initbright*maxbright)/255 ); // ac check and slider screensaver_dim_ac_3->setChecked( config.readNumEntry("DimAC",1) != 0 ); screensaver_lightoff_ac_3->setChecked( config.readNumEntry("LightOffAC",1) != 0 ); LcdOffOnly_2_3->setChecked( config.readNumEntry("LcdOffOnlyAC",0) != 0 ); int maxbright_ac = ODevice::inst ( )-> displayBrightnessResolution ( ); initbright_ac = config.readNumEntry("BrightnessAC",255); brightness_ac_3->setMaxValue( maxbright_ac ); brightness_ac_3->setTickInterval( QMAX(1,maxbright_ac/16) ); brightness_ac_3->setLineStep( QMAX(1,maxbright_ac/16) ); brightness_ac_3->setPageStep( QMAX(1,maxbright_ac/16) ); brightness_ac_3->setValue( (maxbright_ac*255 - initbright_ac*maxbright_ac)/255 ); // advanced settings config.setGroup( "APM" ); warnintervalBox->setValue( config.readNumEntry("check_interval", 10000)/1000 ); lowSpinBox->setValue( config.readNumEntry("power_verylow", 10 ) ); criticalSpinBox->setValue( config.readNumEntry("power_critical", 5 ) ); // ipaq sensor config.setGroup( "Ipaq_light_sensor" ); auto_brightness->setChecked( config.readNumEntry("LightSensor",1) != 0 ); auto_brightness_ac_3->setChecked( config.readNumEntry("LightSensorAC",1) != 0 ); LightStepSpin->setValue( config.readNumEntry("Steps", 10 ) ); LightMinValueSlider->setValue( config.readNumEntry("MinValue", 70 ) ); connect( LightStepSpin, SIGNAL( valueChanged( int ) ), this, SLOT( slotSliderTicks( int ) ) ) ; LightShiftSpin->setValue( config.readNumEntry("Shift", 0 ) ); - connect(brightness, SIGNAL(valueChanged(int)), this, SLOT(applyBrightness())); - connect(brightness_ac_3, SIGNAL( valueChanged(int) ), this, SLOT( applyBrightnessAC() ) ); + connect( brightness, SIGNAL( valueChanged(int) ), this, SLOT( applyBrightness() ) ); + connect( brightness_ac_3, SIGNAL( valueChanged(int) ), this, SLOT( applyBrightnessAC() ) ); } LightSettings::~LightSettings() { } void LightSettings::slotSliderTicks( int steps ) { LightMinValueSlider->setTickInterval( steps ); } static void set_fl(int bright) { - qDebug( QString("BRIGHT !! : %1").arg( bright ) ); + qDebug ( QString( "Brightness" ).arg( bright ) ); QCopEnvelope e("QPE/System", "setBacklight(int)" ); e << bright; } void LightSettings::reject() { set_fl(initbright); QDialog::reject(); } void LightSettings::accept() { if ( qApp->focusWidget() ) qApp->focusWidget()->clearFocus(); applyBrightness(); // bat int i_dim = (screensaver_dim->isChecked() ? interval_dim->value() : 0); int i_lightoff = (screensaver_lightoff->isChecked() ? interval_lightoff->value() : 0); int i_suspend = interval_suspend->value(); QCopEnvelope e("QPE/System", "setScreenSaverIntervals(int,int,int)" ); e << i_dim << i_lightoff << i_suspend; // ac int i_dim_ac = (screensaver_dim_ac_3->isChecked() ? interval_dim_ac_3->value() : 0); int i_lightoff_ac = (screensaver_lightoff_ac_3->isChecked() ? interval_lightoff_ac_3->value() : 0); int i_suspend_ac = interval_suspend_ac_3->value(); QCopEnvelope e_ac("QPE/System", "setScreenSaverIntervalsAC(int,int,int)" ); e << i_dim_ac << i_lightoff_ac << i_suspend_ac; Config config( "qpe" ); config.setGroup( "Screensaver" ); // bat config.writeEntry( "Dim", (int)screensaver_dim->isChecked() ); config.writeEntry( "LightOff", (int)screensaver_lightoff->isChecked() ); config.writeEntry( "LcdOffOnly", (int)LcdOffOnly->isChecked() ); config.writeEntry( "Interval_Dim", interval_dim->value() ); config.writeEntry( "Interval_LightOff", interval_lightoff->value() ); config.writeEntry( "Interval", interval_suspend->value() ); config.writeEntry( "Brightness", (brightness->maxValue()-brightness->value())*255/brightness->maxValue() ); // ac config.writeEntry( "DimAC", (int)screensaver_dim_ac_3->isChecked() ); config.writeEntry( "LightOffAC", (int)screensaver_lightoff_ac_3->isChecked() ); config.writeEntry( "LcdOffOnlyAC", (int)LcdOffOnly_2_3->isChecked() ); config.writeEntry( "Interval_DimAC", interval_dim_ac_3->value() ); config.writeEntry( "Interval_LightOffAC", interval_lightoff_ac_3->value() ); config.writeEntry( "IntervalAC", interval_suspend_ac_3->value() ); config.writeEntry( "BrightnessAC", (brightness_ac_3->maxValue() - brightness_ac_3->value())*255/brightness_ac_3->maxValue() ); // advanced config.setGroup( "APM" ); config.writeEntry( "check_interval", warnintervalBox->value()*1000 ); config.writeEntry( "power_verylow", lowSpinBox->value() ); config.writeEntry( "power_critical", criticalSpinBox->value() ); QCopEnvelope e_warn("QPE/System", "reloadPowerWarnSettings()"); // only make ipaq light sensor entries in config file if on an ipaq if ( ODevice::inst()->model() == Model_iPAQ_H31xx || ODevice::inst()->model() == Model_iPAQ_H36xx || ODevice::inst()->model() == Model_iPAQ_H37xx || ODevice::inst()->model() == Model_iPAQ_H38xx ) { // ipaq sensor config.setGroup( "Ipaq_light_sensor" ); config.writeEntry( "LightSensor", (int)auto_brightness->isChecked() ); config.writeEntry( "LightSensorAC", (int)auto_brightness_ac_3->isChecked() ); config.writeEntry( "Steps", LightStepSpin->value() ); config.writeEntry( "MinValue", LightMinValueSlider->value() ); config.writeEntry( "Shift", LightShiftSpin->value() ); } config.write(); QDialog::accept(); } void LightSettings::applyBrightness() { - if ( !PowerStatus::Online ) { + if ( PowerStatusManager::readStatus().acStatus() != PowerStatus::Online ) { int bright = ( brightness->value() ) * 255 / brightness->maxValue(); set_fl(bright); } } void LightSettings::applyBrightnessAC() { - qDebug( QString("SLIDER : %1").arg( brightness_ac_3->value() ) ); // if ac is attached, set directly that sliders setting, else the "on battery" sliders setting - if ( PowerStatus::Online ) { + if ( PowerStatusManager::readStatus().acStatus() == PowerStatus::Online ) { int bright = ( brightness_ac_3->value() ) * 255 / brightness_ac_3->maxValue(); set_fl(bright); } } void LightSettings::done(int r) { QDialog::done(r); close ( ); } diff --git a/core/settings/light-and-power/lightsettingsbase.ui b/core/settings/light-and-power/lightsettingsbase.ui index 5e62626..be096ac 100644 --- a/core/settings/light-and-power/lightsettingsbase.ui +++ b/core/settings/light-and-power/lightsettingsbase.ui @@ -665,196 +665,192 @@ <cstring>screensaver_dim_ac_3</cstring> </property> <property stdset="1"> <name>sizePolicy</name> <sizepolicy> <hsizetype>1</hsizetype> <vsizetype>0</vsizetype> </sizepolicy> </property> <property stdset="1"> <name>text</name> <string>Dim light after</string> </property> <property stdset="1"> <name>checked</name> <bool>true</bool> </property> </widget> </grid> </widget> <widget> <class>QCheckBox</class> <property stdset="1"> <name>name</name> <cstring>LcdOffOnly_2_3</cstring> </property> <property stdset="1"> <name>text</name> <string>Deactivate LCD only (does not suspend)</string> </property> </widget> </vbox> </widget> <widget> <class>QGroupBox</class> <property stdset="1"> <name>name</name> <cstring>GroupBox8</cstring> </property> <property stdset="1"> <name>title</name> <string>Backlight</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>QSlider</class> <property stdset="1"> <name>name</name> <cstring>brightness_ac_3</cstring> </property> <property stdset="1"> <name>minValue</name> <number>0</number> </property> <property stdset="1"> <name>maxValue</name> <number>255</number> </property> <property stdset="1"> <name>lineStep</name> <number>16</number> </property> <property stdset="1"> <name>pageStep</name> <number>16</number> </property> <property stdset="1"> <name>value</name> <number>255</number> </property> <property stdset="1"> <name>tracking</name> <bool>true</bool> </property> <property stdset="1"> <name>orientation</name> <enum>Horizontal</enum> </property> <property stdset="1"> <name>tickmarks</name> <enum>Right</enum> </property> - <property stdset="1"> - <name>tickInterval</name> - <number>32</number> - </property> </widget> <widget> <class>QLayoutWidget</class> <property stdset="1"> <name>name</name> <cstring>Layout20</cstring> </property> <hbox> <property stdset="1"> <name>margin</name> <number>0</number> </property> <property stdset="1"> <name>spacing</name> <number>6</number> </property> <widget> <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>PixmapLabel2_2_3</cstring> </property> <property stdset="1"> <name>pixmap</name> <pixmap>image2</pixmap> </property> <property stdset="1"> <name>scaledContents</name> <bool>false</bool> </property> </widget> <widget> <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>TextLabel6</cstring> </property> <property stdset="1"> <name>text</name> <string>Off</string> </property> </widget> <spacer> <property> <name>name</name> <cstring>Spacer3</cstring> </property> <property stdset="1"> <name>orientation</name> <enum>Horizontal</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> <widget> <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>TextLabel7</cstring> </property> <property stdset="1"> <name>text</name> <string>Full</string> </property> </widget> <widget> <class>QLabel</class> <property stdset="1"> <name>name</name> <cstring>PixmapLabel1_2_3</cstring> </property> <property stdset="1"> <name>pixmap</name> <pixmap>image1</pixmap> </property> <property stdset="1"> <name>scaledContents</name> <bool>false</bool> </property> </widget> </hbox> </widget> </vbox> </widget> <widget> <class>QGroupBox</class> <property stdset="1"> |