diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-05-05 21:57:03 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-05-10 18:45:44 +0900 |
commit | 88fd5db6abc089d22ef4918c012f4008629417ef (patch) | |
tree | 700447f60260c854a6a23ef90f3ca4e3630703bf /kmilo/generic/generic_monitor.cpp | |
parent | c7fd6c0c06b0fb5926a63b51c1b972b8b5e7465e (diff) | |
download | tdeutils-88fd5db6abc089d22ef4918c012f4008629417ef.tar.gz tdeutils-88fd5db6abc089d22ef4918c012f4008629417ef.zip |
KMilo: added keyboard support for screen brightness up/down.
This is inspired and partially include code from Roman Savochenko
proposed in bug 2783 and tdeutils #8.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 3c70b34ae35cd22d6b7424e4f8523a2c6a1a62e5)
Diffstat (limited to 'kmilo/generic/generic_monitor.cpp')
-rw-r--r-- | kmilo/generic/generic_monitor.cpp | 56 |
1 files changed, 49 insertions, 7 deletions
diff --git a/kmilo/generic/generic_monitor.cpp b/kmilo/generic/generic_monitor.cpp index 28138ec..9017f70 100644 --- a/kmilo/generic/generic_monitor.cpp +++ b/kmilo/generic/generic_monitor.cpp @@ -43,7 +43,7 @@ using namespace KMilo; GenericMonitor::GenericMonitor(TQObject *parent, const char *name, const TQStringList& args) -: Monitor(parent, name, args) +: Monitor(parent, name, args), kmixClient(NULL), kmixWindow(NULL), tdepowersave(NULL) { _poll = false; m_displayType = Monitor::None; @@ -69,11 +69,8 @@ GenericMonitor::~GenericMonitor() bool GenericMonitor::init() { - TDEConfig config(CONFIG_FILE); - reconfigure(&config); - - //config = new TDEConfig("kmilodrc"); - config.setGroup("kubuntu"); + config = new TDEConfig(CONFIG_FILE); + reconfigure(config); if(!m_enabled) return false; // exit early if we are not supposed to run @@ -95,7 +92,9 @@ bool GenericMonitor::init() { "FastVolumeDown", TQt::Key_VolumeDown, TQT_SLOT(fastVolumeDown()) }, { "SlowVolumeUp", TQt::CTRL+TQt::Key_VolumeUp, TQT_SLOT(slowVolumeUp()) }, { "SlowVolumeDown", TQt::CTRL+TQt::Key_VolumeDown, TQT_SLOT(slowVolumeDown()) }, - { "Mute", TDEShortcut("XF86AudioMute"), TQT_SLOT(mute()) } + { "Mute", TDEShortcut("XF86AudioMute"), TQT_SLOT(mute()) }, + { "BrightnessUp", TDEShortcut("XF86MonBrightnessUp"), TQT_SLOT(brightnessUp()) }, + { "BrightnessDown", TDEShortcut("XF86MonBrightnessDown"), TQT_SLOT(brightnessDown()) } }; ga = new TDEGlobalAccel(this, "miloGenericAccel"); @@ -116,6 +115,7 @@ bool GenericMonitor::init() kmixClient = new DCOPRef("kmix", "Mixer0"); kmixWindow = new DCOPRef("kmix", "kmix-mainwindow#1"); + tdepowersave = new DCOPRef("tdepowersave", "tdepowersaveIface"); return true; } @@ -325,6 +325,48 @@ void GenericMonitor::mute() _interface->displayText(muteText); } +void GenericMonitor::brightnessUp() +{ + brightnessChange(1, 10); +} + +void GenericMonitor::brightnessDown() +{ + brightnessChange(-1, 10); +} + +void GenericMonitor::brightnessChange(int direction, int step) +{ + if (!tdepowersave) + { + return; + } + + DCOPReply reply = tdepowersave->call("brightnessGet"); + if (reply.isValid()) + { + int brightnessLevel = 100 + (int)reply; // reply value is a negative number between 0 and -100. + brightnessLevel += direction * step; // add requested brightness step + if (brightnessLevel > 100) + { + brightnessLevel = 100; + } + if (brightnessLevel < 0) + { + brightnessLevel = 0; + } + if (direction > 0) + { + tdepowersave->send("do_brightnessUp", step); + } + else if (direction < 0) + { + tdepowersave->send("do_brightnessDown", step); + } + _interface->displayProgress(i18n("Brightness"), brightnessLevel); + } +} + int GenericMonitor::progress() const { return m_progress; |