diff -r 0b3699f6c654 -r e36b2f4799c0 taskswitcher/server/src/tsrunningappmodel.cpp --- a/taskswitcher/server/src/tsrunningappmodel.cpp Fri Sep 17 08:32:18 2010 +0300 +++ b/taskswitcher/server/src/tsrunningappmodel.cpp Mon Oct 04 00:38:31 2010 +0300 @@ -15,30 +15,34 @@ * */ -#include "tsrunningappmodel.h" - #include #include #include +#include "tsrunningappmodel.h" + +#include "tsrunningappstorage.h" + #include "tsdatalist.h" #include "tsmodelobserver.h" #include "tsscreenshotprovider.h" CTsRunningAppModel *CTsRunningAppModel::NewL( MTsResourceManager& aResources, - MTsWindowGroupsMonitor& aMonitor ) + MTsWindowGroupsMonitor& aMonitor, + TsEnv& aEnv ) { - CTsRunningAppModel *self = CTsRunningAppModel::NewLC( aResources, aMonitor ); + CTsRunningAppModel *self = CTsRunningAppModel::NewLC( aResources, aMonitor, aEnv ); CleanupStack::Pop( self ); return self; } CTsRunningAppModel *CTsRunningAppModel::NewLC( MTsResourceManager& aResources, - MTsWindowGroupsMonitor& aMonitor ) + MTsWindowGroupsMonitor& aMonitor, + TsEnv& aEnv ) { CTsRunningAppModel *self = new (ELeave) CTsRunningAppModel( aResources ); CleanupStack::PushL( self ); - self->ConstructL( aResources, aMonitor ); + self->ConstructL( aResources, aMonitor, aEnv ); return self; } @@ -55,15 +59,19 @@ } void CTsRunningAppModel::ConstructL( MTsResourceManager& aResources, - MTsWindowGroupsMonitor& aMonitor ) + MTsWindowGroupsMonitor& aMonitor, + TsEnv& aEnv) { - iDataList = CTsDataList::NewL( aResources, aMonitor, *this ); - iScreenshotProvider = CTsScreenshotProvider::NewL( *iDataList ); - + iDataList = CTsDataList::NewL( aResources, aMonitor, *this, aEnv ); + iScreenshotProvider = CTsScreenshotProvider::NewL(*iDataList, aMonitor ); + RArray wgList; CleanupClosePushL( wgList ); User::LeaveIfError( aResources.WsSession().WindowGroupList( 0, &wgList ) ); - iDataList->HandleWindowGroupChanged( aResources, wgList.Array() ); + CTsRunningAppStorage* storage = CTsRunningAppStorage::NewLC(); + storage->HandleWindowGroupChanged(aResources, wgList.Array()); + iDataList->HandleWindowGroupChanged( aResources, *storage ); + CleanupStack::PopAndDestroy(storage); CleanupStack::PopAndDestroy( &wgList ); } @@ -148,6 +156,11 @@ return iDataList->Data()[aOffset]->CloseableApp(); } +TBool CTsRunningAppModel::IsMandatoryL( TInt /*aOffset*/ ) const + { + return ETrue; + } + TBool CTsRunningAppModel::CloseL( TTsModelItemKey aKey ) const { TApaTask task( iResources.WsSession() );