-rw-r--r-- | core/settings/light-and-power/light.cpp | 28 | ||||
-rw-r--r-- | core/settings/light-and-power/light.h | 3 |
2 files changed, 30 insertions, 1 deletions
diff --git a/core/settings/light-and-power/light.cpp b/core/settings/light-and-power/light.cpp index 8b98672..68c2929 100644 --- a/core/settings/light-and-power/light.cpp +++ b/core/settings/light-and-power/light.cpp @@ -41,8 +41,9 @@ #include <qtimer.h> #include <qspinbox.h> #include <qpushbutton.h> #include <qgroupbox.h> +#include <qcombobox.h> #include <opie/odevice.h> #include "sensor.h" @@ -61,14 +62,24 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags ) auto_brightness_ac-> hide ( ); CalibrateLightSensor_ac-> hide ( ); } if (m_cres) { - GroupLight->setTitle(tr("Backlight & Contrast")); + GroupLight->setTitle(tr("Backlight && Contrast")); + GroupLight_ac->setTitle(GroupLight->title()); } else { contrast->hide(); contrast_ac->hide(); } + QStrList freq = ODevice::inst()->cpuFrequencies(); + if ( freq.count() ) { + frequency->insertStrList( freq ); + frequency_ac->insertStrList( freq ); + } else { + frequency->hide(); + frequency_ac->hide(); + } + Config config ( "apm" ); config. setGroup ( "Battery" ); // battery spinboxes @@ -78,8 +89,11 @@ 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) ); + 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 )); @@ -106,8 +120,11 @@ 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) ); + 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 )); @@ -146,8 +163,9 @@ LightSettings::LightSettings( QWidget* parent, const char* name, WFlags ) 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) ) ); } LightSettings::~LightSettings ( ) { @@ -188,8 +206,14 @@ void LightSettings::setContrast ( int contr ) ODevice::inst ( )-> setDisplayContrast(contr); } +void LightSettings::setFrequency ( int index ) +{ +qWarning("LightSettings::setFrequency(%d)", index); + ODevice::inst ( )-> setCpuFrequency(index); +} + void LightSettings::resetBacklight ( ) { setBacklight ( -1 ); setContrast ( -1 ); @@ -207,8 +231,9 @@ void LightSettings::accept ( ) config. writeEntry ( "Suspend", interval_suspend-> value ( )); config. writeEntry ( "Brightness", brightness-> value () ); if (m_cres) config. writeEntry ( "Contrast", contrast-> value () ); + config. writeEntry ( "Freq", frequency->currentItem() ); // ac config. setGroup ( "AC" ); config. writeEntry ( "LcdOffOnly", LcdOffOnly_ac-> isChecked ( )); @@ -217,8 +242,9 @@ void LightSettings::accept ( ) 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() ); // only make light sensor stuff appear if the unit has a sensor if ( ODevice::inst ( )-> hasLightSensor ( )) { config. setGroup ( "Battery" ); diff --git a/core/settings/light-and-power/light.h b/core/settings/light-and-power/light.h index 4a8bf6b..c48e5f6 100644 --- a/core/settings/light-and-power/light.h +++ b/core/settings/light-and-power/light.h @@ -29,8 +29,9 @@ #define __LIGHT_H__ #include <qstringlist.h> +#include <qlistbox.h> #include "lightsettingsbase.h" class QTimer; @@ -50,14 +51,16 @@ protected slots: virtual void calibrateSensor ( ); virtual void calibrateSensorAC ( ); void setBacklight ( int ); void setContrast ( int ); + void setFrequency ( int ); void resetBacklight ( ); private: int m_bres; int m_cres; int m_oldcontrast; + int m_oldfreq; QTimer *m_resettimer; QStringList m_sensordata; QStringList m_sensordata_ac; }; |