From 2abe1e6f4022109b1e179242aa9765810d7f680c Mon Sep 17 00:00:00 2001 From: tpearson Date: Fri, 18 Dec 2009 02:32:16 +0000 Subject: * ark context un[tar/zip/bz] crash repair * gcc4.4 compilation fixes * superkaramba xmms sensor addition * automake updates git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeutils@1063396 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kmilo/generic/generic_monitor.cpp | 84 +++++++++++++++++++++++++++++++++++++++ kmilo/generic/generic_monitor.h | 14 +++++++ 2 files changed, 98 insertions(+) (limited to 'kmilo/generic') diff --git a/kmilo/generic/generic_monitor.cpp b/kmilo/generic/generic_monitor.cpp index 40e7169..bc104dc 100644 --- a/kmilo/generic/generic_monitor.cpp +++ b/kmilo/generic/generic_monitor.cpp @@ -25,6 +25,7 @@ #include #include +#include #include #include @@ -34,6 +35,7 @@ #include "kmilointerface.h" #include #include +#include #define CONFIG_FILE "kmilodrc" @@ -70,10 +72,25 @@ bool GenericMonitor::init() KConfig config(CONFIG_FILE); reconfigure(&config); + //config = new KConfig("kmilodrc"); + config.setGroup("kubuntu"); + if(!m_enabled) return false; // exit early if we are not supposed to run static const ShortcutInfo shortcuts[] = { + { "Search", KShortcut("XF86Search"), SLOT(launchSearch()) }, + { "Home Folder", KShortcut("XF86MyComputer"), SLOT(launchHomeFolder()) }, + { "Mail", KShortcut("XF86Mail"), SLOT(launchMail()) }, + { "Audio Media", KShortcut("XF86AudioMedia"), SLOT(launchMusic()) }, + { "Music", KShortcut("XF86Music"), SLOT(launchMusic()) }, + { "Browser", KShortcut("XF86WWW"), SLOT(launchBrowser()) }, + { "Calculator", KShortcut("XF86Calculator"), SLOT(launchCalculator()) }, + { "Terminal", KShortcut("XF86Terminal"), SLOT(launchTerminal()) }, + { "Eject", KShortcut("XF86Eject"), SLOT(eject()) }, + { "Help", KShortcut("XF86Launch0"), SLOT(launchHelp()) }, + { "Light Bulb", KShortcut("XF86LightBulb"), SLOT(lightBulb()) }, + { "Battery", KShortcut("XF86LaunchB"), SLOT(pmBattery()) }, { "FastVolumeUp", Qt::Key_VolumeUp, SLOT(fastVolumeUp()) }, { "FastVolumeDown", Qt::Key_VolumeDown, SLOT(fastVolumeDown()) }, { "SlowVolumeUp", Qt::CTRL+Qt::Key_VolumeUp, SLOT(slowVolumeUp()) }, @@ -318,6 +335,73 @@ Monitor::DisplayType GenericMonitor::poll() return m_displayType; } +void GenericMonitor::launch(QString configKey, QString defaultApplication) +{ + QString application = config->readEntry(configKey, defaultApplication); + KProcess proc; + proc << application; + proc.start(KProcess::DontCare); +} + +void GenericMonitor::launchMail() +{ + kdDebug() << "launchMail" << endl; + kapp->invokeMailer("", "", "", "", "", "", "", ""); +} + +void GenericMonitor::launchBrowser() +{ + kapp->invokeBrowser(""); +} + +void GenericMonitor::launchSearch() +{ + launch("search", "kfind"); +} + +void GenericMonitor::launchHomeFolder() +{ + QString home = QDir::home().path(); + KProcess proc; + proc << "kfmclient" << "exec" << home; + proc.start(KProcess::DontCare); +} + +void GenericMonitor::launchMusic() +{ + launch("search", "amarok"); +} + +void GenericMonitor::launchCalculator() +{ + launch("search", "speedcrunch"); +} + +void GenericMonitor::launchTerminal() +{ + launch("search", "konsole"); +} + +void GenericMonitor::launchHelp() +{ + launch("search", "khelpcenter"); +} + +void GenericMonitor::eject() +{ + launch("search", "eject"); +} + +void GenericMonitor::lightBulb() +{ + kdDebug() << "lightBulb()" << endl; + _interface->displayText("Screen Light"); +} + +void GenericMonitor::pmBattery() +{ + DCOPRef("guidance*", "power-manager").send("showTip"); +} K_EXPORT_COMPONENT_FACTORY(kmilo_generic, KGenericFactory("kmilo_generic")) diff --git a/kmilo/generic/generic_monitor.h b/kmilo/generic/generic_monitor.h index c2477c4..1ad5304 100644 --- a/kmilo/generic/generic_monitor.h +++ b/kmilo/generic/generic_monitor.h @@ -29,6 +29,7 @@ #include #include #include +#include #include "kmilod.h" #include "monitor.h" @@ -63,6 +64,17 @@ public slots: void fastVolumeUp(); void fastVolumeDown(); void mute(); + void launchMail(); + void launchBrowser(); + void launchSearch(); + void launchHomeFolder(); + void launchMusic(); + void launchCalculator(); + void launchTerminal(); + void launchHelp(); + void eject(); + void lightBulb(); + void pmBattery(); private: bool retrieveKmixDevices(); @@ -70,8 +82,10 @@ private: bool retrieveMute(); bool retrieveVolume(); void displayVolume(); + void launch(QString configKey, QString defaultApplication); KGlobalAccel *ga; + KConfig* config; DCOPRef *kmixClient, *kmixWindow; -- cgit v1.2.1