summaryrefslogtreecommitdiff
path: root/core
Side-by-side diff
Diffstat (limited to 'core') (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/desktop.cpp48
1 files changed, 45 insertions, 3 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp
index 64043e7..cf33011 100644
--- a/core/launcher/desktop.cpp
+++ b/core/launcher/desktop.cpp
@@ -459,10 +459,19 @@ static bool hasVisibleWindow(const QString& clientname)
void Desktop::raiseLauncher()
{
+ Config cfg("qpe"); //F12 'Home'
+ cfg.setGroup("AppsKey");
+ QString tempItem;
+ tempItem = cfg.readEntry("Middle","Home");
+ if(tempItem == "Home" || tempItem.isEmpty()) {
if ( isVisibleWindow(launcher->winId()) )
launcher->nextView();
else
launcher->raise();
+ } else {
+ QCopEnvelope e("QPE/System","execute(QString)");
+ e << tempItem;
+ }
}
void Desktop::executeOrModify(const QString& appLnkFile)
@@ -485,23 +494,56 @@ void Desktop::executeOrModify(const QString& appLnkFile)
void Desktop::raiseDatebook()
{
- executeOrModify("Applications/datebook.desktop");
+ Config cfg("qpe"); //F9 'Activity'
+ cfg.setGroup("AppsKey");
+ QString tempItem;
+ tempItem = cfg.readEntry("LeftEnd","Calender");
+ if(tempItem == "Calender" || tempItem.isEmpty()) executeOrModify("Applications/datebook.desktop");
+ else {
+ QCopEnvelope e("QPE/System","execute(QString)");
+ e << tempItem;
+ }
}
void Desktop::raiseContacts()
{
- executeOrModify("Applications/addressbook.desktop");
+ Config cfg("qpe"); //F10, 'Contacts'
+ cfg.setGroup("AppsKey");
+ QString tempItem;
+ tempItem = cfg.readEntry("Left2nd","Address Book");
+ if(tempItem == "Address Book" || tempItem.isEmpty()) executeOrModify("Applications/addressbook.desktop");
+ else {
+ QCopEnvelope e("QPE/System","execute(QString)");
+ e << tempItem;
+ }
}
void Desktop::raiseMenu()
{
+ Config cfg("qpe"); //F11, 'Menu'
+ cfg.setGroup("AppsKey");
+ QString tempItem;
+ tempItem = cfg.readEntry("Right2nd","Popup Menu");
+ if(tempItem == "Popup Menu" || tempItem.isEmpty()) {
Global::terminateBuiltin("calibrate");
tb->startMenu()->launch();
+ } else {
+ QCopEnvelope e("QPE/System","execute(QString)");
+ e << tempItem;
+ }
}
void Desktop::raiseEmail()
{
- executeOrModify("Applications/qtmail.desktop");
+ Config cfg("qpe"); //F13, 'Mail'
+ cfg.setGroup("AppsKey");
+ QString tempItem;
+ tempItem = cfg.readEntry("RightEnd","Mail");
+ if(tempItem == "Mail" || tempItem == "qtmail" || tempItem.isEmpty()) executeOrModify("Applications/qtmail.desktop");
+ else {
+ QCopEnvelope e("QPE/System","execute(QString)");
+ e << tempItem;
+ }
}
// autoStarts apps on resume and start