diff -r 245df5276b97 -r 3a625661d1ce appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginuihandler.cpp --- a/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginuihandler.cpp Wed Aug 18 09:55:45 2010 +0300 +++ b/appinstaller/AppinstUi/sisxsifplugin/src/sisxsifpluginuihandler.cpp Thu Sep 02 20:34:03 2010 +0300 @@ -27,7 +27,6 @@ #include // BaflUtils #include // DriveInfo #include // FeatureManager -//#include // Help IDs using namespace Usif; @@ -189,7 +188,6 @@ const RPointerArray& /*aCertificates*/ ) { FLOG( _L("CSisxSifPluginUiHandler::DisplayInstallL") ); - iOperationPhase = EInstalling; return ETrue; } @@ -202,10 +200,7 @@ const TCapabilitySet& aCapabilitySet ) { FLOG( _L("CSisxSifPluginUiHandler::DisplayGrantCapabilitiesL") ); - TBool okToContinue = EFalse; - - okToContinue = iSifUi->ShowGrantCapabilitiesL( aCapabilitySet ); - + TBool okToContinue = iSifUi->ShowGrantCapabilitiesL( aCapabilitySet ); return okToContinue; } @@ -214,11 +209,11 @@ // --------------------------------------------------------------------------- // TInt CSisxSifPluginUiHandler::DisplayLanguageL( const Swi::CAppInfo& /*aAppInfo*/, - const RArray& /*aLanguages*/ ) + const RArray& aLanguages ) { FLOG( _L("CSisxSifPluginUiHandler::DisplayLanguageL") ); - - return 0; + TInt langIndex = iSifUi->ShowSelectLanguageL( aLanguages ); + return langIndex; } // --------------------------------------------------------------------------- @@ -274,11 +269,29 @@ // --------------------------------------------------------------------------- // TBool CSisxSifPluginUiHandler::DisplayOptionsL( const Swi::CAppInfo& /*aAppInfo*/, - const RPointerArray& /*aOptions*/, RArray& /*aSelections*/ ) + const RPointerArray& aOptions, RArray& aSelections ) { FLOG( _L("CSisxSifPluginUiHandler::DisplayOptionsL") ); + TInt optionCount = aOptions.Count(); + CPtrCArray* selectableItems = new( ELeave ) CPtrC16Array( optionCount ); + CleanupStack::PushL( selectableItems ); + for( TInt index = 0; index < optionCount; index++ ) + { + selectableItems->AppendL( *aOptions[ index ] ); + } - return ETrue; + RArray selectedIndexes; + TBool isSelected = iSifUi->ShowSelectOptionsL( *selectableItems, selectedIndexes ); + if( isSelected && selectedIndexes.Count() ) + { + TInt selectionsCount = aSelections.Count(); + __ASSERT_DEBUG( selectionsCount == optionCount, User::Invariant() ); + for( TInt index = 0; index < selectionsCount; index++ ) + { + aSelections[ index ] = ( selectedIndexes.Find( index ) != KErrNotFound ); + } + } + return isSelected; } // ---------------------------------------------------------------------------