summaryrefslogtreecommitdiff
path: root/noncore/applets/keyhelper/keyhelperapplet/extension/KeyLauncher.cpp
authoralwin <alwin>2005-02-28 09:40:30 (UTC)
committer alwin <alwin>2005-02-28 09:40:30 (UTC)
commit2b64a84d39eeed5681d0ee5068c7d11a01527750 (patch) (side-by-side diff)
treec8693340dbc5ef5e2f9afa90b690829ddff2c4bd /noncore/applets/keyhelper/keyhelperapplet/extension/KeyLauncher.cpp
parent61fa699140c5efbb6ba0bf2a62f7e8fbf62976be (diff)
downloadopie-2b64a84d39eeed5681d0ee5068c7d11a01527750.zip
opie-2b64a84d39eeed5681d0ee5068c7d11a01527750.tar.gz
opie-2b64a84d39eeed5681d0ee5068c7d11a01527750.tar.bz2
other keymapping tool - not working this moment, I have to check it out
- the reason is that the config file is somewhat easier to understand than from zkbapplet and has a nice config tool. Please don't put it into any repositories this moment.
Diffstat (limited to 'noncore/applets/keyhelper/keyhelperapplet/extension/KeyLauncher.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/applets/keyhelper/keyhelperapplet/extension/KeyLauncher.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/noncore/applets/keyhelper/keyhelperapplet/extension/KeyLauncher.cpp b/noncore/applets/keyhelper/keyhelperapplet/extension/KeyLauncher.cpp
new file mode 100644
index 0000000..7a0b88c
--- a/dev/null
+++ b/noncore/applets/keyhelper/keyhelperapplet/extension/KeyLauncher.cpp
@@ -0,0 +1,57 @@
+#include "KeyLauncher.h"
+#include "KHUtil.h"
+
+KeyLauncher::KeyLauncher(const QString& kind) : m_kind(kind)
+{
+ qDebug("KeyLauncher::KeyLauncher()");
+}
+
+KeyLauncher::~KeyLauncher()
+{
+ qDebug("KeyLauncher::~KeyLauncher()");
+}
+
+bool KeyLauncher::onKeyPress(int keycode)
+{
+ QString key;
+ QStringList args;
+ ConfigEx& cfg = ConfigEx::getInstance("keyhelper");
+
+ key = KeyNames::getName(keycode);
+ if(key == QString::null){
+ return(false);
+ }
+
+ QString group = kind();
+ group[0] = group[0].upper();
+
+ /* read application launcher */
+ QString app = KHUtil::currentApp();
+ if(!app.isEmpty()){
+ cfg.setGroup(group + "_" + app);
+ /* read config */
+ args = cfg.readListEntry(key, '\t');
+ }
+
+ /* read default launcher */
+ if(args.isEmpty()){
+ cfg.setGroup(group);
+
+ /* read config */
+ args = cfg.readListEntry(key, '\t');
+ }
+
+ if(args.isEmpty()){
+ return(false);
+ }
+
+ /* launch application */
+ LnkWrapper lnk(args);
+ if(lnk.isValid()){
+ //args.remove(args.begin());
+ lnk.instance().execute();
+ }
+
+ return(true);
+}
+