summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-10-22 13:28:41 (UTC)
committer harlekin <harlekin>2002-10-22 13:28:41 (UTC)
commit514c76157fcf558300973fd4ffb4b131911ef257 (patch) (side-by-side diff)
tree12d83b765344effb3eac799e3c4e128a2575f310
parent78152b3adbe3ae4626c8f53e3edd0babcaf6fb72 (diff)
downloadopie-514c76157fcf558300973fd4ffb4b131911ef257.zip
opie-514c76157fcf558300973fd4ffb4b131911ef257.tar.gz
opie-514c76157fcf558300973fd4ffb4b131911ef257.tar.bz2
fix for slider misbehaviour ( setting light preview )
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/light-and-power/light.cpp12
-rw-r--r--core/settings/light-and-power/lightsettingsbase.ui4
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">