XDMSettingsUI/src/XDMPluginSettinglist.cpp
branchRCL_3
changeset 34 2669f8761a99
parent 31 2580314736af
child 35 fbd2e7cec7ef
--- a/XDMSettingsUI/src/XDMPluginSettinglist.cpp	Thu Aug 19 10:19:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,338 +0,0 @@
-/*
-* Copyright (c) 2005-2010 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:    XDM GS plugin, Setting List class implementation
-*
-*/
-
-
-
-
-// INCLUDE FILES
-#include "XDMExternalInterface.h"
-
-#include <barsread.h>
-#include <ApSettingsHandlerUI.h>
-#include <ApUtils.h>
-#include <commdb.h>
-#include <avkon.loc>
-#include <StringLoader.h>
-#include <akntitle.h>
-#include <eikspane.h>
-
-#include "XDMPlugin.hrh"
-#include "XDMPluginSettinglist.h"
-#include "SettingsData.h"
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::NewL(CSettingsData &aData)
-// -----------------------------------------------------------------------------
-// 
-CXDMPluginSettinglist *CXDMPluginSettinglist::NewL(CSettingsData &aData)
-    {
-    CXDMPluginSettinglist* self = CXDMPluginSettinglist::NewLC(aData);
-    CleanupStack::Pop(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::NewLC(CSettingsData &aData)
-// -----------------------------------------------------------------------------
-// 
-CXDMPluginSettinglist *CXDMPluginSettinglist::NewLC(CSettingsData &aData)
-    {
-    CXDMPluginSettinglist* self = new (ELeave) CXDMPluginSettinglist(aData);
-    CleanupStack::PushL(self);
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::CXDMPluginSettinglist(CSettingsData &aData)
-// -----------------------------------------------------------------------------
-// 
-CXDMPluginSettinglist::CXDMPluginSettinglist(CSettingsData &aData) : 
-    CAknSettingItemList(),
-    iSettingsData(aData)  
-    {
-    SetComponentsToInheritVisibility( ETrue );
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::~CXDMPluginSettinglist()
-// -----------------------------------------------------------------------------
-// 
-CXDMPluginSettinglist::~CXDMPluginSettinglist()
-  {
-  // no specific destruction code required - no owned data
-  }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::SizeChanged()
-// -----------------------------------------------------------------------------
-// 
-void CXDMPluginSettinglist::SizeChanged()
-    {
-    // if size changes, make sure component takes whole available space
-    if (ListBox()) 
-        {
-        ListBox()->SetRect(Rect());
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::EditCurrentItemL()
-// -----------------------------------------------------------------------------
-// 
-void CXDMPluginSettinglist::EditCurrentItemL()
-    {
-    // invoke EditItemL on the current item
-    TInt index = ListBox()->CurrentItemIndex();
-
-    //Cause SIP setting is hidden
-    if(index >= 3) //ESipURLIndex == 3
-      index++;
-    
-    // if access point need to be edit
-    if (index == EAccessPointIndex)
-        {
-        EditAccessPointL();
-        SaveSettingL(index);
-        }
-    else 
-        EditItemL(index,ETrue); // invoked from menu
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::EditItemL (TInt aIndex, TBool aCalledFromMenu)
-// -----------------------------------------------------------------------------
-// 
-void CXDMPluginSettinglist::EditItemL (TInt aIndex, TBool aCalledFromMenu)
-    {
-    if (aIndex == EAccessPointIndex)
-      {
-      EditAccessPointL();
-      }
-    else
-        {
-         CAknSettingItemList::EditItemL(aIndex, aCalledFromMenu);
-        }
-    (*SettingItemArray())[aIndex]->StoreL();
-    SaveSettingL(aIndex);
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::SaveSettingL(TInt aIndex)
-// -----------------------------------------------------------------------------
-// 
-void CXDMPluginSettinglist::SaveSettingL(TInt aIndex)
-    {
-    
-    switch (aIndex)
-        {
-        case ESettingNameIndex:
-            SetTitlePaneTextL(iSettingsData.iSettingNameDisp);         
-            break;
- 
-         case EAccessPointIndex:
-            if (iSettingsData.iAccessPoint > -1) // if Valid AP number
-                {
-                (iSettingsData.iAccessPointDes).Num(iSettingsData.iAccessPoint);
-                GetAccessPointNameL(iSettingsData.iAccessPoint, 
-                                                    iSettingsData.iAccessPointName);
-                }
-            LoadSettingsL();
-            break;
- 
-        case EServerAddressIndex:
-            break;
-        
-        
-        case ESipURLIndex:
-            break;
-        case EUserIDIndex:
-            break;
-            
-        case EPasswordIndex:
-            break;
-            
-        default:
-            break;
-        }
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::CreateSettingItemL (TInt aIdentifier) 
-// -----------------------------------------------------------------------------
-// 
-CAknSettingItem * CXDMPluginSettinglist::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 ESettingItemSettingName:
-            
-            settingItem = new (ELeave) CAknTextSettingItem ( aIdentifier,
-                                                   iSettingsData.iSettingNameDisp);
-            break;
-
-        case ESettingItemAccessPoint:
-            GetAccessPointNameL(iSettingsData.iAccessPoint, iSettingsData.iAccessPointName);
-            settingItem = new (ELeave) CAknTextSettingItem (
-                          aIdentifier, iSettingsData.iAccessPointName);
-            break;
-
-        case ESettingItemServerAddress:
-            settingItem = new (ELeave) CAknTextSettingItem (
-                          aIdentifier, 
-                          iSettingsData.iServerAddress);
-            break;
-
-
-        
-        case ESettingItemSipURL:
-            settingItem = new (ELeave) CAknTextSettingItem (
-                          aIdentifier, 
-                          iSettingsData.iSipURL);
-                settingItem->SetHidden(ETrue);
-            break;
-        
-
-        case ESettingItemUserID:
-            settingItem = new (ELeave) CAknTextSettingItem (
-                          aIdentifier, 
-                          iSettingsData.iUserID);
-            break;
-        case ESettingItemPassword:
-            settingItem = new (ELeave) CAknPasswordSettingItem (
-                          aIdentifier, 
-                          CAknPasswordSettingItem::EAlpha,
-                          iSettingsData.iPassword);
-            break;
-        default:
-            break;
-        }
-    return settingItem;
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::EditAccessPoint()
-// -----------------------------------------------------------------------------
-// 
-void CXDMPluginSettinglist::EditAccessPointL()
-    {
-    // After dialog server for access point selection (RGenConAgentDialogServer)
-    // has deprecated wins emulator mode needs a different technique to show
-    // emulator-lan access point.
-    
-    CCommsDatabase* commsDb = CCommsDatabase::NewL( EDatabaseTypeIAP );
-    CleanupStack::PushL(commsDb);
-    CApUtils* aPUtils = CApUtils::NewLC( *commsDb );
-
-    CApSettingsHandler *apUi = CApSettingsHandler::NewLC(
-                                                        ETrue, 
-                                                        EApSettingsSelListIsPopUp,
-                                                        EApSettingsSelMenuSelectNormal,
-                                                        KEApIspTypeAll,
-                                                        EApBearerTypeAllBearers,
-                                                        KEApSortNameAscending,
-                                                        EIPv4 | EIPv6
-                                                        );
-    TUint32 id;
-    
-    TRAP_IGNORE(id = aPUtils->WapIdFromIapIdL(iSettingsData.iAccessPoint));
-    
-    //err can also be in case this is new set, iSettingsData.iAccessPoint = -1
-    //so ignoring the error
-    
-    if ( apUi->RunSettingsL( id, id ) == KApUiEventSelected)
-        {
-    iSettingsData.iAccessPoint = aPUtils->IapIdFromWapIdL(id);
-        }
-    CleanupStack::PopAndDestroy(3, commsDb); //commsDb, aPUtils, apUi
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::GetAccessPointNameL(TInt32 aAP, TDes& aAccessPoint)
-// -----------------------------------------------------------------------------
-// 
-void CXDMPluginSettinglist::GetAccessPointNameL(TInt32 aAP, TDes& aAccessPoint)
-    {
-#if defined __WINS__ && defined _DEBUG // handled differently in wins+debug
-    if (aAP != KErrNotFound) // if access point is defined take a general name
-        StringLoader::Load ( aAccessPoint, R_STR_XDM_AP_NAME_FOR_DEBUG_ONLY);    
-#else
-    CCommsDatabase* commsDb = CCommsDatabase::NewL( EDatabaseTypeIAP );
-    CleanupStack::PushL(commsDb);
-    CApUtils* aPUtils = CApUtils::NewLC( *commsDb );
-    TInt err(KErrNone);
-    // to remove id bug
-    TRAP(err, aAP = aPUtils->WapIdFromIapIdL(aAP)); 
-    TRAP(err, aPUtils->NameL(aAP, aAccessPoint));
-    // dont do anything if name not found or if some error occur
-    CleanupStack::PopAndDestroy(2); // commsDb, aPUtils
-#endif 
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::IsAccessPointInUseL(TInt32 aAP)
-// -----------------------------------------------------------------------------
-// 
-TBool CXDMPluginSettinglist::IsAccessPointInUseL(TInt32 aAP)
-    {
-    TBool inUse( EFalse );
-    
-    CCommsDatabase* commsDb = CCommsDatabase::NewL( EDatabaseTypeIAP );
-    CleanupStack::PushL(commsDb);
-    CApUtils* aPUtils = CApUtils::NewLC( *commsDb );
-    TInt err(KErrNone);
-    // to remove id bug
-    TRAP(err, aAP = aPUtils->WapIdFromIapIdL(aAP)); 
-    inUse = aPUtils->IsAPInUseL( aAP );   
-    // dont do anything if name not found or if some error occur
-    CleanupStack::PopAndDestroy(2); // commsDb, aPUtils
-    
-    return inUse;
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::SetTitlePaneTextL( const TDesC& aTitleText ) const
-// -----------------------------------------------------------------------------
-// 
-void CXDMPluginSettinglist::SetTitlePaneTextL( const TDesC& aTitleText ) const
-    {
-    CAknTitlePane* title = static_cast< CAknTitlePane* >
-        ( CEikonEnv::Static()->AppUiFactory()->StatusPane()->ControlL(
-                                        TUid::Uid( EEikStatusPaneUidTitle ) ) );
-    if ( !title )
-        {
-        User::Leave( KErrNotSupported );
-        }
-
-    title->SetTextL( aTitleText );
-    }
-
-// -----------------------------------------------------------------------------
-// CXDMPluginSettinglist::ResetItemIndex()
-// -----------------------------------------------------------------------------
-// 
-void CXDMPluginSettinglist::ResetItemIndex()
-    {
-    ListBox()->SetCurrentItemIndexAndDraw(NULL);
-    }
-
-// End of File