--- a/iaupdate/IAD/ui/src/iaupdatesettingdialog.cpp Fri Apr 16 15:05:20 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,705 +0,0 @@
-/*
-* Copyright (c) 2007-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:
-*
-*/
-
-
-
-
-// INCLUDE FILES
-
-#include "iaupdatesettingdialog.h"
-#include "iaupdateaccesspointhandler.h"
-#include "iaupdatestatuspanehandler.h"
-#include "iaupdateapplication.h"
-#include "iaupdate.hrh"
-#include "iaupdateprivatecrkeys.h"
-#include "iaupdatedebug.h"
-#include <iaupdate.rsg>
-
-#include <centralrepository.h>
-#include <featmgr.h>
-#include <hlplch.h>
-
-
-_LIT( KSWUPDATE_HLP_SETTINGS, "SWUPDATE_HLP_SETTINGS" );
-
-
-
-
-// cenrep in emulator:
-// copy 2000F85A.txt to '\epoc32\release\winscw\udeb\Z\private\10202be9\'
-// delete 2000F85A.txt from 'epoc32\winscw\c\private\10202be9\persists'
-//
-// cenrep in hardware:
-// copy 2000F85A.txt to '\epoc32\data\Z\private\10202be9'
-//
-
-
-
-/******************************************************************************
- * class CIAUpdateSettingDialog
- ******************************************************************************/
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingDialog::ShowDialogL
-//
-// -----------------------------------------------------------------------------
-TBool CIAUpdateSettingDialog::ShowDialogL()
- {
- //__UHEAP_MARK;
-
- CIAUpdateSettingDialog* dialog = CIAUpdateSettingDialog::NewL();
-
- TBool ret = dialog->ExecuteLD( R_IAUPDATE_SETTING_DIALOG );
-
- //__UHEAP_MARKEND;
-
- return ret;
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingDialog::NewL
-//
-// -----------------------------------------------------------------------------
-CIAUpdateSettingDialog* CIAUpdateSettingDialog::NewL()
- {
- CIAUpdateSettingDialog* self = new ( ELeave ) CIAUpdateSettingDialog();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingDialog::CIAUpdateSettingDialog
-//
-// -----------------------------------------------------------------------------
-//
-CIAUpdateSettingDialog::CIAUpdateSettingDialog()
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingDialog::ConstructL
-//
-// -----------------------------------------------------------------------------
-//
-void CIAUpdateSettingDialog::ConstructL()
- {
- CAknDialog::ConstructL( R_IAUPDATE_SETTING_DIALOG_MENU );
-
- // get previous title so it can be restored
- iStatusPaneHandler = CIAUpdateStatusPaneHandler::NewL( iAvkonAppUi );
- iStatusPaneHandler->StoreOriginalTitleL();
- }
-
-
-// ----------------------------------------------------------------------------
-// Destructor
-//
-// ----------------------------------------------------------------------------
-//
-CIAUpdateSettingDialog::~CIAUpdateSettingDialog()
- {
- delete iStatusPaneHandler;
-
- if (iAvkonAppUi)
- {
- iAvkonAppUi->RemoveFromStack( this );
- }
- }
-
-
-// ---------------------------------------------------------
-// CIAUpdateSettingDialog::CreateCustomControlL
-// ---------------------------------------------------------
-//
-SEikControlInfo CIAUpdateSettingDialog::CreateCustomControlL( TInt aControlType )
- {
- SEikControlInfo controlInfo;
- controlInfo.iControl = NULL;
- controlInfo.iTrailerTextId = 0;
- controlInfo.iFlags = 0;
-
- switch ( aControlType )
- {
- case EAknCtLastControlId:
- {
- controlInfo.iControl = new (ELeave) CIAUpdateSettingItemList();
- break;
- }
-
- default:
- {
- break;
- }
- }
- return controlInfo;
- }
-
-
-//------------------------------------------------------------------------------
-// CIAUpdateSettingDialog::ActivateL
-//
-// Called by system when dialog is activated.
-//------------------------------------------------------------------------------
-//
-void CIAUpdateSettingDialog::ActivateL()
- {
- CAknDialog::ActivateL();
-
- // this cannot be in ConstructL which is executed before dialog is launched
- iAvkonAppUi->AddToStackL(this);
- }
-
-
-//------------------------------------------------------------------------------
-// CIAUpdateSettingDialog::GetHelpContext
-//
-//------------------------------------------------------------------------------
-//
-void CIAUpdateSettingDialog::GetHelpContext( TCoeHelpContext& aContext ) const
- {
- aContext.iMajor = KUidIAUpdateApp;
- aContext.iContext = KSWUPDATE_HLP_SETTINGS;
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingDialog::HandleListBoxEventL
-//
-// -----------------------------------------------------------------------------
-void CIAUpdateSettingDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/,
- TListBoxEvent /*aEventType*/ )
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingDialog::PreLayoutDynInitL
-//
-// -----------------------------------------------------------------------------
-//
-void CIAUpdateSettingDialog::PreLayoutDynInitL()
- {
- iList = (CIAUpdateSettingItemList*) ControlOrNull ( EIAUpdateSettingDialogList );
-
- iList->LoadSettingsL(); // from CAknSettingItemList
-
- iStatusPaneHandler->SetTitleL( R_IAUPDATE_SETTING_DIALOG_TITLE );
- iStatusPaneHandler->SetNaviPaneTitleL(KNullDesC);
- }
-
-
-//------------------------------------------------------------------------------
-// CIAUpdateSettingDialog::DynInitMenuPaneL
-//
-// Called by system before menu is shown.
-//------------------------------------------------------------------------------
-//
-void CIAUpdateSettingDialog::DynInitMenuPaneL(TInt aResourceID, CEikMenuPane* aMenuPane )
- {
- if( aResourceID == R_IAUPDATE_SETTING_DIALOG_MENU_PANE )
- {
- if ( !FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- aMenuPane->SetItemDimmed( EAknCmdHelp, ETrue );
- }
- }
- }
-
-
-//------------------------------------------------------------------------------
-// CIAUpdateSettingDialog::ProcessCommandL
-//
-// Handle commands from menu.
-//------------------------------------------------------------------------------
-//
-void CIAUpdateSettingDialog::ProcessCommandL(TInt aCommandId)
- {
- if ( MenuShowing() )
- {
- HideMenu();
- }
-
-
- switch ( aCommandId )
- {
- case EAknCmdHelp:
- {
- HlpLauncher::LaunchHelpApplicationL(
- iEikonEnv->WsSession(),
- iEikonEnv->EikAppUi()->AppHelpContextL() );
- break;
- }
-
- case EAknCmdOpen:
- {
- EditItemL();
- break;
- }
-
- case EAknCmdExit:
- case EEikCmdExit:
- {
- // close dialog and exit calling application
- iAvkonAppUi->ProcessCommandL( EAknCmdExit );
- break;
- }
-
- default:
- break;
- }
- }
-
-
-//------------------------------------------------------------------------------
-// CIAUpdateSettingDialog::OkToExitL
-//
-//------------------------------------------------------------------------------
-//
-TBool CIAUpdateSettingDialog::OkToExitL(TInt aButtonId)
- {
- if ( aButtonId == EEikBidCancel )
- {
- TRAP_IGNORE( SaveSettingsL() ); //potential leave trapped
- //because IAD is not closed if SaveSettingsL() leaves
- return ETrue; // close dialog
- }
-
- if ( aButtonId == EAknSoftkeyOpen )
- {
- EditItemL();
-
- return EFalse; // leave dialog open
- }
-
- if ( aButtonId == EAknSoftkeyBack )
- {
- SaveSettingsL();
-
- return ETrue; // close dialog
- }
-
- return CAknDialog::OkToExitL(aButtonId);
- }
-
-
-
-// ----------------------------------------------------------------------------
-// CIAUpdateSettingDialog::OfferKeyEventL
-//
-// ----------------------------------------------------------------------------
-//
-TKeyResponse CIAUpdateSettingDialog::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
- {
- if (aType == EEventKey)
- {
- switch (aKeyEvent.iCode)
- {
- case EKeyEscape: // framework calls this when dialog must shut down
- {
- return CAknDialog::OfferKeyEventL(aKeyEvent, aType);
- }
- case EKeyUpArrow:
- case EKeyDownArrow:
- {
- break;
- }
- default:
- {
- break;
- }
- }
- }
-
- return CAknDialog::OfferKeyEventL( aKeyEvent, aType);
- }
-
-
-// ----------------------------------------------------------------------------
-// CIAUpdateSettingDialog::HandleResourceChange
-//
-// ----------------------------------------------------------------------------
-//
-void CIAUpdateSettingDialog::HandleResourceChange(TInt aType)
- {
- if (aType == KEikDynamicLayoutVariantSwitch) //Handle change in layout orientation
- {
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
- SetRect( mainPaneRect );
-
- iList->HandleResourceChange( aType );
-
- CCoeControl::HandleResourceChange( aType );
- DrawDeferred();
- return;
- }
-
- if ( aType == KAknsMessageSkinChange )
- {
- }
-
- CCoeControl::HandleResourceChange( aType );
- }
-
-
-// ----------------------------------------------------------------------------
-// CIAUpdateSettingDialog::EditItemL
-//
-// ----------------------------------------------------------------------------
-//
-void CIAUpdateSettingDialog::EditItemL()
- {
- TInt currentIndex = iList->ListBox()->CurrentItemIndex();
- TBool calledFromMenu = ETrue;
-
- iList->EditItemL( currentIndex, calledFromMenu );
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingDialog::SetVisibility
-//
-// -----------------------------------------------------------------------------
-//
-void CIAUpdateSettingDialog::SetVisibility()
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentDialog::SetAllReadOnly
-//
-// -----------------------------------------------------------------------------
-//
-void CIAUpdateSettingDialog::SetAllReadOnly()
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CIAUpdateSettingDialog::SaveSettingsL
-//
-// ----------------------------------------------------------------------------
-//
-void CIAUpdateSettingDialog::SaveSettingsL()
- {
- iList->StoreSettingsL(); // from CAknSettingItemList
-
- CRepository* cenrep = CRepository::NewLC( KCRUidIAUpdateSettings );
- TInt err = cenrep->StartTransaction( CRepository::EReadWriteTransaction );
- User::LeaveIfError( err );
- cenrep->CleanupCancelTransactionPushL();
-
-
- TInt num = iList->Attribute( EAccessPoint );
- if ( num == 0 )
- {
- // O means default destination. Let's save it as -1 so that we know later on
- // whether cenrep really contained the default or just nothing.
- num = -1;
- }
- err = cenrep->Set( KIAUpdateAccessPoint, num );
- User::LeaveIfError( err );
-
- num = iList->Attribute( EAutoUpdateCheck );
- err = cenrep->Set( KIAUpdateAutoUpdateCheck, num );
- User::LeaveIfError( err );
-
- TUint32 ignore = KErrNone;
- User::LeaveIfError( cenrep->CommitTransaction( ignore ) );
- CleanupStack::PopAndDestroy(); // CleanupCancelTransactionPushL()
- CleanupStack::PopAndDestroy( cenrep );
- }
-
-
-
-
-
-/******************************************************************************
- * class CIAUpdateSettingItemList
- ******************************************************************************/
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingItemList::CreateSettingItemL
-//
-// -----------------------------------------------------------------------------
-//
-CAknSettingItem* CIAUpdateSettingItemList::CreateSettingItemL( TInt aSettingId )
- {
- IAUPDATE_TRACE("[IAUPDATE] CIAUpdateSettingItemList::CreateSettingItemL begin");
- CRepository* cenrep = CRepository::NewLC( KCRUidIAUpdateSettings );
- CAknSettingItem* item = NULL;
-
- switch ( aSettingId )
- {
- case EIAUpdateSettingAccessPoint:
- {
- User::LeaveIfError( cenrep->Get( KIAUpdateAccessPoint, iAccessPoint ) );
- IAUPDATE_TRACE_1("[IAUPDATE] CIAUpdateSettingItemList::CreateSettingItemL iAccessPoint: %d", iAccessPoint);
- if ( iAccessPoint == -1 )
- {
- // -1 was just our private representation in cenrep of the default destination
- // Let's handle it as it was 0
- iAccessPoint = 0;
- }
- item = CIAUpdateAccessPointSettingItem::NewL( aSettingId, iAccessPoint );
- break;
- }
-
- case EIAUpdateSettingAutoUpdateCheck:
- {
- User::LeaveIfError( cenrep->Get( KIAUpdateAutoUpdateCheck, iAutoUpdateCheck ) );
- item = new (ELeave) CAknEnumeratedTextPopupSettingItem
- ( aSettingId, iAutoUpdateCheck );
- break;
- }
-
- default:
- {
- item = new (ELeave) CAknSettingItem( aSettingId );
- break;
- }
- }
- CleanupStack::PopAndDestroy( cenrep );
- IAUPDATE_TRACE("[IAUPDATE] CIAUpdateSettingItemList::CreateSettingItemL end");
- return item;
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingItemList::LoadSettingsL
-//
-// -----------------------------------------------------------------------------
-//
-void CIAUpdateSettingItemList::LoadSettingsL()
- {
- CAknSettingItemList::LoadSettingsL();
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingItemList::EditItemL
-//
-// -----------------------------------------------------------------------------
-//
-void CIAUpdateSettingItemList::EditItemL( TInt aIndex, TBool aCalledFromMenu )
- {
- CAknSettingItemList::EditItemL( aIndex, aCalledFromMenu );
- }
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingItemList::SetAttribute
-//
-// -----------------------------------------------------------------------------
-//
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingItemList::Attribute
-//
-// -----------------------------------------------------------------------------
-//
-TInt CIAUpdateSettingItemList::Attribute( TInt aKey )
- {
- TInt ret = KErrNotFound;
-
- switch ( aKey )
- {
- case CIAUpdateSettingDialog::EAccessPoint:
- {
- ret = iAccessPoint;
- break;
- }
- case CIAUpdateSettingDialog::EAutoUpdateCheck:
- {
- ret = iAutoUpdateCheck;
- break;
- }
- default:
- {
- IAUpdateDialogUtil::Panic( KErrNotSupported );
- break;
- }
- }
-
- return ret;
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateSettingItemList::CheckSettings
-//
-// -----------------------------------------------------------------------------
-//
-void CIAUpdateSettingItemList::CheckSettings()
- {
- if ( iAutoUpdateCheck != EIAUpdateSettingValueDisable &&
- iAutoUpdateCheck != EIAUpdateSettingValueDisableWhenRoaming &&
- iAutoUpdateCheck != EIAUpdateSettingValueEnable )
- {
- iAutoUpdateCheck = EIAUpdateSettingValueEnable;
- }
- }
-
-
-
-/******************************************************************************
- * class CIAUpdateAccessPointSettingItem
- ******************************************************************************/
-
-// -----------------------------------------------------------------------------
-// CIAUpdateAccessPointSettingItem::NewL
-//
-// -----------------------------------------------------------------------------
-//
-CIAUpdateAccessPointSettingItem* CIAUpdateAccessPointSettingItem::NewL(
- TInt aSettingId, TInt& aAccessPointId )
- {
- CIAUpdateAccessPointSettingItem* item =
- new (ELeave) CIAUpdateAccessPointSettingItem( aSettingId, aAccessPointId );
- CleanupStack::PushL(item);
- item->ConstructL();
- CleanupStack::Pop(item);
- return item;
- }
-
-// -----------------------------------------------------------------------------
-// CIAUpdateAccessPointSettingItem::CIAUpdateAccessPointSettingItem
-//
-// -----------------------------------------------------------------------------
-//
-CIAUpdateAccessPointSettingItem::CIAUpdateAccessPointSettingItem(
- TInt aSettingId, TInt& aAccessPointId )
-: CAknSettingItem( aSettingId ),
- iAccessPointId ( aAccessPointId )
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateAccessPointSettingItem::~CIAUpdateAccessPointSettingItem
-//
-// -----------------------------------------------------------------------------
-//
-CIAUpdateAccessPointSettingItem::~CIAUpdateAccessPointSettingItem()
- {
- delete iSettingText;
- delete iApHandler;
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateAccessPointSettingItem::ConstructL
-//
-// -----------------------------------------------------------------------------
-//
-void CIAUpdateAccessPointSettingItem::ConstructL()
- {
- iApHandler = CIAUpdateAccessPointHandler::NewL();
-
- if ( iAccessPointId == 0 )
- {
- iApHandler->GetDefaultConnectionLabelL( iSettingText );
- }
- else
- {
- TRAPD( err, iApHandler->GetApNameL( iAccessPointId, iSettingText ) );
- if ( err == KErrNotFound )
- { // destination stored by IAD may be removed
- iAccessPointId = 0;
- iApHandler->GetDefaultConnectionLabelL( iSettingText );
- }
- else
- {
- User::LeaveIfError( err );
- }
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateAccessPointSettingItem::EditItemL
-//
-// -----------------------------------------------------------------------------
-//
-void CIAUpdateAccessPointSettingItem::EditItemL( TBool /*aCalledFromMenu*/ )
- {
- EditAccessPointItemL();
- }
-
-
-// -----------------------------------------------------------------------------
-// CIAUpdateAccessPointSettingItem::SettingTextL
-//
-// -----------------------------------------------------------------------------
-//
-const TDesC& CIAUpdateAccessPointSettingItem::SettingTextL()
- {
- if ( !iSettingText )
- {
- return CAknSettingItem::SettingTextL();
- }
- else if ( iSettingText->Length() == 0 )
- {
- return CAknSettingItem::SettingTextL();
- }
-
- return *iSettingText;
- }
-
-
-//------------------------------------------------------------------------------
-// CIAUpdateAccessPointSettingItem::EditAccessPointItemL
-//
-//------------------------------------------------------------------------------
-//
-TBool CIAUpdateAccessPointSettingItem::EditAccessPointItemL()
- {
- TInt itemUid = iAccessPointId;
-
- TInt ret = KErrNone;
-
- delete iSettingText;
- iSettingText = NULL;
- TRAPD( err, ret = iApHandler->ShowApSelectDialogL( itemUid, iSettingText ) );
-
- if ( err != KErrNone )
- {
- iAccessPointId = KErrNotFound;
- UpdateListBoxTextL(); // from CAknSettingItem
- return EFalse;
- }
-
- if ( ret == CIAUpdateAccessPointHandler::EDialogSelect )
- {
- iAccessPointId = itemUid;
- UpdateListBoxTextL(); // from CAknSettingItem
- return ETrue;
- }
-
- return EFalse;
- }
-
-
-// End of File