diff -r b01126ce0bec -r ba63c83f4716 idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp --- a/idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp Wed Sep 15 12:00:00 2010 +0300 +++ b/idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp Wed Oct 13 14:18:30 2010 +0300 @@ -30,17 +30,14 @@ #include #include #include -#include + #include "wmplugin.h" #include "widgetmanager.hrh" #include "wmmaincontainerview.h" #include "wmresourceloader.h" #include "wmmaincontainer.h" #include "wmspbgcleaner.h" -#include "wmconfiguration.h" -#include "wmimageconverter.h" -#include "wmstore.h" - + // --------------------------------------------------------- // CWmMainContainerView::CWmMainContainerView() // --------------------------------------------------------- @@ -58,7 +55,7 @@ // --------------------------------------------------------- // CWmMainContainerView::~CWmMainContainerView() - { + { if ( iWmMainContainer != NULL ) { AppUi()->RemoveFromStack( iWmMainContainer ); @@ -130,7 +127,9 @@ { switch ( aCommand ) { - case EAknSoftkeySelect: + case EWmMainContainerViewOpenPortalMenuItemCommand: + HandleOpenMenuItemSelectedL(); + break; case EWmMainContainerViewAddMenuItemCommand: HandleAddMenuItemSelectedL(); break; @@ -163,11 +162,9 @@ case EWmMainContainerViewWiddetDetailsMenuItemCommand: HandleDetailsMenuItemSelectedL(); break; - case EWmStoreCommand: - { + case EAknSoftkeySelect: if ( iWmMainContainer ) - iWmMainContainer->HandleStoreCommandL(); - } + iWmMainContainer->SelectL(); break; case EAknSoftkeyCancel: // flow through case EEikCmdCanceled: @@ -191,16 +188,7 @@ const TDesC8& /*aCustomMessage*/ ) { // setup status pane layout - TInt layoutResourceId = ( (iWmPlugin.Configuration().StoreCount() ) ? - R_AVKON_STATUS_PANE_LAYOUT_IDLE_FLAT : - R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT ); - StatusPane()->SwitchLayoutL( layoutResourceId ); - - // ToDo: Support for msk in all layout is ongoing, when available in - // sdk use next line and get rid of above. - - //StatusPane()->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT ); - + StatusPane()->SwitchLayoutL( R_AVKON_STATUS_PANE_LAYOUT_USUAL_FLAT ); // apply changes StatusPane()->ApplyCurrentSettingsL(); // disable transparancy @@ -220,19 +208,14 @@ StatusPane()->DrawNow(); // update cba - if ( !AknLayoutUtils::MSKEnabled() || - iWmPlugin.Configuration().StoreCount() == 0 ) + if ( Layout_Meta_Data::IsMSKEnabled() ) { CEikButtonGroupContainer* bgc( Cba() ); CEikCba* cba = static_cast< CEikCba* >( bgc->ButtonGroup() ); - cba->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_BACK ); + cba->SetCommandSetL( R_AVKON_SOFTKEYS_OPTIONS_BACK__SELECT ); bgc->SetBoundingRect( TRect() ); cba->DrawNow(); } - else if ( AknLayoutUtils::MSKEnabled() ) - { - UpdateMSKIconL(); - } // create container if ( iWmMainContainer == NULL ) @@ -326,12 +309,27 @@ !iWmMainContainer->CanDoHelp() ); aMenuPane->SetItemDimmed( EWmMainContainerViewUninstallMenuItemCommand, !iWmMainContainer->CanDoUninstall() ); + if ( !iWmMainContainer->PortalSelected() ) + aMenuPane->DeleteMenuItem( EWmMainContainerViewOpenPortalMenuItemCommand ); if ( !iWmMainContainer->WidgetSelected() ) aMenuPane->DeleteMenuItem( EWmMainContainerViewAddMenuItemCommand ); } } // --------------------------------------------------------- +// CWmMainContainerView::HandleOpenMenuItemSelectedL +// --------------------------------------------------------- +// +TBool CWmMainContainerView::HandleOpenMenuItemSelectedL() + { + if ( iWmMainContainer && iWmMainContainer->PortalSelected() ) + { + iWmMainContainer->OpenPortalL(); + } + return ETrue; + } + +// --------------------------------------------------------- // CWmMainContainerView::HandleDetailsMenuItemSelectedL // --------------------------------------------------------- // @@ -433,64 +431,16 @@ } // --------------------------------------------------------- -// CWmMainContainerView::UpdateMSKIconL +// CWmMainContainerView::HandleForegroundEventL // --------------------------------------------------------- // -void CWmMainContainerView::UpdateMSKIconL() +void CWmMainContainerView::HandleForegroundEventL( TBool aForeground ) { - CEikButtonGroupContainer* bgc( Cba() ); - CEikCba* cba = static_cast< CEikCba* >( bgc->ButtonGroup() ); - TFileName fileName( iWmPlugin.ResourceLoader().IconFilePath() ); - TAknsItemID skinId = KAknsIIDQgnMenuOviStore; - TInt bitmapId( EMbmWidgetmanagerQgn_menu_ovistore ); - TInt maskId( EMbmWidgetmanagerQgn_menu_ovistore_mask ); - - if ( iWmPlugin.Configuration().StoreCount() > 1 ) - { - skinId = KAknsIIDQgnPropLmShopping; - bitmapId = EMbmWidgetmanagerQgn_menu_shopping; - maskId = EMbmWidgetmanagerQgn_menu_shopping_mask; - } - else + CAknView::HandleForegroundEventL( aForeground ); + if ( iWmMainContainer ) { - const RPointerArray& storeConfArray = - iWmPlugin.Configuration().StoreConfArray(); - CWmConfItem* confItem( storeConfArray[0] ); - - if ( confItem && - confItem->Id() != CWmStore::EOvi && - confItem->Icon().Length() ) - { - CWmImageConverter* imageConverter = CWmImageConverter::NewL(); - CleanupStack::PushL( imageConverter ); - - // parse icon str - // TODO: now only mif&skin are supported. Later when API is there - // we can add support for rest icon types - TBool res = imageConverter->ParseIconString( - confItem->Icon(), skinId, bitmapId, maskId, fileName ); - - CleanupStack::PopAndDestroy( imageConverter ); - - if ( !res ) - { - // use default shopping icon - skinId = KAknsIIDQgnPropLmShopping; - bitmapId = EMbmWidgetmanagerQgn_menu_shopping; - maskId = EMbmWidgetmanagerQgn_menu_shopping_mask; - fileName.Copy( iWmPlugin.ResourceLoader().IconFilePath() ); - } - } + iWmMainContainer->ProcessForegroundEvent( aForeground ); } - - cba->UpdateMSKIconL( - skinId, - fileName, - bitmapId, - maskId, - ETrue ); - bgc->SetBoundingRect( TRect() ); - cba->DrawNow(); } // End of file