--- 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