idlehomescreen/widgetmanager/src/wmmaincontainerview.cpp
branchRCL_3
changeset 102 ba63c83f4716
parent 93 b01126ce0bec
--- 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 <AknUtils.h>
 #include <avkon.rsg>
 #include <layoutmetadata.cdl.h>
-#include <widgetmanager.mbg>
+
 #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<CWmConfItem>& 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