9 * Initial Contributors: |
9 * Initial Contributors: |
10 * Nokia Corporation - initial contribution. |
10 * Nokia Corporation - initial contribution. |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: |
14 * Description: |
15 * |
15 * |
16 */ |
16 */ |
17 #include "activitymanager_p.h" |
17 #include "activitymanager_p.h" |
18 #include "activitymanager.h" |
18 #include "activitymanager.h" |
19 #include <hsactivitydbclient.h> |
19 #include <hsactivitydbclient.h> |
38 mServerClient->activities(retVal); |
38 mServerClient->activities(retVal); |
39 return retVal; |
39 return retVal; |
40 } |
40 } |
41 |
41 |
42 void ActivityManagerPrivate::launchActivity(const QString &uri) |
42 void ActivityManagerPrivate::launchActivity(const QString &uri) |
43 { |
43 { |
44 // @todo use the same parser as in HbApplicationPrivate (if possible) |
44 // @todo use the same parser as in HbApplicationPrivate (if possible) |
45 QRegExp uriMatcher("^appto://(.+)\\?activityname=(.+)$"); |
45 QRegExp uriMatcher("^appto://(.+)\\?activityname=(.+)$"); |
46 if (uriMatcher.indexIn(uri) != -1) { |
46 if (uriMatcher.indexIn(uri) != -1) { |
47 QStringList list = uriMatcher.capturedTexts(); |
47 QStringList list = uriMatcher.capturedTexts(); |
48 Q_ASSERT(list.count() == 3); |
48 Q_ASSERT(list.count() == 3); |
49 launchActivity(list.at(1).toInt(), list.at(2)); |
49 launchActivity(list.at(1).toInt(), list.at(2)); |
50 } else { |
50 } else { |
51 qWarning("Activity URI parsing error"); |
51 qWarning("Activity URI parsing error"); |
52 } |
52 } |
53 } |
53 } |
54 |
54 |
55 void ActivityManagerPrivate::launchActivity(int applicationId, const QString &activityId) |
55 void ActivityManagerPrivate::launchActivity(int applicationId, const QString &activityId) |
56 { |
56 { |
57 |
|
58 ApplicationLauncher applicationLauncher; |
57 ApplicationLauncher applicationLauncher; |
59 if(applicationLauncher.isRunning(applicationId)) { |
58 if (applicationLauncher.isRunning(applicationId)) { |
60 QVariantHash activity; |
59 QVariantHash activity; |
61 activity.insert(ActivityApplicationKeyword, applicationId); |
60 activity.insert(ActivityApplicationKeyword, applicationId); |
62 activity.insert(ActivityActivityKeyword, activityId); |
61 activity.insert(ActivityActivityKeyword, activityId); |
63 mServerClient->launchActivity(activity); |
62 mServerClient->launchActivity(activity); |
64 applicationLauncher.bringToForeground(applicationId); |
63 applicationLauncher.bringToForeground(applicationId); |
66 applicationLauncher.startApplication(applicationId, activityId); |
65 applicationLauncher.startApplication(applicationId, activityId); |
67 } |
66 } |
68 } |
67 } |
69 |
68 |
70 void ActivityManagerPrivate::removeActivity(int applicationId, const QString &activityId) |
69 void ActivityManagerPrivate::removeActivity(int applicationId, const QString &activityId) |
71 { |
70 { |
72 QVariantHash activity; |
71 QVariantHash activity; |
73 activity.insert(ActivityApplicationKeyword, applicationId); |
72 activity.insert(ActivityApplicationKeyword, applicationId); |
74 activity.insert(ActivityActivityKeyword, activityId); |
73 activity.insert(ActivityActivityKeyword, activityId); |
75 mServerClient->removeActivity(activity); |
74 mServerClient->removeActivity(activity); |
76 } |
75 } |
79 { |
78 { |
80 QVariantHash activity; |
79 QVariantHash activity; |
81 activity.insert(ActivityApplicationKeyword, applicationId); |
80 activity.insert(ActivityApplicationKeyword, applicationId); |
82 mServerClient->removeApplicationActivities(activity); |
81 mServerClient->removeApplicationActivities(activity); |
83 } |
82 } |
|
83 |
|
84 void ActivityManagerPrivate::getThumbnail(const QString &thumbnailId, void *userData) |
|
85 { |
|
86 QPixmap ico; |
|
87 mServerClient->getThumbnail(ico, thumbnailId); |
|
88 emit q_ptr->thumbnailReady(ico, userData); |
|
89 } |