diff -r 3fec62e6e7fc -r 90fe62538f66 defaultapplicationsettings/gsplugin/src/gs_das.cpp --- a/defaultapplicationsettings/gsplugin/src/gs_das.cpp Thu Aug 19 09:55:50 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,255 +0,0 @@ -/* -* Copyright (c) 2005-2006 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: Implements a (minimal) GS Plugin -* -*/ - - -// Includes -#include -#include -#include - -#include // Plugin's own UI resources -#include - -#include "gs_das.h" - -#include - - -// Constants - -#ifdef __SCALABLE_ICONS - // svg file - _LIT( KGSDasPluginIconFileName, "\\resource\\apps\\GSDasPlugin.mif"); -#else - // bitmap - _LIT( KGSDasPluginIconFileName, "\\resource\\apps\\GSDasPlugin.mbm"); -#endif // __SCALABLE_ICONS - - -// ========================= MEMBER FUNCTIONS ================================ - - -// --------------------------------------------------------------------------- -// CDefaultAppGSPlugin::CDefaultAppGSPlugin() -// Constructor -// -// --------------------------------------------------------------------------- -// -CDefaultAppGSPlugin::CDefaultAppGSPlugin( ) - : iResources( *iCoeEnv ), iClient(NULL) - { - - } - -// --------------------------------------------------------------------------- -// CDefaultAppGSPlugin::~CDefaultAppGSPlugin() -// Destructor -// -// --------------------------------------------------------------------------- -// -CDefaultAppGSPlugin::~CDefaultAppGSPlugin() - { - iResources.Close(); - if(iClient) - delete iClient; - if( iEmptyContainer ) - { - AppUi()->RemoveFromViewStack( *this, iEmptyContainer ); - delete iEmptyContainer; - }; - } - -// --------------------------------------------------------------------------- -// CDefaultAppGSPlugin::ConstructL() -// Symbian OS two-phased constructor -// -// --------------------------------------------------------------------------- -// -void CDefaultAppGSPlugin::ConstructL() - { - // Find the resource file: - TParse parse; - parse.Set( KDefaultAppGSPluginResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL ); - TFileName fileName( parse.FullName() ); - - // Get language of resource file: - BaflUtils::NearestLanguageFile( CEikonEnv::Static()->FsSession(), fileName ); - - // Open resource file: - iResources.OpenL( fileName ); - - //We can call this after opening the resource file ... - BaseConstructL( R_GS_DEFAULTAPP_VIEW ); - } - -// --------------------------------------------------------------------------- -// CDefaultAppGSPlugin::NewL() -// Static constructor -// -// --------------------------------------------------------------------------- -// -CDefaultAppGSPlugin* CDefaultAppGSPlugin::NewL( TAny* /*aInitParams*/ ) - { - CDefaultAppGSPlugin* self = new( ELeave ) CDefaultAppGSPlugin( ); - CleanupStack::PushL( self ); - self->ConstructL(); - CleanupStack::Pop( self ); - return self; - } - - -// ========================= From CAknView ================== - - -// --------------------------------------------------------------------------- -// From class CAknView. -// Returns the UID of the plugin (see base class) -// --------------------------------------------------------------------------- -// -TUid CDefaultAppGSPlugin::Id() const - { - return KDefaultAppGSPluginUid; - } - - -// --------------------------------------------------------------------------- -// From class CAknView. -// Activates the plugin (see base class) -// See das_servmimeapps.h for possible values of the flags (useful for R&D) -// -0x00010000 : -// --------------------------------------------------------------------------- -// -void CDefaultAppGSPlugin::DoActivateL( const TVwsViewId& aPrevViewId, - TUid /*aCustomMessageId*/, - const TDesC8& /*aCustomMessage*/ ) - { - iPrevViewId = aPrevViewId; - - TInt flags(0); //See das_servmimeapps.h for possible values of the flags (useful for R&D) - - if( !iClient ) - { - iClient=CDefaultAppClient::NewL(this); - } - - iClient->ChangeDefaultsL( flags ); - - //construct an empty control, so we avoid the screen flickering - if( !iEmptyContainer ) - { - iEmptyContainer = CCEmptyContainer::NewL( ClientRect(),NULL ); - iEmptyContainer->SetMopParent(this); - AppUi()->AddToStackL(*this, iEmptyContainer); - }; - } - - -// --------------------------------------------------------------------------- -// From class CAknView. -// Deactivates the Plugin (see base class) -// --------------------------------------------------------------------------- -// -void CDefaultAppGSPlugin::DoDeactivate() - { - if(iEmptyContainer) - { - AppUi()->RemoveFromViewStack(*this, iEmptyContainer); - delete iEmptyContainer; - iEmptyContainer=NULL; - }; - } - - -// --------------------------------------------------------------------------- -// From class CAknView. -// Handles a menu command (see base class) -// --------------------------------------------------------------------------- -// -void CDefaultAppGSPlugin::HandleCommandL( TInt aCommand ) - { - switch ( aCommand ) - { - case EAknSoftkeyBack: - AppUi()->ActivateLocalViewL( iPrevViewId.iViewUid ); - break; - case EAknCmdExit: - case EEikCmdExit: - AppUi()->RunAppShutter(); - break; - default: - AppUi()->HandleCommandL( aCommand ); //also handles EAknCmdExit - break; - } - } -// ========================= From CGSPluginInterface ================== - - - -// --------------------------------------------------------------------------- -// From class CGSPluginInterface. -// Returns the Plugin Caption (see base class) -// --------------------------------------------------------------------------- -// -void CDefaultAppGSPlugin::GetCaptionL( TDes& aCaption ) const - { - HBufC* result = StringLoader::LoadL( R_GS_DEFAULTAPP_CAPTION ); - aCaption.Copy( *result ); - delete result; - } - -// --------------------------------------------------------------------------- -// From class CGSPluginInterface. -// Return the icon, if has one. -// --------------------------------------------------------------------------- -// -CGulIcon* CDefaultAppGSPlugin::CreateIconL( const TUid aIconType ) - { - //EMbm - CGulIcon* icon; - - if( aIconType == KGSIconTypeLbxItem ) - { - icon = AknsUtils::CreateGulIconL( - AknsUtils::SkinInstance(), - KAknsIIDQgnPropCpDevDef, - KGSDasPluginIconFileName, - EMbmGsdaspluginQgn_prop_cp_dev_def, - EMbmGsdaspluginQgn_prop_cp_dev_def_mask ); - } - else - { - icon = CGSPluginInterface::CreateIconL( aIconType ); - }; - - return icon; - } - -// ========================= From MAknServerAppExitObserver ================== - -// --------------------------------------------------------------------------- -// From class MAknServerAppExitObserver. -// Handles server exits -// --------------------------------------------------------------------------- -// -void CDefaultAppGSPlugin::HandleServerAppExit( TInt aReason) - { - delete iClient; - iClient=NULL; - TRAP_IGNORE(HandleCommandL(aReason));//do not care why it leaved - } - -// End of file