12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: tsmodel.cpp |
14 * Description: tsmodel.cpp |
15 * |
15 * |
16 */ |
16 */ |
|
17 #include <HbIcon> |
|
18 #include <qvariant.h> |
|
19 #include <qlist.h> |
|
20 #include <afstorageglobals.h> |
|
21 |
|
22 #ifdef Q_OS_SYMBIAN |
|
23 #include <XQSettingsManager> |
|
24 #include <apaid.h> |
|
25 |
|
26 const int TSDeviceDialogUid = 0x2002677F; |
|
27 const int ItemsLimit = 0x00000001; |
|
28 #endif |
|
29 |
17 #include "tsmodel.h" |
30 #include "tsmodel.h" |
18 #include "tsmodelitem.h" |
31 #include "tsmodelitem.h" |
19 #include "tsentrymodelitem.h" |
32 #include "tsentrymodelitem.h" |
20 #include "tsactivitymodelitem.h" |
33 #include "tsactivitymodelitem.h" |
21 #include "tsdataroles.h" |
34 #include "tsdataroles.h" |
22 |
35 |
23 #include <HbIcon> |
|
24 #include <qvariant.h> |
|
25 #include <qlist.h> |
|
26 #include <afstorageglobals.h> |
|
27 |
|
28 #ifdef Q_OS_SYMBIAN |
|
29 #include <XQSettingsManager> |
|
30 #include <apaid.h> |
|
31 |
|
32 const int TSDeviceDialogUid = 0x2002677F; |
|
33 const int ItemsLimit = 0x00000001; |
|
34 #endif |
|
35 |
|
36 const int maxItems(10); |
36 const int maxItems(10); |
37 /*! |
37 /*! |
38 \class TsModel |
38 \class TsModel |
39 \ingroup group_tsdevicedialogplugin |
39 \ingroup group_tsdevicedialogplugin |
40 \brief Model storing running application and activieties. |
40 \brief Model storing running application and activieties. |
43 /*! |
43 /*! |
44 Constructor |
44 Constructor |
45 \param query used to create model |
45 \param query used to create model |
46 \param pointer to parent object |
46 \param pointer to parent object |
47 */ |
47 */ |
48 TsModel::TsModel(TsTaskMonitor &applicationSrv, QObject &activitySrv, QObject *parent) : |
48 TsModel::TsModel(TsTaskMonitor &applicationSrv, |
|
49 QObject &activitySrv, |
|
50 QObject *parent) : |
49 QAbstractListModel(parent), |
51 QAbstractListModel(parent), |
50 mEntries(), |
52 mEntries(), |
51 mApplicationService(applicationSrv), |
53 mApplicationService(applicationSrv), |
52 mActivityService(activitySrv), |
54 mActivityService(activitySrv), |
53 mSize(240, 240), |
|
54 mMaxItems(maxItems) |
55 mMaxItems(maxItems) |
55 { |
56 { |
56 |
57 |
57 #ifdef Q_OS_SYMBIAN |
58 #ifdef Q_OS_SYMBIAN |
58 XQSettingsManager *crManager = new XQSettingsManager; |
59 XQSettingsManager *crManager = new XQSettingsManager; |
59 XQCentralRepositorySettingsKey itemsNumberKey(TSDeviceDialogUid, ItemsLimit); |
60 XQCentralRepositorySettingsKey itemsNumberKey(TSDeviceDialogUid, ItemsLimit); |
60 QVariant itemsNumberVariant = crManager->readItemValue(itemsNumberKey, XQSettingsManager::TypeInt); |
61 QVariant itemsNumberVariant = |
|
62 crManager->readItemValue(itemsNumberKey, XQSettingsManager::TypeInt); |
61 if (!itemsNumberVariant.isNull()) { |
63 if (!itemsNumberVariant.isNull()) { |
62 int number = itemsNumberVariant.toInt(); |
64 int number = itemsNumberVariant.toInt(); |
63 if (number > 0) { |
65 if (number > 0) { |
64 mMaxItems = number; |
66 mMaxItems = number; |
65 } |
67 } |
66 } |
68 } |
67 iAppArcSession.Connect(); |
69 iAppArcSession.Connect(); |
68 #endif |
70 #endif |
69 |
71 |
70 connect(&activitySrv, SIGNAL(dataChanged()), this, SLOT(updateModel())); |
72 connect(&activitySrv, |
71 connect(&applicationSrv, SIGNAL(taskListChanged()), this, SLOT(updateModel())); |
73 SIGNAL(dataChanged()), |
|
74 this, |
|
75 SLOT(updateModel())); |
|
76 connect(&applicationSrv, |
|
77 SIGNAL(taskListChanged()), |
|
78 this, |
|
79 SLOT(updateModel())); |
72 updateModel(); |
80 updateModel(); |
73 } |
81 } |
74 |
82 |
75 /*! |
83 /*! |
76 Destructor |
84 Destructor |
158 Read list of running applications |
166 Read list of running applications |
159 */ |
167 */ |
160 void TsModel::getApplications() |
168 void TsModel::getApplications() |
161 { |
169 { |
162 //get running applications |
170 //get running applications |
163 TsModelItem *entry(0); |
|
164 QList< QSharedPointer<TsTask> > tasks(mApplicationService.taskList()); |
171 QList< QSharedPointer<TsTask> > tasks(mApplicationService.taskList()); |
165 foreach (QSharedPointer<TsTask> taskData, tasks) { |
172 foreach (QSharedPointer<TsTask> taskData, tasks) { |
166 entry = new TsEntryModelItem(taskData); |
173 mEntries.append(new TsEntryModelItem(taskData)); |
167 if (0 != entry) { |
|
168 mEntries.append(entry); |
|
169 } |
|
170 } |
174 } |
171 } |
175 } |
172 |
176 |
173 /*! |
177 /*! |
174 Read current activities |
178 Read current activities |
176 void TsModel::getActivities() |
180 void TsModel::getActivities() |
177 { |
181 { |
178 //get activities |
182 //get activities |
179 TsModelItem *entry(0); |
183 TsModelItem *entry(0); |
180 QList<QVariantHash> activities; |
184 QList<QVariantHash> activities; |
181 QMetaObject::invokeMethod(&mActivityService, "activitiesList", Q_RETURN_ARG(QList<QVariantHash>, activities)); |
185 QMetaObject::invokeMethod(&mActivityService, |
|
186 "activitiesList", |
|
187 Q_RETURN_ARG(QList<QVariantHash>, |
|
188 activities)); |
182 foreach(QVariantHash activity, activities) { |
189 foreach(QVariantHash activity, activities) { |
183 prepareActivityEntry(activity); |
190 prepareActivityEntry(activity); |
184 entry = new TsActivityModelItem(*this, mActivityService, activity); |
191 entry = new TsActivityModelItem(*this, mActivityService, activity); |
185 if (entry) { |
192 if (maxRowCount() <= mEntries.count()) { |
186 if (maxRowCount() <= mEntries.count()) { |
193 delete entry; |
187 break; |
194 break; |
188 } |
|
189 mEntries.append(entry); |
|
190 } |
195 } |
|
196 mEntries.append(entry); |
191 } |
197 } |
192 } |
198 } |
193 |
199 |
194 /*! |
200 /*! |
195 Modify activity entry replacing application id with name |
201 Modify activity entry replacing application id with name |