From f3ab456a17af1c89a6e3be4d20c5944853df1cb0 Mon Sep 17 00:00:00 2001 From: "David M. Lee" Date: Mon, 7 Jan 2013 14:24:28 -0600 Subject: Import pjproject-2.0.1 --- .../src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp | 257 +++++++++++++++++++++ 1 file changed, 257 insertions(+) create mode 100644 pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp (limited to 'pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp') diff --git a/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp b/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp new file mode 100644 index 0000000..276ffa3 --- /dev/null +++ b/pjsip-apps/src/symbian_ua_gui/src/symbian_ua_guiAppUi.cpp @@ -0,0 +1,257 @@ +/* $Id: symbian_ua_guiAppUi.cpp 3550 2011-05-05 05:33:27Z nanang $ */ +/* + * Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com) + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +// [[[ begin generated region: do not modify [Generated System Includes] +#include +#include +#include +#include +// ]]] end generated region [Generated System Includes] + +// [[[ begin generated region: do not modify [Generated User Includes] +#include "symbian_ua_guiAppUi.h" +#include "symbian_ua_gui.hrh" +#include "symbian_ua_guiContainer.hrh" +#include "symbian_ua_guiSettingItemList.hrh" +#include "symbian_ua_guiContainerView.h" +#include "symbian_ua_guiSettingItemListView.h" +// ]]] end generated region [Generated User Includes] + +// [[[ begin generated region: do not modify [Generated Constants] +// ]]] end generated region [Generated Constants] + +#include "symbian_ua.h" + +/** + * Construct the Csymbian_ua_guiAppUi instance + */ +Csymbian_ua_guiAppUi::Csymbian_ua_guiAppUi() : CTimer(0) + { + // [[[ begin generated region: do not modify [Generated Contents] + // ]]] end generated region [Generated Contents] + + } + +/** + * The appui's destructor removes the container from the control + * stack and destroys it. + */ +Csymbian_ua_guiAppUi::~Csymbian_ua_guiAppUi() + { + // [[[ begin generated region: do not modify [Generated Contents] + TRAPD( err_Dlg_wait_init, RemoveDlg_wait_initL() ); + // ]]] end generated region [Generated Contents] + } + +// [[[ begin generated function: do not modify +void Csymbian_ua_guiAppUi::InitializeContainersL() + { + iSymbian_ua_guiContainerView = Csymbian_ua_guiContainerView::NewL(); + AddViewL( iSymbian_ua_guiContainerView ); + iSymbian_ua_guiSettingItemListView = Csymbian_ua_guiSettingItemListView::NewL(); + AddViewL( iSymbian_ua_guiSettingItemListView ); + SetDefaultViewL( *iSymbian_ua_guiSettingItemListView ); + } +// ]]] end generated function + +/** + * Handle a command for this appui (override) + * @param aCommand command id to be handled + */ +void Csymbian_ua_guiAppUi::HandleCommandL( TInt aCommand ) + { + // [[[ begin generated region: do not modify [Generated Code] + TBool commandHandled = EFalse; + switch ( aCommand ) + { // code to dispatch to the AppUi's menu and CBA commands is generated here + default: + break; + } + + + if ( !commandHandled ) + { + if ( aCommand == EAknSoftkeyExit || aCommand == EEikCmdExit ) + { + symbian_ua_destroy(); + Exit(); + } + } + // ]]] end generated region [Generated Code] + + } + +/** + * Override of the HandleResourceChangeL virtual function + */ +void Csymbian_ua_guiAppUi::HandleResourceChangeL( TInt aType ) + { + CAknViewAppUi::HandleResourceChangeL( aType ); + // [[[ begin generated region: do not modify [Generated Code] + // ]]] end generated region [Generated Code] + + } + +/** + * Override of the HandleKeyEventL virtual function + * @return EKeyWasConsumed if event was handled, EKeyWasNotConsumed if not + * @param aKeyEvent + * @param aType + */ +TKeyResponse Csymbian_ua_guiAppUi::HandleKeyEventL( + const TKeyEvent& aKeyEvent, + TEventCode aType ) + { + // The inherited HandleKeyEventL is private and cannot be called + // [[[ begin generated region: do not modify [Generated Contents] + // ]]] end generated region [Generated Contents] + + return EKeyWasNotConsumed; + } + +/** + * Override of the HandleViewDeactivation virtual function + * + * @param aViewIdToBeDeactivated + * @param aNewlyActivatedViewId + */ +void Csymbian_ua_guiAppUi::HandleViewDeactivation( + const TVwsViewId& aViewIdToBeDeactivated, + const TVwsViewId& aNewlyActivatedViewId ) + { + CAknViewAppUi::HandleViewDeactivation( + aViewIdToBeDeactivated, + aNewlyActivatedViewId ); + // [[[ begin generated region: do not modify [Generated Contents] + // ]]] end generated region [Generated Contents] + + } + +/** + * @brief Completes the second phase of Symbian object construction. + * Put initialization code that could leave here. + */ +void Csymbian_ua_guiAppUi::ConstructL() + { + // [[[ begin generated region: do not modify [Generated Contents] + BaseConstructL( EAknEnableSkin ); + InitializeContainersL(); + // ]]] end generated region [Generated Contents] + + // Create private folder + RProcess process; + TFileName path; + + path.Copy( process.FileName().Left(2) ); + + if(path.Compare(_L("c")) || path.Compare(_L("C"))) + CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveC); + else if(path.Compare(_L("e")) || path.Compare(_L("E"))) + CEikonEnv::Static()->FsSession().CreatePrivatePath(EDriveE); + + // Init PJSUA + if (symbian_ua_init() != 0) { + symbian_ua_destroy(); + Exit(); + } + + ExecuteDlg_wait_initLD(); + + CTimer::ConstructL(); + CActiveScheduler::Add( this ); + After(4000000); + } + +/** + * Override of the HandleApplicationSpecificEventL virtual function + */ +void Csymbian_ua_guiAppUi::HandleApplicationSpecificEventL( + TInt aType, + const TWsEvent& anEvent ) + { + CAknViewAppUi::HandleApplicationSpecificEventL( aType, anEvent ); + // [[[ begin generated region: do not modify [Generated Code] + // ]]] end generated region [Generated Code] + + } + +/** + * Handle the applicationSpecificEvent event. + */ +void Csymbian_ua_guiAppUi::HandleSymbian_ua_guiAppUiApplicationSpecificEventL( + TInt /* aType */, + const TWsEvent& /* anEvent */ ) + { + // TODO: implement applicationSpecificEvent event handler + } + +// [[[ begin generated function: do not modify +/** + * Execute the wait dialog for dlg_wait_init. This routine returns + * while the dialog is showing. It will be closed and destroyed when + * RemoveDlg_wait_initL() or the user selects the Cancel soft key. + * @param aOverrideText optional override text. When null the text configured + * in the UI Designer is used. + */ +void Csymbian_ua_guiAppUi::ExecuteDlg_wait_initLD( const TDesC* aOverrideText ) + { + iDlg_wait_init = new ( ELeave ) CAknWaitDialog( + reinterpret_cast< CEikDialog** >( &iDlg_wait_init ), EFalse ); + if ( aOverrideText != NULL ) + { + iDlg_wait_init->SetTextL( *aOverrideText ); + } + iDlg_wait_init->ExecuteLD( R_APPLICATION_DLG_WAIT_INIT ); + iDlg_wait_initCallback = new ( ELeave ) CProgressDialogCallback( + this, iDlg_wait_init, &Csymbian_ua_guiAppUi::HandleDlg_wait_initCanceledL ); + iDlg_wait_init->SetCallback( iDlg_wait_initCallback ); + } +// ]]] end generated function + +// [[[ begin generated function: do not modify +/** + * Close and dispose of the wait dialog for dlg_wait_init + */ +void Csymbian_ua_guiAppUi::RemoveDlg_wait_initL() + { + if ( iDlg_wait_init != NULL ) + { + iDlg_wait_init->SetCallback( NULL ); + iDlg_wait_init->ProcessFinishedL(); // deletes the dialog + iDlg_wait_init = NULL; + } + delete iDlg_wait_initCallback; + iDlg_wait_initCallback = NULL; + + } +// ]]] end generated function + +/** + * Handle the canceled event. + */ +void Csymbian_ua_guiAppUi::HandleDlg_wait_initCanceledL( CAknProgressDialog* /* aDialog */ ) + { + // TODO: implement canceled event handler + + } + +void Csymbian_ua_guiAppUi::RunL() + { + RemoveDlg_wait_initL(); + iSymbian_ua_guiSettingItemListView->HandleCommandL(EAknSoftkeySave); + } -- cgit v1.2.3