diff -r 77cb48a03620 -r d9861ae9169c XDMSettingsUI/src/XDMPlugin.cpp --- a/XDMSettingsUI/src/XDMPlugin.cpp Thu Jul 01 14:09:06 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,368 +0,0 @@ -/* -* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: XDMPlugin Implementation -* -*/ - - - - -// Includes -#include "XDMExternalInterface.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "XDMPlugin.h" -#include "XDMPluginContainer.h" -#include "XDMPluginSLContainer.h" -#include "XDMPlugin.hrh" - - -// Constants - -#ifdef __SCALABLE_ICONS -// bitmap -#else //__SCALABLE_ICONS -// svg file -_LIT( KGSXDMPluginIconFileName, "\\resource\\apps\\GSXDMplugin.mbm"); -#endif //__SCALABLE_ICONS - - -// ========================= MEMBER FUNCTIONS ================================ - -// --------------------------------------------------------------------------- -// CXDMPlugin::CXDMPlugin() -// Constructor -// -// --------------------------------------------------------------------------- -// -CXDMPlugin::CXDMPlugin( ) - : iResources( *CCoeEnv::Static() ) - { - - } - -// --------------------------------------------------------------------------- -// CXDMPlugin::~CXDMPlugin() -// Destructor -// --------------------------------------------------------------------------- -// -CXDMPlugin::~CXDMPlugin() - { - if (iCurrentContainer) - { - } - - if( iMainListContainer ) - { - delete iMainListContainer; - iMainListContainer=NULL; - } - - if (iSettingListContainer) - { - delete iSettingListContainer; - iSettingListContainer=NULL; - } - - iResources.Close(); - /** Nice to know when the plugin is cleaned up */ - #ifdef _DEBUG - RDebug::Print( _L( "[CXDMPlugin] ~CXDMPlugin()" ) ); - #endif - } - -// --------------------------------------------------------------------------- -// CXDMPlugin::ConstructL() -// Symbian OS two-phased constructor -// --------------------------------------------------------------------------- -// -void CXDMPlugin::ConstructL() - { - // To know if the plugin is loaded (for debugging) - #ifdef _DEBUG - RDebug::Print(_L("[CXDMPlugin] ConstructL()" )); - RDebug::Print( _L( "[CXDMPlugin] Loading resource from :" ) ); - #endif - } - -// --------------------------------------------------------------------------- -// CXDMPlugin::NewL() -// Static constructor -// --------------------------------------------------------------------------- -// -CXDMPlugin* CXDMPlugin::NewL( TAny* /*aInitParams*/ ) - { - CXDMPlugin* self = new(ELeave) CXDMPlugin( ); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - -// --------------------------------------------------------------------------- -// CXDMPlugin::Id() const -// --------------------------------------------------------------------------- -// -TUid CXDMPlugin::Id() const - { - return KGSXDMPluginUid; - } - -// --------------------------------------------------------------------------- -// CXDMPlugin::HandleClientRectChange() -// --------------------------------------------------------------------------- -void CXDMPlugin::HandleViewRectChange() - { - if ( iMainListContainer->IsVisible() ) - { - } - - if ( iSettingListContainer->IsVisible() ) - { - } - } - -// --------------------------------------------------------------------------- -// CXDMPlugin::DoActivateL() -// --------------------------------------------------------------------------- -// -void CXDMPlugin::DoActivateL( const TVwsViewId& aPrevViewId, - TUid /*aCustomMessageId*/, - const TDesC8& /*aCustomMessage*/ ) - { - iPrevViewId = aPrevViewId; - if (iCurrentContainer) - { - iCurrentContainer = NULL; - } - - - if( iMainListContainer ) - { - delete iMainListContainer; - iMainListContainer=NULL; - } - - if( iSettingListContainer ) - { - delete iSettingListContainer; - iSettingListContainer = NULL; - } - - // switching control - iSettingListContainer->MakeVisible(EFalse); - iCurrentContainer = iMainListContainer; - UpdateMSK(); - } - -// --------------------------------------------------------------------------- -// CXDMPlugin::DoDeactivate() -// --------------------------------------------------------------------------- -// -void CXDMPlugin::DoDeactivate() - { - // try to save settings if in settings list container - TInt err; - if (iCurrentContainer == iSettingListContainer) - TRAP(err, iSettingListContainer->SaveSettingsIfPossibleL()); - iCurrentContainer = NULL; - - if( iMainListContainer ) - { - delete iMainListContainer; - iMainListContainer = NULL; - } - - if( iSettingListContainer ) - { - delete iSettingListContainer; - iSettingListContainer = NULL; - } - } - -// --------------------------------------------------------------------------- -// CXDMPlugin::HandleCommandL() -// --------------------------------------------------------------------------- -// -void CXDMPlugin::HandleCommandL( TInt aCommand ) - { - switch ( aCommand ) - { - case EAknSoftkeyBack: - if (iCurrentContainer == iSettingListContainer) - { - if (iSettingListContainer->IsExitProcessingOKL()) - LoadMainViewL(); - } - else - iAppUi->ActivateLocalViewL( iPrevViewId.iViewUid ); - break; - case EGSXDMPluginCmdChange: - iSettingListContainer->EditCurrentItemL(); - break; - case EGSXDMPluginCmdEdit: - iMainListContainer->EditCurrentItemL(); - break; - case EGSXDMPluginCmdNewExisting: - if(iSettingListContainer->DisplayNewXDMSetOptionsL()) // if user ok - LoadSettingsViewL(ENewFromExisting, iSettingListContainer->GetCurrentSetName()); - break; - case EGSXDMPluginCmdNewDefault: - LoadSettingsViewL(ENewDefault, iSettingListContainer->GetCurrentSetName()); - break; - case EGSXDMPluginCmdDelete: - iMainListContainer->DeleteSetProcedureL(); - UpdateMSK(); - break; - case EAknCmdHelp: - break; - case EGSXDMPluginCmdExitFromSL: - if (iCurrentContainer == iSettingListContainer) - { - if (iSettingListContainer->IsExitProcessingOKL()) - iAppUi->HandleCommandL( EAknCmdExit ); - } - break; - case EAknCmdExit: - case EEikCmdExit: - if (iCurrentContainer == iSettingListContainer) - iSettingListContainer->SaveSettingsIfPossibleL(); - iAppUi->HandleCommandL( EAknCmdExit ); - break; - default: - iAppUi->HandleCommandL( aCommand ); - break; - } - } - -// --------------------------------------------------------------------------- -// CXDMPlugin::LoadSettingsViewL() -// --------------------------------------------------------------------------- -// -void CXDMPlugin::LoadSettingsViewL(TXDMSettingsViewType aType, TDesC& aXDMSetName) - { - switch(aType) - { - case EEditExisting: - iSettingListContainer->PrepareXDMSetForEditingL(aXDMSetName); - break; - case ENewDefault: - iSettingListContainer->PrepareXDMSetNewDefaultL(); - break; - case ENewFromExisting: - iSettingListContainer->PrepareNewXDMSetFromExistingL(aXDMSetName); - break; - default: - break; - } - iCurrentContainer = iSettingListContainer; - iMainListContainer->MakeVisible(EFalse); - iSettingListContainer->MakeVisible(ETrue); - UpdateMSK(); - } - -// --------------------------------------------------------------------------- -// CXDMPlugin::LoadMainViewL() -// --------------------------------------------------------------------------- -// -void CXDMPlugin::LoadMainViewL() - { - TInt err(KErrNone); - TRAP(err,iMainListContainer->LoadSettingsListArrayL()); // update main container - iCurrentContainer = iMainListContainer; - - iMainListContainer->SetFocusIfExist(iSettingListContainer->GetCurrentSetName()); - - iSettingListContainer->MakeVisible(EFalse); - iMainListContainer->MakeVisible(ETrue); - UpdateMSK(); - } - -// --------------------------------------------------------------------------- -// CXDMPlugin::DynInitMenuPaneL() -// --------------------------------------------------------------------------- -// -void CXDMPlugin::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane) - { - if (!FeatureManager::FeatureSupported(KFeatureIdHelp)) - { - aMenuPane->SetItemDimmed(EAknCmdHelp, ETrue); - } - - if (aResourceId == R_GS_XDM_SETTINGS_MAIN_MENU) - { - if (iCurrentContainer == iMainListContainer) - { - aMenuPane->SetItemDimmed(EGSXDMPluginCmdChange, ETrue); - aMenuPane->SetItemDimmed(EGSXDMPluginCmdExitFromSL, ETrue); - if (iMainListContainer->IsListEmpty()) - { - aMenuPane->SetItemDimmed(EGSXDMPluginCmdEdit, ETrue); - aMenuPane->SetItemDimmed(EGSXDMPluginCmdDelete, ETrue); - } - } - else - { - aMenuPane->SetItemDimmed(EGSXDMPluginCmdEdit, ETrue); - aMenuPane->SetItemDimmed(EGSXDMPluginCmdDelete, ETrue); - aMenuPane->SetItemDimmed(EGSXDMPluginCmdNewSettings, ETrue); - aMenuPane->SetItemDimmed(EAknCmdExit, ETrue); - } - } - - if (aResourceId == R_GS_XDM_NEW_SETTINGS_MENU) - { - if (iMainListContainer->IsListEmpty()) - { - aMenuPane->SetItemDimmed(EGSXDMPluginCmdNewExisting, ETrue); - } - } - } - -// --------------------------------------------------------- -// CXDMPlugin::HandleResourceChangeManual() -// --------------------------------------------------------- -// -void CXDMPlugin::HandleResourceChangeManual(TInt aType) - { - if ( iSettingListContainer ) - iSettingListContainer->HandleResourceChangeManual(aType); - if ( iMainListContainer ) - iMainListContainer->HandleResourceChangeManual(aType); - } - - -// --------------------------------------------------------------------------- -// CXDMPlugin::UpdateMSK() -// --------------------------------------------------------------------------- -// -void CXDMPlugin::UpdateMSK() - { - } - -// End of file - -