13 * |
13 * |
14 * Description: |
14 * Description: |
15 * |
15 * |
16 */ |
16 */ |
17 |
17 |
18 #include "tsrunningappmodel.h" |
|
19 |
|
20 #include <AknDef.h> |
18 #include <AknDef.h> |
21 #include <apgwgnam.h> |
19 #include <apgwgnam.h> |
22 #include <apgtask.h> |
20 #include <apgtask.h> |
|
21 |
|
22 #include "tsrunningappmodel.h" |
|
23 |
|
24 #include "tsrunningappstorage.h" |
23 |
25 |
24 #include "tsdatalist.h" |
26 #include "tsdatalist.h" |
25 #include "tsmodelobserver.h" |
27 #include "tsmodelobserver.h" |
26 #include "tsscreenshotprovider.h" |
28 #include "tsscreenshotprovider.h" |
27 |
29 |
28 CTsRunningAppModel *CTsRunningAppModel::NewL( MTsResourceManager& aResources, |
30 CTsRunningAppModel *CTsRunningAppModel::NewL( MTsResourceManager& aResources, |
29 MTsWindowGroupsMonitor& aMonitor ) |
31 MTsWindowGroupsMonitor& aMonitor, |
|
32 TsEnv& aEnv ) |
30 { |
33 { |
31 CTsRunningAppModel *self = CTsRunningAppModel::NewLC( aResources, aMonitor ); |
34 CTsRunningAppModel *self = CTsRunningAppModel::NewLC( aResources, aMonitor, aEnv ); |
32 CleanupStack::Pop( self ); |
35 CleanupStack::Pop( self ); |
33 return self; |
36 return self; |
34 } |
37 } |
35 |
38 |
36 CTsRunningAppModel *CTsRunningAppModel::NewLC( MTsResourceManager& aResources, |
39 CTsRunningAppModel *CTsRunningAppModel::NewLC( MTsResourceManager& aResources, |
37 MTsWindowGroupsMonitor& aMonitor ) |
40 MTsWindowGroupsMonitor& aMonitor, |
|
41 TsEnv& aEnv ) |
38 { |
42 { |
39 CTsRunningAppModel *self = new (ELeave) CTsRunningAppModel( aResources ); |
43 CTsRunningAppModel *self = new (ELeave) CTsRunningAppModel( aResources ); |
40 CleanupStack::PushL( self ); |
44 CleanupStack::PushL( self ); |
41 self->ConstructL( aResources, aMonitor ); |
45 self->ConstructL( aResources, aMonitor, aEnv ); |
42 return self; |
46 return self; |
43 } |
47 } |
44 |
48 |
45 CTsRunningAppModel::~CTsRunningAppModel() |
49 CTsRunningAppModel::~CTsRunningAppModel() |
46 { |
50 { |
53 iResources( aResources ) |
57 iResources( aResources ) |
54 { |
58 { |
55 } |
59 } |
56 |
60 |
57 void CTsRunningAppModel::ConstructL( MTsResourceManager& aResources, |
61 void CTsRunningAppModel::ConstructL( MTsResourceManager& aResources, |
58 MTsWindowGroupsMonitor& aMonitor ) |
62 MTsWindowGroupsMonitor& aMonitor, |
|
63 TsEnv& aEnv) |
59 { |
64 { |
60 iDataList = CTsDataList::NewL( aResources, aMonitor, *this ); |
65 iDataList = CTsDataList::NewL( aResources, aMonitor, *this, aEnv ); |
61 iScreenshotProvider = CTsScreenshotProvider::NewL( *iDataList ); |
66 iScreenshotProvider = CTsScreenshotProvider::NewL(*iDataList, aMonitor ); |
62 |
67 |
63 RArray<RWsSession::TWindowGroupChainInfo> wgList; |
68 RArray<RWsSession::TWindowGroupChainInfo> wgList; |
64 CleanupClosePushL( wgList ); |
69 CleanupClosePushL( wgList ); |
65 User::LeaveIfError( aResources.WsSession().WindowGroupList( 0, &wgList ) ); |
70 User::LeaveIfError( aResources.WsSession().WindowGroupList( 0, &wgList ) ); |
66 iDataList->HandleWindowGroupChanged( aResources, wgList.Array() ); |
71 CTsRunningAppStorage* storage = CTsRunningAppStorage::NewLC(); |
|
72 storage->HandleWindowGroupChanged(aResources, wgList.Array()); |
|
73 iDataList->HandleWindowGroupChanged( aResources, *storage ); |
|
74 CleanupStack::PopAndDestroy(storage); |
67 CleanupStack::PopAndDestroy( &wgList ); |
75 CleanupStack::PopAndDestroy( &wgList ); |
68 } |
76 } |
69 |
77 |
70 // -------------------------------------------------------------------------- |
78 // -------------------------------------------------------------------------- |
71 // MHsDataObserver interface implementation |
79 // MHsDataObserver interface implementation |
146 TBool CTsRunningAppModel::IsClosableL( TInt aOffset ) const |
154 TBool CTsRunningAppModel::IsClosableL( TInt aOffset ) const |
147 { |
155 { |
148 return iDataList->Data()[aOffset]->CloseableApp(); |
156 return iDataList->Data()[aOffset]->CloseableApp(); |
149 } |
157 } |
150 |
158 |
|
159 TBool CTsRunningAppModel::IsMandatoryL( TInt /*aOffset*/ ) const |
|
160 { |
|
161 return ETrue; |
|
162 } |
|
163 |
151 TBool CTsRunningAppModel::CloseL( TTsModelItemKey aKey ) const |
164 TBool CTsRunningAppModel::CloseL( TTsModelItemKey aKey ) const |
152 { |
165 { |
153 TApaTask task( iResources.WsSession() ); |
166 TApaTask task( iResources.WsSession() ); |
154 task.SetWgId( aKey.Key() ); |
167 task.SetWgId( aKey.Key() ); |
155 task.EndTask(); |
168 task.EndTask(); |