summaryrefslogtreecommitdiff
path: root/core/settings/light-and-power
authormickeyl <mickeyl>2003-12-29 16:52:29 (UTC)
committer mickeyl <mickeyl>2003-12-29 16:52:29 (UTC)
commit2ecab614a6b91658b1608c62134cd14e257e55b7 (patch) (side-by-side diff)
tree806d351238f4719f0c4ef6a720d9ff4e008003ea /core/settings/light-and-power
parent8224dfc07a698d4c40cb240d315dc81b67512015 (diff)
downloadopie-2ecab614a6b91658b1608c62134cd14e257e55b7.zip
opie-2ecab614a6b91658b1608c62134cd14e257e55b7.tar.gz
opie-2ecab614a6b91658b1608c62134cd14e257e55b7.tar.bz2
- add customization of the action to take when closing the hinge
- hide hinge customization on models which doesn't support that - hide frequency label on models which doesn't support changing the CPU frequency
Diffstat (limited to 'core/settings/light-and-power') (more/less context) (ignore whitespace changes)
-rw-r--r--core/settings/light-and-power/light.cpp64
-rw-r--r--core/settings/light-and-power/light.h1
-rw-r--r--core/settings/light-and-power/lightsettingsbase.ui300
3 files changed, 236 insertions, 129 deletions
diff --git a/core/settings/light-and-power/light.cpp b/core/settings/light-and-power/light.cpp
index 6115178..d6d09a1 100644
--- a/core/settings/light-and-power/light.cpp
+++ b/core/settings/light-and-power/light.cpp
@@ -16,7 +16,7 @@
    =_        +     =;=|` 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
@@ -34,6 +34,7 @@
#include <qpe/qcopenvelope_qws.h>
#endif
+#include <qlabel.h>
#include <qcheckbox.h>
#include <qtabwidget.h>
#include <qslider.h>
@@ -54,12 +55,17 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
m_bres = ODevice::inst ( )-> displayBrightnessResolution ( );
m_cres = ODevice::inst ( )-> displayContrastResolution ( );
+ // check whether to show the light sensor stuff
+
if ( !ODevice::inst ( )-> hasLightSensor ( )) {
auto_brightness-> hide ( );
CalibrateLightSensor-> hide ( );
auto_brightness_ac-> hide ( );
CalibrateLightSensor_ac-> hide ( );
}
+
+ // check whether to show the contrast stuff
+
if (m_cres) {
GroupLight->setTitle(tr("Backlight && Contrast"));
GroupLight_ac->setTitle(GroupLight->title());
@@ -68,15 +74,28 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
contrast_ac->hide();
}
+ // check whether to show the cpu frequency stuff
+
QStrList freq = ODevice::inst()->allowedCpuFrequencies();
if ( freq.count() ) {
frequency->insertStrList( freq );
frequency_ac->insertStrList( freq );
} else {
+ frequencyLabel->hide();
frequency->hide();
+ frequencyLabel_ac->hide();
frequency_ac->hide();
}
+ // check whether to show the hinge action stuff
+
+ if ( !ODevice::inst()->hasHingeSensor() ) {
+ closeHingeLabel->hide();
+ closeHingeAction->hide();
+ closeHingeLabel_ac->hide();
+ closeHingeAction_ac->hide();
+ }
+
Config config ( "apm" );
config. setGroup ( "Battery" );
@@ -91,7 +110,10 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
// CPU frequency
frequency->setCurrentItem( config.readNumEntry("Freq", 0) );
- int bright = config. readNumEntry ( "Brightness", 127 );
+ // hinge action
+ closeHingeAction->setCurrentItem( config.readNumEntry("CloseHingeAction", 0) );
+
+ int bright = config. readNumEntry ( "Brightness", 127 );
int contr = m_oldcontrast = config. readNumEntry ( "Contrast", 127 );
brightness-> setTickInterval ( QMAX( 16, 256 / m_bres ));
brightness-> setLineStep ( QMAX( 1, 256 / m_bres ));
@@ -110,7 +132,7 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
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 ));
@@ -122,6 +144,9 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
// CPU frequency
frequency_ac->setCurrentItem( config.readNumEntry("Freq", 0) );
+ // hinge action
+ closeHingeAction_ac->setCurrentItem( config.readNumEntry("CloseHingeAction", 0) );
+
bright = config. readNumEntry ( "Brightness", 255 );
brightness_ac-> setTickInterval ( QMAX( 16, 256 / m_bres ));
brightness_ac-> setLineStep ( QMAX( 1, 256 / m_bres ));
@@ -139,8 +164,8 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
// light sensor
auto_brightness_ac-> setChecked ( config. readBoolEntry ( "LightSensor", false ));
m_sensordata_ac = config. readListEntry ( "LightSensorData", ';' );
-
- // advanced settings
+
+ // warnings
config. setGroup ( "Warnings" );
warnintervalBox-> setValue ( config. readNumEntry ( "checkinterval", 10000 ) / 1000 );
lowSpinBox-> setValue ( config. readNumEntry ( "powerverylow", 10 ) );
@@ -150,22 +175,25 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags )
connect ( m_resettimer, SIGNAL( timeout ( )), this, SLOT( resetBacklight ( )));
if ( PowerStatusManager::readStatus ( ). acStatus ( ) != PowerStatus::Online ) {
- tabs-> setCurrentPage ( 0 );
+ 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_cres) {
connect ( contrast, SIGNAL( valueChanged ( int )), this, SLOT( setContrast ( int )));
connect ( contrast_ac, SIGNAL( valueChanged ( int )), this, SLOT( setContrast ( int )));
}
- connect( frequency, SIGNAL( activated(int) ), this, SLOT( setFrequency(int) ) );
+ connect( frequency, SIGNAL( activated(int) ), this, SLOT( setFrequency(int) ) );
+ connect( frequency_ac, SIGNAL( activated(int) ), this, SLOT( setFrequency(int) ) );
+ connect( closeHingeAction, SIGNAL( activated(int) ), this, SLOT( setCloseHingeAction(int) ) );
+ connect( closeHingeAction_ac, SIGNAL( activated(int) ), this, SLOT( setCloseHingeAction(int) ) );
}
-LightSettings::~LightSettings ( )
+LightSettings::~LightSettings ( )
{
}
@@ -191,23 +219,22 @@ void LightSettings::setBacklight ( int bright )
{
QCopEnvelope e ( "QPE/System", "setBacklight(int)" );
e << bright;
-
+
if ( bright != -1 ) {
m_resettimer-> stop ( );
m_resettimer-> start ( 4000, true );
- }
+ }
}
void LightSettings::setContrast ( int contr )
{
if (contr == -1) contr = m_oldcontrast;
-
ODevice::inst ( )-> setDisplayContrast(contr);
}
void LightSettings::setFrequency ( int index )
{
-qWarning("LightSettings::setFrequency(%d)", index);
+ qWarning("LightSettings::setFrequency(%d)", index);
ODevice::inst ( )-> setCurrentCpuFrequency(index);
}
@@ -217,6 +244,11 @@ void LightSettings::resetBacklight ( )
setContrast ( -1 );
}
+void LightSettings::setCloseHingeAction ( int index )
+{
+ qWarning("LightSettings::setCloseHingeStatus(%d)", index);
+}
+
void LightSettings::accept ( )
{
Config config ( "apm" );
@@ -231,6 +263,7 @@ void LightSettings::accept ( )
if (m_cres)
config. writeEntry ( "Contrast", contrast-> value () );
config. writeEntry ( "Freq", frequency->currentItem() );
+ config. writeEntry ( "CloseHingeAction", closeHingeAction->currentItem() );
// ac
config. setGroup ( "AC" );
@@ -242,8 +275,9 @@ void LightSettings::accept ( )
if (m_cres)
config. writeEntry ( "Contrast", contrast_ac-> value () );
config. writeEntry ( "Freq", frequency_ac->currentItem() );
+ config. writeEntry ( "CloseHingeAction", closeHingeAction_ac->currentItem() );
- // only make light sensor stuff appear if the unit has a sensor
+ // 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() );
@@ -275,7 +309,7 @@ void LightSettings::done ( int r )
{
m_resettimer-> stop ( );
resetBacklight ( );
-
+
LightSettingsBase::done ( r );
close ( );
}
diff --git a/core/settings/light-and-power/light.h b/core/settings/light-and-power/light.h
index 83d5520..2167817 100644
--- a/core/settings/light-and-power/light.h
+++ b/core/settings/light-and-power/light.h
@@ -54,6 +54,7 @@ protected slots:
void setBacklight ( int );
void setContrast ( int );
void setFrequency ( int );
+ void setCloseHingeAction ( int );
void resetBacklight ( );
private:
diff --git a/core/settings/light-and-power/lightsettingsbase.ui b/core/settings/light-and-power/lightsettingsbase.ui
index e4d5f0e..2af0331 100644
--- a/core/settings/light-and-power/lightsettingsbase.ui
+++ b/core/settings/light-and-power/lightsettingsbase.ui
@@ -11,7 +11,7 @@
<rect>
<x>0</x>
<y>0</y>
- <width>343</width>
+ <width>331</width>
<height>532</height>
</rect>
</property>
@@ -105,42 +105,65 @@
<name>spacing</name>
<number>3</number>
</property>
- <widget row="1" column="1" >
- <class>QSpinBox</class>
+ <widget row="0" column="0" rowspan="1" colspan="2" >
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>interval_lightoff</cstring>
+ <cstring>TL1</cstring>
</property>
<property stdset="1">
- <name>suffix</name>
- <string> sec</string>
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ </sizepolicy>
</property>
<property stdset="1">
- <name>specialValueText</name>
- <string>never</string>
+ <name>text</name>
+ <string>Dim light after</string>
</property>
+ </widget>
+ <widget row="2" column="0" rowspan="1" colspan="2" >
+ <class>QLabel</class>
<property stdset="1">
- <name>buttonSymbols</name>
- <enum>PlusMinus</enum>
+ <name>name</name>
+ <cstring>TL3</cstring>
</property>
<property stdset="1">
- <name>maxValue</name>
- <number>3600</number>
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ </sizepolicy>
</property>
<property stdset="1">
- <name>minValue</name>
- <number>0</number>
+ <name>text</name>
+ <string>Suspend after</string>
</property>
+ </widget>
+ <widget row="4" column="0" rowspan="1" colspan="3" >
+ <class>QCheckBox</class>
<property stdset="1">
- <name>lineStep</name>
- <number>10</number>
+ <name>name</name>
+ <cstring>LcdOffOnly</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>7</hsizetype>
+ <vsizetype>0</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Deactivate LCD only (does not suspend)</string>
</property>
</widget>
- <widget row="0" column="0" >
+ <widget row="3" column="0" rowspan="1" colspan="2" >
<class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>TL1</cstring>
+ <cstring>frequencyLabel</cstring>
</property>
<property stdset="1">
<name>sizePolicy</name>
@@ -151,10 +174,21 @@
</property>
<property stdset="1">
<name>text</name>
- <string>Dim light after</string>
+ <string>CPU Frequency</string>
</property>
</widget>
- <widget row="0" column="1" >
+ <widget row="5" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>closeHingeLabel</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>On closing the hinge</string>
+ </property>
+ </widget>
+ <widget row="0" column="2" >
<class>QSpinBox</class>
<property stdset="1">
<name>name</name>
@@ -185,79 +219,38 @@
<number>10</number>
</property>
</widget>
- <widget row="4" column="0" rowspan="1" colspan="2" >
- <class>QCheckBox</class>
- <property stdset="1">
- <name>name</name>
- <cstring>LcdOffOnly</cstring>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>7</hsizetype>
- <vsizetype>0</vsizetype>
- </sizepolicy>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Deactivate LCD only (does not suspend)</string>
- </property>
- </widget>
- <widget row="2" column="0" >
- <class>QLabel</class>
+ <widget row="1" column="2" >
+ <class>QSpinBox</class>
<property stdset="1">
<name>name</name>
- <cstring>TL3</cstring>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
+ <cstring>interval_lightoff</cstring>
</property>
<property stdset="1">
- <name>text</name>
- <string>Suspend after</string>
- </property>
- </widget>
- <widget row="1" column="0" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>TL2</cstring>
+ <name>suffix</name>
+ <string> sec</string>
</property>
<property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
+ <name>specialValueText</name>
+ <string>never</string>
</property>
<property stdset="1">
- <name>text</name>
- <string>Light off after</string>
+ <name>buttonSymbols</name>
+ <enum>PlusMinus</enum>
</property>
- </widget>
- <widget row="3" column="0" >
- <class>QLabel</class>
<property stdset="1">
- <name>name</name>
- <cstring>TL3_2</cstring>
+ <name>maxValue</name>
+ <number>3600</number>
</property>
<property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
+ <name>minValue</name>
+ <number>0</number>
</property>
<property stdset="1">
- <name>text</name>
- <string>CPU Frequency</string>
+ <name>lineStep</name>
+ <number>10</number>
</property>
</widget>
- <widget row="2" column="1" >
+ <widget row="2" column="2" >
<class>QSpinBox</class>
<property stdset="1">
<name>name</name>
@@ -288,13 +281,56 @@
<number>10</number>
</property>
</widget>
- <widget row="3" column="1" >
+ <widget row="3" column="2" >
<class>QComboBox</class>
<property stdset="1">
<name>name</name>
<cstring>frequency</cstring>
</property>
</widget>
+ <widget row="5" column="1" rowspan="1" colspan="2" >
+ <class>QComboBox</class>
+ <item>
+ <property>
+ <name>text</name>
+ <string>ignore</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>display off</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>suspend</string>
+ </property>
+ </item>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>closeHingeAction</cstring>
+ </property>
+ </widget>
+ <widget row="1" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TL2</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Light off after</string>
+ </property>
+ </widget>
</grid>
</widget>
<widget>
@@ -552,11 +588,11 @@
<vbox>
<property stdset="1">
<name>margin</name>
- <number>-1</number>
+ <number>5</number>
</property>
<property stdset="1">
<name>spacing</name>
- <number>-1</number>
+ <number>3</number>
</property>
<widget>
<class>QGroupBox</class>
@@ -618,24 +654,6 @@
<number>10</number>
</property>
</widget>
- <widget row="0" column="0" >
- <class>QLabel</class>
- <property stdset="1">
- <name>name</name>
- <cstring>TextLabel1_3_2</cstring>
- </property>
- <property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
- </property>
- <property stdset="1">
- <name>text</name>
- <string>Dim light after</string>
- </property>
- </widget>
<widget row="2" column="1" >
<class>QSpinBox</class>
<property stdset="1">
@@ -698,6 +716,31 @@
<number>10</number>
</property>
</widget>
+ <widget row="3" column="1" >
+ <class>QComboBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>frequency_ac</cstring>
+ </property>
+ </widget>
+ <widget row="3" column="0" >
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>frequencyLabel_ac</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>CPU Frequency</string>
+ </property>
+ </widget>
<widget row="1" column="0" >
<class>QLabel</class>
<property stdset="1">
@@ -716,11 +759,11 @@
<string>Light off after</string>
</property>
</widget>
- <widget row="2" column="0" >
+ <widget row="0" column="0" >
<class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel1_2_2_3</cstring>
+ <cstring>TextLabel1_3_2</cstring>
</property>
<property stdset="1">
<name>sizePolicy</name>
@@ -731,17 +774,28 @@
</property>
<property stdset="1">
<name>text</name>
- <string>Suspend after</string>
+ <string>Dim light after</string>
</property>
</widget>
- <widget row="3" column="1" >
- <class>QComboBox</class>
+ <widget row="2" column="0" >
+ <class>QLabel</class>
<property stdset="1">
<name>name</name>
- <cstring>frequency_ac</cstring>
+ <cstring>TextLabel1_2_2_3</cstring>
+ </property>
+ <property stdset="1">
+ <name>sizePolicy</name>
+ <sizepolicy>
+ <hsizetype>3</hsizetype>
+ <vsizetype>1</vsizetype>
+ </sizepolicy>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Suspend after</string>
</property>
</widget>
- <widget row="4" column="0" >
+ <widget row="4" column="0" rowspan="1" colspan="2" >
<class>QCheckBox</class>
<property stdset="1">
<name>name</name>
@@ -759,22 +813,40 @@
<string>Deactivate LCD only (does not suspend)</string>
</property>
</widget>
- <widget row="3" column="0" >
- <class>QLabel</class>
+ <widget row="5" column="1" >
+ <class>QComboBox</class>
+ <item>
+ <property>
+ <name>text</name>
+ <string>ignore</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>display off</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>suspend</string>
+ </property>
+ </item>
<property stdset="1">
<name>name</name>
- <cstring>TextLabel1_2_2_3_2</cstring>
+ <cstring>closeHingeAction_ac</cstring>
</property>
+ </widget>
+ <widget row="5" column="0" >
+ <class>QLabel</class>
<property stdset="1">
- <name>sizePolicy</name>
- <sizepolicy>
- <hsizetype>3</hsizetype>
- <vsizetype>1</vsizetype>
- </sizepolicy>
+ <name>name</name>
+ <cstring>closeHingeLabel_ac</cstring>
</property>
<property stdset="1">
<name>text</name>
- <string>CPU frequency</string>
+ <string>On closing the hinge</string>
</property>
</widget>
</grid>