summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kcontrol/displayconfig/displayconfig.cpp60
-rw-r--r--kcontrol/displayconfig/displayconfig.h5
-rw-r--r--kcontrol/displayconfig/displayconfigbase.ui166
3 files changed, 230 insertions, 1 deletions
diff --git a/kcontrol/displayconfig/displayconfig.cpp b/kcontrol/displayconfig/displayconfig.cpp
index 3498327b0..ad2d31fff 100644
--- a/kcontrol/displayconfig/displayconfig.cpp
+++ b/kcontrol/displayconfig/displayconfig.cpp
@@ -761,6 +761,13 @@ KDisplayConfig::KDisplayConfig(TQWidget *parent, const char *name, const TQStrin
connect(base->gammaBlueSlider, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(gammaBlueSliderChanged(int)));
connect(base->monitorDisplaySelectDD, TQT_SIGNAL(activated(int)), TQT_SLOT(selectScreen(int)));
connect(base->gammamonitorDisplaySelectDD, TQT_SIGNAL(activated(int)), TQT_SLOT(gammaselectScreen(int)));
+ connect(base->systemEnableDPMS, TQT_SIGNAL(clicked()), TQT_SLOT(dpmsChanged()));
+ connect(base->systemEnableDPMSStandby, TQT_SIGNAL(clicked()), TQT_SLOT(dpmsChanged()));
+ connect(base->systemEnableDPMSSuspend, TQT_SIGNAL(clicked()), TQT_SLOT(dpmsChanged()));
+ connect(base->systemEnableDPMSPowerDown, TQT_SIGNAL(clicked()), TQT_SLOT(dpmsChanged()));
+ connect(base->dpmsStandbyTimeout, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(dpmsChanged()));
+ connect(base->dpmsSuspendTimeout, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(dpmsChanged()));
+ connect(base->dpmsPowerDownTimeout, TQT_SIGNAL(valueChanged(int)), TQT_SLOT(dpmsChanged()));
connect(base->monitorPhyArrange, TQT_SIGNAL(workspaceRelayoutNeeded()), this, TQT_SLOT(layoutDragDropDisplay()));
connect(base->isPrimaryMonitorCB, TQT_SIGNAL(clicked()), TQT_SLOT(changed()));
@@ -1014,6 +1021,17 @@ void KDisplayConfig::refreshDisplayedInformation () {
updateDisplayedInformation();
updateDragDropDisplay();
+
+ screendata = m_screenInfoArray.at(0);
+ base->systemEnableDPMS->setEnabled(screendata->has_dpms);
+ base->systemEnableDPMS->setChecked(screendata->enable_dpms);
+ base->systemEnableDPMSStandby->setChecked(screendata->dpms_standby_delay!=0);
+ base->systemEnableDPMSSuspend->setChecked(screendata->dpms_suspend_delay!=0);
+ base->systemEnableDPMSPowerDown->setChecked(screendata->dpms_off_delay!=0);
+ base->dpmsStandbyTimeout->setValue(screendata->dpms_standby_delay/60);
+ base->dpmsSuspendTimeout->setValue(screendata->dpms_suspend_delay/60);
+ base->dpmsPowerDownTimeout->setValue(screendata->dpms_off_delay/60);
+ processDPMSControls();
}
void KDisplayConfig::updateDragDropDisplay() {
@@ -1322,21 +1340,63 @@ void KDisplayConfig::gammaTargetChanged (int slotNumber) {
base->gammaTestImage->setBackgroundPixmap( gammaPixmap );
}
+void KDisplayConfig::dpmsChanged() {
+ SingleScreenData *screendata;
+ screendata = m_screenInfoArray.at(0);
+
+ processDPMSControls();
+
+ screendata->enable_dpms = base->systemEnableDPMS->isChecked();
+ screendata->dpms_standby_delay = (base->systemEnableDPMSStandby->isChecked())?base->dpmsStandbyTimeout->value()*60:0;
+ screendata->dpms_suspend_delay = (base->systemEnableDPMSSuspend->isChecked())?base->dpmsSuspendTimeout->value()*60:0;
+ screendata->dpms_off_delay = (base->systemEnableDPMSPowerDown->isChecked())?base->dpmsPowerDownTimeout->value()*60:0;
+
+ changed();
+}
+
+void KDisplayConfig::processDPMSControls() {
+ if (base->systemEnableDPMS->isChecked()) {
+ base->systemEnableDPMSStandby->setEnabled(true);
+ base->systemEnableDPMSSuspend->setEnabled(true);
+ base->systemEnableDPMSPowerDown->setEnabled(true);
+ base->dpmsStandbyTimeout->setEnabled(base->systemEnableDPMSStandby->isChecked());
+ base->dpmsSuspendTimeout->setEnabled(base->systemEnableDPMSSuspend->isChecked());
+ base->dpmsPowerDownTimeout->setEnabled(base->systemEnableDPMSPowerDown->isChecked());
+ }
+ else {
+ base->systemEnableDPMSStandby->setEnabled(false);
+ base->systemEnableDPMSSuspend->setEnabled(false);
+ base->systemEnableDPMSPowerDown->setEnabled(false);
+ base->dpmsStandbyTimeout->setEnabled(false);
+ base->dpmsSuspendTimeout->setEnabled(false);
+ base->dpmsPowerDownTimeout->setEnabled(false);
+ }
+
+ if (base->systemEnableDPMSStandby->isChecked()) base->dpmsSuspendTimeout->setMinValue(base->dpmsStandbyTimeout->value());
+ else base->dpmsSuspendTimeout->setMinValue(1);
+ if (base->systemEnableDPMSSuspend->isChecked()) base->dpmsPowerDownTimeout->setMinValue(base->dpmsSuspendTimeout->value());
+ else if (base->systemEnableDPMSStandby->isChecked()) base->dpmsPowerDownTimeout->setMinValue(base->dpmsStandbyTimeout->value());
+ else base->dpmsPowerDownTimeout->setMinValue(1);
+}
+
void KDisplayConfig::processLockoutControls() {
if (getuid() != 0 || !systemconfig->checkConfigFilesWritable( true )) {
base->globalTab->setEnabled(false);
base->resolutionTab->setEnabled(false);
base->gammaTab->setEnabled(false);
+ base->powerTab->setEnabled(false);
}
else {
base->globalTab->setEnabled(true);
if (base->systemEnableSupport->isChecked()) {
base->resolutionTab->setEnabled(true);
base->gammaTab->setEnabled(true);
+ base->powerTab->setEnabled(true);
}
else {
base->resolutionTab->setEnabled(false);
base->gammaTab->setEnabled(false);
+ base->powerTab->setEnabled(false);
}
}
diff --git a/kcontrol/displayconfig/displayconfig.h b/kcontrol/displayconfig/displayconfig.h
index cddb8186e..35cf7fa6c 100644
--- a/kcontrol/displayconfig/displayconfig.h
+++ b/kcontrol/displayconfig/displayconfig.h
@@ -30,6 +30,7 @@
#include <tqworkspace.h>
#include <tqobjectlist.h>
#include <tqwidgetlist.h>
+#include <tqspinbox.h>
#include <dcopobject.h>
@@ -122,9 +123,11 @@ private slots:
void gammaRedSliderChanged(int index);
void gammaGreenSliderChanged(int index);
void gammaBlueSliderChanged(int index);
- void applyGamma();
+ void applyGamma (void);
void gammaselectScreen (int slotNumber);
void gammaTargetChanged (int slotNumber);
+ void dpmsChanged (void);
+ void processDPMSControls (void);
};
#endif
diff --git a/kcontrol/displayconfig/displayconfigbase.ui b/kcontrol/displayconfig/displayconfigbase.ui
index a0d73f4e9..a71dca758 100644
--- a/kcontrol/displayconfig/displayconfigbase.ui
+++ b/kcontrol/displayconfig/displayconfigbase.ui
@@ -55,6 +55,23 @@
</widget>
</grid>
</widget>
+ <spacer row="1" column="0">
+ <property name="name" stdset="0">
+ <cstring>Spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="tqsizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
</grid>
</widget>
<widget class="TQWidget">
@@ -592,6 +609,155 @@
</grid>
</grid>
</widget>
+ <widget class="TQWidget">
+ <property name="name">
+ <cstring>powerTab</cstring>
+ </property>
+ <attribute name="title">
+ <string>Power Management</string>
+ </attribute>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQGroupBox" row="0" column="0">
+ <property name="name">
+ <cstring>groupPowerManagement</cstring>
+ </property>
+ <property name="title">
+ <string>Energy Star (DPMS)</string>
+ </property>
+ <grid>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <widget class="TQCheckBox" row="0" column="0" colspan="3">
+ <property name="name">
+ <cstring>systemEnableDPMS</cstring>
+ </property>
+ <property name="text">
+ <string>&amp;Enable DPMS power save modes</string>
+ </property>
+ </widget>
+ <spacer row="0" column="3">
+ <property name="name" stdset="0">
+ <cstring>Spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="tqsizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="TQCheckBox" row="1" column="0" colspan="1">
+ <property name="name">
+ <cstring>systemEnableDPMSStandby</cstring>
+ </property>
+ <property name="text">
+ <string>Enable &amp;standby after</string>
+ </property>
+ </widget>
+ <widget class="TQSpinBox" row="1" column="1" colspan="1">
+ <property name="name">
+ <cstring>dpmsStandbyTimeout</cstring>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="maxValue">
+ <number>360</number>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="1" column="2" colspan="1">
+ <property name="name">
+ <cstring>textLabel9_1</cstring>
+ </property>
+ <property name="text">
+ <string>minutes.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="2" column="0" colspan="1">
+ <property name="name">
+ <cstring>systemEnableDPMSSuspend</cstring>
+ </property>
+ <property name="text">
+ <string>Enable &amp;suspend after</string>
+ </property>
+ </widget>
+ <widget class="TQSpinBox" row="2" column="1" colspan="1">
+ <property name="name">
+ <cstring>dpmsSuspendTimeout</cstring>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="maxValue">
+ <number>360</number>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="2" column="2" colspan="1">
+ <property name="name">
+ <cstring>textLabel9_2</cstring>
+ </property>
+ <property name="text">
+ <string>minutes.</string>
+ </property>
+ </widget>
+ <widget class="TQCheckBox" row="3" column="0" colspan="1">
+ <property name="name">
+ <cstring>systemEnableDPMSPowerDown</cstring>
+ </property>
+ <property name="text">
+ <string>Enable &amp;power down after</string>
+ </property>
+ </widget>
+ <widget class="TQSpinBox" row="3" column="1" colspan="1">
+ <property name="name">
+ <cstring>dpmsPowerDownTimeout</cstring>
+ </property>
+ <property name="minValue">
+ <number>1</number>
+ </property>
+ <property name="maxValue">
+ <number>360</number>
+ </property>
+ </widget>
+ <widget class="TQLabel" row="3" column="2" colspan="1">
+ <property name="name">
+ <cstring>textLabel9_3</cstring>
+ </property>
+ <property name="text">
+ <string>minutes.</string>
+ </property>
+ </widget>
+ </grid>
+ </widget>
+ <spacer row="1" column="0">
+ <property name="name" stdset="0">
+ <cstring>Spacer4</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Vertical</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="tqsizeHint">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </grid>
+ </widget>
</widget>
</grid>
</widget>