remotestoragefw/gsplugin/src/rsfwgspluginsettinglist.cpp
branchRCL_3
changeset 19 88ee4cf65e19
parent 16 87c71b25c937
child 20 1aa8c82cb4cb
--- a/remotestoragefw/gsplugin/src/rsfwgspluginsettinglist.cpp	Wed Jun 09 10:37:35 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,347 +0,0 @@
-/*
-* Copyright (c) 2005 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:  Rsfw GS plugin, Setting List class implementation
-*
-*/
-
-
-// INCLUDE FILES
-#include <akntitle.h>
-#include <ApSettingsHandlerUI.h>
-#include <ApUtils.h>
-#include <commdb.h>
-#include <eikspane.h>
-#include <akntextsettingpage.h>
-#include <ConnectionUiUtilities.h>
-
-#include "rsfwgspluginsettinglist.h"
-#include "rsfwgssettingsdata.h"
-#include "mdebug.h"
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::NewL(CRsfwGsSettingsData &aData)
-// -----------------------------------------------------------------------------
-// 
-CRsfwGsPluginSettingsList *CRsfwGsPluginSettingsList::NewL(CRsfwGsSettingsData &aData)
-    {
-    CRsfwGsPluginSettingsList* self = CRsfwGsPluginSettingsList::NewLC(aData);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::NewLC(CRsfwGsSettingsData &aData)
-// -----------------------------------------------------------------------------
-// 
-CRsfwGsPluginSettingsList *CRsfwGsPluginSettingsList::NewLC(CRsfwGsSettingsData &aData)
-    {
-    CRsfwGsPluginSettingsList* self = new (ELeave) CRsfwGsPluginSettingsList(aData);
-    CleanupStack::PushL(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::CRsfwGsPluginSettingsList(CRsfwGsSettingsData &aData)
-// -----------------------------------------------------------------------------
-// 
-CRsfwGsPluginSettingsList::CRsfwGsPluginSettingsList(CRsfwGsSettingsData &aData) : 
-    CAknSettingItemList(),
-    iSettingsData(aData)  
-    {
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::~CRsfwGsPluginSettingsList()
-// -----------------------------------------------------------------------------
-// 
-CRsfwGsPluginSettingsList::~CRsfwGsPluginSettingsList()
-  {
-#if defined __WINS__ 
-  iDlgSrv.Close();
-#endif
-  }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::SizeChanged()
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::SizeChanged()
-    {
-    // if size changes, make sure component takes whole available space
-    if (ListBox()) 
-        {
-        ListBox()->SetRect(Rect());
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::EditCurrentItemL()
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::EditCurrentItemL()
-    {
-    // invoke EditItemL on the current item
-    
-    TInt index = ListBox()->CurrentItemIndex();
-	EditItemL(index,ETrue); // invoked from menu
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::EditItemL (TInt aIndex, TBool aCalledFromMenu)
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::EditItemL (TInt aIndex, TBool aCalledFromMenu)
-    {
-    if (aIndex == EAccessPointIndex)
-      {
-      EditAccessPointL();
-      }
-    else
-        {
-      	TInt cflags = (*SettingItemArray())[aIndex]->SettingPageFlags();
-      	// allow user to exit address field without typing anything,
-      	// if he e.g. realizes that he does not remember the address
-        if ((aIndex == EUserIDIndex) || (aIndex == EServerAddressIndex))
-       		{
-        	cflags |= CAknTextSettingPage::EZeroLengthAllowed;
-       	 	}
-    	else
-       		{
-            //coverity[logical_vs_bitwise]
-        	cflags &= (!CAknTextSettingPage::EZeroLengthAllowed);
-        	}
-        (*SettingItemArray())[aIndex]->SetSettingPageFlags(cflags);	
-         CAknSettingItemList::EditItemL(aIndex, aCalledFromMenu);
-        (*SettingItemArray())[aIndex]->StoreL();
-        }
-    SaveSettingL(aIndex);
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::SaveSettingL(TInt aIndex)
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::SaveSettingL(TInt aIndex)
-    {
-    
-    switch (aIndex)
-        {
-        case ESettingNameIndex:
-            SetTitlePaneTextL(iSettingsData.iSettingName);         
-            break;
-        case EServerAddressIndex:
-            break;
-        
-        case EAccessPointIndex:
-            if (iSettingsData.iAccessPoint > -1) // if Valid AP number
-                {
-                (iSettingsData.iAccessPointDes).Num(iSettingsData.iAccessPoint);
-                GetAccessPointNameL(iSettingsData.iAccessPoint, 
-                                                    iSettingsData.iAccessPointName);
-                }
-            break;
-        case EUserIDIndex:
-            break;
-            
-        case EPasswordIndex:
-            break;
-            
-        default:
-            break;
-        }
-    LoadSettingsL();  
-    DrawNow();  
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::CreateSettingItemL (TInt aIdentifier) 
-// -----------------------------------------------------------------------------
-// 
-CAknSettingItem * CRsfwGsPluginSettingsList::CreateSettingItemL (TInt aIdentifier) 
-    {
-    // method is used to create specific setting item as required at run-time.
-    // aIdentifier is used to determine what kind of setting item should be 
-    // created
-
-    CAknSettingItem* settingItem = NULL;
-
-    switch (aIdentifier)
-        {
-        case ESettingItemDriveName:
-            settingItem = new (ELeave) CAknTextSettingItem ( aIdentifier,
-                                                   iSettingsData.iSettingName);
-            break;
-       case ESettingItemURL:
-            settingItem = new (ELeave) CAknTextSettingItem (
-                          aIdentifier, 
-                          iSettingsData.iURL);           
-            break;    
-
-        case ESettingItemAccessPoint:
-            GetAccessPointNameL(iSettingsData.iAccessPoint, iSettingsData.iAccessPointName);
-            settingItem = new (ELeave) CAknTextSettingItem (
-                          aIdentifier, iSettingsData.iAccessPointName);
-            break;
-
-   
-
-        case ESettingItemUserID:
-            settingItem = new (ELeave) CAknTextSettingItem (
-                          aIdentifier, 
-                          iSettingsData.iUserID);
-            settingItem->SetEmptyItemTextL(KNullDesC);
-            settingItem->LoadL();        
-            break;
-        case ESettingItemPassword:
-            settingItem = new (ELeave) CAknPasswordSettingItem (
-                          aIdentifier, 
-                          CAknPasswordSettingItem::EAlpha,
-                          iSettingsData.iPassword);         
-            break;
-        default:
-            break;
-        }
-    return settingItem;
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::EditAccessPoint()
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::EditAccessPointL()
-    {
-
-    CCommsDatabase* commsDb = CCommsDatabase::NewL( EDatabaseTypeIAP );
-    CleanupStack::PushL(commsDb);
-    CApUtils* aPUtils = CApUtils::NewLC( *commsDb );
-
-    TUint32 id = 0;
-    TRAP_IGNORE(id = aPUtils->WapIdFromIapIdL(iSettingsData.iAccessPoint));
-    
-    CConnectionUiUtilities* connUiUtils = 
-                CConnectionUiUtilities::NewL();            
-	CleanupStack::PushL( connUiUtils );
-	
-    TCuuAlwaysAskResults result;
-    // determine how radio button will be initially displayed to the user
-    // (depending on what is the current IAP choice)
-    iSettingsData.iAccessPoint < 0 ? result = ECuuAlwaysAsk : result = ECuuUserDefined;
-	
-	if (connUiUtils->AlwaysAskPageL(result)) 
-		{
-		if (result == ECuuUserDefined) 
-			{
-			
-#if defined __WINS__ 
-    		// In wins emulator mode we need to show emulator-lan access point so we
-    		// different technique
-			TConnectionPrefs prefs;
-
-    		User::LeaveIfError(iDlgSrv.Connect());
-
-   			prefs.iRank = 1;
-    		prefs.iDirection = ECommDbConnectionDirectionOutgoing;
-    		prefs.iBearerSet = ECommDbBearerCSD | ECommDbBearerWcdma | ECommDbBearerVirtual;
-    
-    		TUint32 id = iSettingsData.iAccessPoint;
-
-			TRAPD( err, iDlgSrv.IapConnection( id, prefs, iStatus ) );
-    		User::LeaveIfError( err );
-	
-    		User::WaitForRequest( iStatus );
-    		iSettingsData.iAccessPoint = id;
-    		iDlgSrv.Close();	
-
-#else		
-	   	   CApSettingsHandler *ApUi = CApSettingsHandler::NewLC(
-                                                        ETrue, 
-                                                        EApSettingsSelListIsPopUp,
-                                                        EApSettingsSelMenuSelectNormal,
-                                                        KEApIspTypeAll,
-                                                        EApBearerTypeAllBearers,
-                                                        KEApSortNameAscending,
-                                                        EIPv4 | EIPv6
-                                                        );
-			ApUi->RunSettingsL( id, id );
-			CleanupStack::PopAndDestroy(ApUi);	
-    		iSettingsData.iAccessPoint = aPUtils->IapIdFromWapIdL(id);
-#endif
-			}
-		else if (result == ECuuAlwaysAsk) 
-			{
-			iSettingsData.iAccessPoint = -1;
-			iSettingsData.iAccessPointDes = KNullDesC;
-			iSettingsData.iAccessPointName = KNullDesC;
-			}
-		}
-    
-
-    CleanupStack::PopAndDestroy(3); //commsDb, aPUtils, CConnectionUtilities
-  
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::GetAccessPointNameL(TInt32 aAP, TDes& aAccessPoint)
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::GetAccessPointNameL(TInt32 aAP, TDes& aAccessPoint)
-    {
-       // Fetch CommDB data for a matching IAP Id or IAP Name
-    CCommsDatabase* commsDb = CCommsDatabase::NewL();
-    CleanupStack::PushL(commsDb);
-    CCommsDbTableView* table;
-    table = commsDb->OpenViewMatchingUintLC(TPtrC(IAP),
-                                                TPtrC(COMMDB_ID),
-                                                aAP);
-        
-    TInt err = table->GotoFirstRecord();
-    if (err != KErrNone)
-        {
-        CleanupStack::PopAndDestroy(2, commsDb); // table, commsDb
-        return;
-        }
-
-    // Read name for IAP information
-    table->ReadTextL(TPtrC(COMMDB_NAME), aAccessPoint);
-    CleanupStack::PopAndDestroy(2, commsDb); // table, commsDb
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::SetTitlePaneTextL( const TDesC& aTitleText ) const
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::SetTitlePaneTextL( const TDesC& aTitleText ) const
-    {
-    DEBUGSTRING(("CRsfwGsPluginSettingsList::SetTitlePaneTextL"));
-    CAknTitlePane* title = static_cast< CAknTitlePane* >
-        ( iEikonEnv->AppUiFactory()->StatusPane()->ControlL(
-                                        TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    if ( !title )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    title->SetTextL( aTitleText );
-    }
-
-// -----------------------------------------------------------------------------
-// CRsfwGsPluginSettingsList::ResetItemIndex()
-// -----------------------------------------------------------------------------
-// 
-void CRsfwGsPluginSettingsList::ResetItemIndex()
-    {
-    ListBox()->SetCurrentItemIndex(NULL);   
-    }
-
-// End of File