taskswitcher/activitytsplugin/inc/activitytsmodel.h
changeset 125 26079c1bb561
parent 119 50e220be30d1
--- a/taskswitcher/activitytsplugin/inc/activitytsmodel.h	Mon Sep 27 11:31:59 2010 +0300
+++ b/taskswitcher/activitytsplugin/inc/activitytsmodel.h	Wed Oct 06 16:00:22 2010 +0300
@@ -22,8 +22,12 @@
 #include <QVariantHash>
 
 #include "activitytsentry.h"
+#include "tswindowgroupsobserver.h"
 
-class ActivityTsModel : public QObject
+class MTsWindowGroupsMonitor;
+
+class ActivityTsModel : public QObject,
+                        public MTsWindowGroupsObserver
 {
     Q_OBJECT
 
@@ -31,6 +35,14 @@
     ActivityTsModel(QObject *parent = 0);
     virtual ~ActivityTsModel();
 
+public: //from MTsWindowGroupsObserver
+    void HandleWindowGroupChanged(MTsResourceManager& resources, 
+                                  const MTsRunningApplicationStorage& storage);
+
+private:
+    bool filterActivity();
+    ActivityTsEntry *findEntryWithScreenshot(const QList<ActivityTsEntry*> &entryList, const QVariantHash &activityEntry);
+    
 public slots:
     QList<QVariantHash> taskList() const;
     QList<QVariantHash> taskList(int limit) const;
@@ -42,21 +54,24 @@
     void dataChanged();
     
 private slots:
-    void getActivities();    
+    void getActivities();
     
-public slots:    
+public slots:
     void convertScreenshotToThumbnail(const QPixmap &thumbnail, void *userData);
     void thumbnailCreated(const QPixmap &thumbnail, const void *userData);
-    
+    void setResources(MTsResourceManager& resources);
+
 signals:
     void createThumbnail(const QPixmap &source, int angle, const void *userData);
     
 private:
+    MTsWindowGroupsMonitor* mMonitor;
     QObject *mAfManager;
     int mMaxItems;
+    QList<ActivityTsEntry*> mData;
+    QList<ActivityTsEntry*> mPublishedData;
     
-    QList<ActivityTsEntry*> mData;
-    
+    QList<int> mRunningAppsUid;
 };
 
 #endif // ACTIVITYTSMODEL_H