diff -r 3fec62e6e7fc -r 90fe62538f66 defaultapplicationsettings/server/src/das_appui.cpp --- a/defaultapplicationsettings/server/src/das_appui.cpp Thu Aug 19 09:55:50 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,204 +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: This is the app ui implementation of default application server. -* -*/ - - -#include -#include -#include -#include -#include -#include -#include -#include "das_appui.h" -#include "das_view.h" -#include "das_srvmime_dlg.h" -#include "das_servmimeapps.h" -#include "das.hrh" - -// ======== MEMBER FUNCTIONS ======== - -// --------------------------------------------------------------------------- -// Destructor -// --------------------------------------------------------------------------- -// -CDefaultAppAppUi::~CDefaultAppAppUi() - { - if(iView) - delete iView; - if(iServMimeApps) - delete iServMimeApps; - } - -// --------------------------------------------------------------------------- -// Default constructor -// --------------------------------------------------------------------------- -// -CDefaultAppAppUi::CDefaultAppAppUi() : iView(NULL), iDlg(NULL), iExitBack(EFalse) - { - // No implementation required - } - -// --------------------------------------------------------------------------- -// Symbian constructor -// --------------------------------------------------------------------------- -// -void CDefaultAppAppUi::ConstructL() -{ - BaseConstructL(EAknEnableSkin|EAknEnableMSK|EAknSingleClickCompatible); - // Create view object - iView = CDefaultAppView::NewL( ClientRect() ); -} - -// --------------------------------------------------------------------------- -// Continues the construction, after the client connects to the server and some data is known -// (client UID and service flags) -// --------------------------------------------------------------------------- -// -void CDefaultAppAppUi::ConstructSrvMimeDlgL(TUid aClientUid, TInt aServiceFlags) -{ - SetClientIconL(aClientUid); - iClientUid = aClientUid; - iSelectedItemSimple=-1; - iSelectedItemAdvanced=-1; - iReloadDlgAdvanced=(aClientUid==KUidGS?EFalse:ETrue); - iReloadDlg=ETrue; - do - { - if(!iServMimeApps) - iServMimeApps=CDefaultAppServMimeApps::NewL(aClientUid, aServiceFlags); - - if(iReloadDlgAdvanced) - { - //some settings for the advanced view - iServMimeApps->iSimplifiedView=EFalse; - } - else - { - //some settings for the simple view - iServMimeApps->iSimplifiedView=ETrue; - }; - iServMimeApps->GetServicesAndMimesListL(iServMimeApps->iList); - - iDlg=CDefaultAppSrvMimeDlg::NewL(this); - SetDialogExist( ETrue ); - iDlg->SetMopParent(this); - iDlg->ExecuteLD(R_DAS_DLG); - iDlg=NULL; - } - while(iReloadDlg); - - - //exit the server - if(iExitBack) - { - //if we exit by "Back" button, notify the client app, so that it does not exit. - CEikAppServer* server = iEikonEnv->AppServer(); //if we do not do this, the client exits when backkey is pressed - if ( server ) - { - server->NotifyServerExit( EAknSoftkeyBack ); - } - }; - //exit this application - RunAppShutter(); -} - -// --------------------------------------------------------------------------- -// From class CAknAppUi. -// handle menu command -// --------------------------------------------------------------------------- -// -void CDefaultAppAppUi::HandleCommandL(TInt aCommand) - { - switch (aCommand) - { - case EAknSoftkeyExit: - __ASSERT_ALWAYS(0,User::Leave(KErrGeneral)); - break; - case EEikCmdExit: - - Exit(); - break; - //no need for default. We may also have other commands that we do not handle here. - } - } - - -// --------------------------------------------------------------------------- -// imports and displays the icon of the client application. -// --------------------------------------------------------------------------- -// -void CDefaultAppAppUi::SetClientIconL(TUid aClietAppUid) - { - CEikStatusPane *statusPane=StatusPane(); - TUid contextPaneUid=TUid::Uid(EEikStatusPaneUidContext); - if(statusPane && statusPane->PaneCapabilities(contextPaneUid).IsPresent()) - { - CAknContextPane *contextPane=(CAknContextPane*)(statusPane->ControlL(contextPaneUid)); //we don't get the ownership - MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance(); //we don't get the ownership - - CFbsBitmap* iconBmp = NULL; - CFbsBitmap* iconBmpMask = NULL; - - AknsUtils::CreateAppIconLC(skinInstance,aClietAppUid,EAknsAppIconTypeContext, - iconBmp,iconBmpMask); - CleanupStack::Pop(2);//the 2 icons - - contextPane->SetPicture(iconBmp,iconBmpMask);// ownership transfer for the 2 pictures - } - } - -// --------------------------------------------------------------------------- -// Handles layout changes (e.g. from portrait to landscape) -// --------------------------------------------------------------------------- -// -void CDefaultAppAppUi::HandleResourceChangeL(TInt aType) - { - CAknAppUi::HandleResourceChangeL( aType ); - - if(iView) - iView->HandleResourceChange(aType); - if( iDlg && iDialogExist ) - iDlg->HandleResourceChange(aType); - - if ( aType == KEikDynamicLayoutVariantSwitch ) - { - if( iView ) - iView->SetRect(ClientRect()); - if( iDlg && iDialogExist ) - iDlg->SetRect(ClientRect()); - } - } - -// --------------------------------------------------------------------------- -// Handles Window Server events (we are interested in catching the end key event -// and exiting the application -// --------------------------------------------------------------------------- -// -void CDefaultAppAppUi::HandleWsEventL(const TWsEvent & aEvent, CCoeControl * aDestination) - { - CAknAppUi::HandleWsEventL(aEvent,aDestination); - } - -// --------------------------------------------------------------------------- -// This functino is used to record the exist of the dialog; -// and exiting the application -// --------------------------------------------------------------------------- -// -void CDefaultAppAppUi::SetDialogExist( TBool aExist ) - { - iDialogExist = aExist; - }