cmmanager/cmmgr/Framework/Src/cmsettingsuiimpl.cpp
changeset 0 5a93021fdf25
child 55 fc7b30ed2058
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cmmanager/cmmgr/Framework/Src/cmsettingsuiimpl.cpp	Thu Dec 17 08:55:21 2009 +0200
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 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:  Implementation of CCmSettingsUiImpl.
+*
+*/
+
+#include <cmmanager.rsg>
+
+#include "cmsettingsuiimpl.h"
+#include "cmmanagerimpl.h"
+#include "destdlg.h"
+#include <cmcommonconstants.h>
+#include "selectdestinationdlg.h"
+#include <data_caging_path_literals.hrh>
+
+//-----------------------------------------------------------------------------
+//  CCmSettingsUiImpl::NewL()
+//-----------------------------------------------------------------------------
+//
+CCmSettingsUiImpl* CCmSettingsUiImpl::NewL()
+    {
+    CCmSettingsUiImpl* self = new (ELeave) CCmSettingsUiImpl();
+    CleanupStack::PushL( self );
+    self->ConstructL();
+    CleanupStack::Pop( self );
+    return self;
+    }
+
+//-----------------------------------------------------------------------------
+//  CCmSettingsUiImpl::CCmSettingsUiImpl
+//-----------------------------------------------------------------------------
+//
+CCmSettingsUiImpl::CCmSettingsUiImpl():
+    iResourceReader( *CCoeEnv::Static() )
+    {
+    }
+
+//-----------------------------------------------------------------------------
+// CCmSettingsUiImpl::LoadResourceL
+// Load the resource for the dll module
+// ----------------------------------------------------------------------------
+//
+TInt CCmSettingsUiImpl::LoadResourceL ()
+    {    
+    // Add resource file.
+    TParse* fp = new(ELeave) TParse(); 
+    TInt err = fp->Set( KACMManagerResDirAndFileName, 
+                        &KDC_RESOURCE_FILES_DIR, 
+                        NULL ); 
+    if ( err != KErrNone)
+        {
+        User::Leave( err );
+        }   
+
+    TFileName resourceFileNameBuf = fp->FullName();
+    delete fp;
+
+    iResourceReader.OpenL (resourceFileNameBuf);
+    return err;
+    }
+
+//-----------------------------------------------------------------------------
+//  CCmSettingsUiImpl::~CCmSettingsUiImpl
+//-----------------------------------------------------------------------------
+//
+CCmSettingsUiImpl::~CCmSettingsUiImpl()
+    {
+    delete iCmManagerImpl;
+    iResourceReader.Close();    
+    }
+
+//-----------------------------------------------------------------------------
+//  CCmSettingsUiImpl::ConstructL
+//-----------------------------------------------------------------------------
+//
+void CCmSettingsUiImpl::ConstructL()
+    {
+    iCmManagerImpl = CCmManagerImpl::NewL();
+    LoadResourceL();
+    AknsUtils::SetAvkonSkinEnabledL( ETrue );
+    }
+    
+//-----------------------------------------------------------------------------
+//  CCmSettingsUiImpl::RunSettingsL
+//-----------------------------------------------------------------------------
+//
+TInt CCmSettingsUiImpl::RunSettingsL()
+    {
+    CDestDlg* destDlg = new (ELeave) CDestDlg;
+
+    TUint32 selected = 0;
+    // No need to push it on to the cleanup stack as CEikDialog::PrepareLC
+    // does this favour for us.
+    
+    TBool exiting = EFalse;
+    
+    TInt result = destDlg->ConstructAndRunLD( 
+                                        iCmManagerImpl, 0, selected, exiting );
+        
+    return ( exiting ) ? KDialogUserExit: KDialogUserBack;
+    }    
+
+//-----------------------------------------------------------------------------
+//  CCmSettingsUiImpl::SelectDestinationDlgL
+//-----------------------------------------------------------------------------
+//
+TBool CCmSettingsUiImpl::SelectDestinationDlgL( TUint32& aDestinationId )
+    {
+    CSelectDestinationDlg* dlg = CSelectDestinationDlg::NewL( aDestinationId,
+                                                              *iCmManagerImpl );
+                                                              
+    return dlg->ExecuteLD( R_CMMANAGER_LIST_QUERY_WITH_MSGBOX );    
+    }