author | mickeyl <mickeyl> | 2003-12-29 16:52:29 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-12-29 16:52:29 (UTC) |
commit | 2ecab614a6b91658b1608c62134cd14e257e55b7 (patch) (side-by-side diff) | |
tree | 806d351238f4719f0c4ef6a720d9ff4e008003ea /core/settings | |
parent | 8224dfc07a698d4c40cb240d315dc81b67512015 (diff) | |
download | opie-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
-rw-r--r-- | core/settings/light-and-power/light.cpp | 38 | ||||
-rw-r--r-- | core/settings/light-and-power/light.h | 1 | ||||
-rw-r--r-- | core/settings/light-and-power/lightsettingsbase.ui | 300 |
3 files changed, 223 insertions, 116 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 @@ -31,12 +31,13 @@ #include <qpe/config.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 <qtabwidget.h> #include <qslider.h> #include <qspinbox.h> #include <qpushbutton.h> #include <qgroupbox.h> @@ -51,35 +52,53 @@ using namespace Opie; LightSettings::LightSettings( QWidget* parent, const char* name, WFlags ) : LightSettingsBase( parent, name, false, WStyle_ContextHelp ) { 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()); } else { contrast->hide(); 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" ); // battery spinboxes interval_dim-> setValue ( config. readNumEntry ( "Dim", 30 )); interval_lightoff-> setValue ( config. readNumEntry ( "LightOff", 20 )); @@ -88,12 +107,15 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags ) // battery check and slider LcdOffOnly->setChecked ( config. readBoolEntry ( "LcdOffOnly", false )); // CPU frequency frequency->setCurrentItem( config.readNumEntry("Freq", 0) ); + // 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 )); brightness-> setPageStep ( QMAX( 1, 256 / m_bres )); brightness-> setValue ( bright ); @@ -119,12 +141,15 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags ) // ac check and slider LcdOffOnly_ac-> setChecked ( config. readBoolEntry ( "LcdOffOnly", false )); // 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 )); brightness_ac-> setPageStep ( QMAX( 1, 256 / m_bres )); brightness_ac-> setValue ( bright ); @@ -137,13 +162,13 @@ 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 ) ); criticalSpinBox-> setValue ( config. readNumEntry ( "powercritical", 5 ) ); m_resettimer = new QTimer ( this ); @@ -160,12 +185,15 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags ) 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_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 ( ) { } @@ -198,13 +226,12 @@ void LightSettings::setBacklight ( int bright ) } } 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); @@ -214,12 +241,17 @@ qWarning("LightSettings::setFrequency(%d)", index); void LightSettings::resetBacklight ( ) { setBacklight ( -1 ); setContrast ( -1 ); } +void LightSettings::setCloseHingeAction ( int index ) +{ + qWarning("LightSettings::setCloseHingeStatus(%d)", index); +} + void LightSettings::accept ( ) { Config config ( "apm" ); // bat config. setGroup ( "Battery" ); @@ -228,23 +260,25 @@ void LightSettings::accept ( ) config. writeEntry ( "LightOff", interval_lightoff-> value ( )); config. writeEntry ( "Suspend", interval_suspend-> value ( )); config. writeEntry ( "Brightness", brightness-> value () ); if (m_cres) config. writeEntry ( "Contrast", contrast-> value () ); config. writeEntry ( "Freq", frequency->currentItem() ); + config. writeEntry ( "CloseHingeAction", closeHingeAction->currentItem() ); // 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 () ); 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 if ( ODevice::inst ( )-> hasLightSensor ( )) { config. setGroup ( "Battery" ); config. writeEntry ( "LightSensor", auto_brightness->isChecked() ); config. writeEntry ( "LightSensorData", m_sensordata, ';' ); 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 @@ -51,12 +51,13 @@ protected: protected slots: virtual void calibrateSensor ( ); virtual void calibrateSensorAC ( ); void setBacklight ( int ); void setContrast ( int ); void setFrequency ( int ); + void setCloseHingeAction ( int ); void resetBacklight ( ); private: int m_bres; int m_cres; int m_oldcontrast; 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 @@ -8,13 +8,13 @@ </property> <property stdset="1"> <name>geometry</name> <rect> <x>0</x> <y>0</y> - <width>343</width> + <width>331</width> <height>532</height> </rect> </property> <property stdset="1"> <name>sizePolicy</name> <sizepolicy> @@ -102,62 +102,96 @@ <number>5</number> </property> <property stdset="1"> <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> <sizepolicy> <hsizetype>3</hsizetype> <vsizetype>1</vsizetype> </sizepolicy> </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> <cstring>interval_dim</cstring> </property> <property stdset="1"> @@ -182,85 +216,44 @@ </property> <property stdset="1"> <name>lineStep</name> <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> - </property> - <property stdset="1"> - <name>text</name> - <string>Suspend after</string> + <cstring>interval_lightoff</cstring> </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> <cstring>interval_suspend</cstring> </property> <property stdset="1"> @@ -285,19 +278,62 @@ </property> <property stdset="1"> <name>lineStep</name> <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> <class>QGroupBox</class> <property stdset="1"> <name>name</name> @@ -549,17 +585,17 @@ <name>title</name> <string>on AC</string> </attribute> <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> <property stdset="1"> <name>name</name> <cstring>Group3</cstring> @@ -615,30 +651,12 @@ </property> <property stdset="1"> <name>lineStep</name> <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"> <name>name</name> <cstring>interval_suspend_ac</cstring> </property> @@ -695,12 +713,37 @@ </property> <property stdset="1"> <name>lineStep</name> <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"> <name>name</name> <cstring>TextLabel2_2_2</cstring> </property> @@ -713,38 +756,49 @@ </property> <property stdset="1"> <name>text</name> <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> <sizepolicy> <hsizetype>3</hsizetype> <vsizetype>1</vsizetype> </sizepolicy> </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> <cstring>LcdOffOnly_ac</cstring> </property> <property stdset="1"> @@ -756,28 +810,46 @@ </property> <property stdset="1"> <name>text</name> <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> </widget> <widget> <class>QGroupBox</class> |