--- a/omads/omadsappui/AspSyncUtil/src/AspContentListDialog.cpp Tue Feb 02 00:02:49 2010 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,493 +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:
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "AspContentListDialog.h"
-#include "AspContentDialog.h"
-#include "AspDialogUtil.h"
-#include "AspSyncUtil.rh" // for menu command ids
-#include "AspUtil.h"
-#include "AspDebug.h"
-#include "AspDefines.h"
-#include "AspResHandler.h"
-#include <csxhelp/ds.hlp.hrh>
-
-
-#include <AspSyncUtil.mbg> // for bitmap enumerations
-#include <akniconarray.h> // GulArray
-#include <FeatMgr.h> // FeatureManager
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::ShowDialogL
-//
-// -----------------------------------------------------------------------------
-//
-TBool CAspContentListDialog::ShowDialogL(const TAspParam& aParam)
- {
- CAspContentListDialog* dialog = CAspContentListDialog::NewL(aParam);
-
- TBool ret = dialog->ExecuteLD(R_ASP_CONTENT_LIST_DIALOG);
-
- return ret;
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::NewL
-//
-// -----------------------------------------------------------------------------
-//
-CAspContentListDialog* CAspContentListDialog::NewL(const TAspParam& aParam)
- {
- FLOG( _L("CAspContentListDialog::NewL START") );
-
- CAspContentListDialog* self = new (ELeave) CAspContentListDialog(aParam);
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
-
- FLOG( _L("CAspContentListDialog::NewL END") );
- return(self);
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::CAspContentListDialog
-//
-// -----------------------------------------------------------------------------
-CAspContentListDialog::CAspContentListDialog(const TAspParam& aParam)
- {
- iApplicationId = aParam.iApplicationId;
- iProfile = aParam.iProfile;
- iSyncSession = aParam.iSyncSession;
-
- __ASSERT_ALWAYS(iProfile, TUtil::Panic(KErrGeneral));
- __ASSERT_ALWAYS(iSyncSession, TUtil::Panic(KErrGeneral));
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::ConstructL
-//
-// -----------------------------------------------------------------------------
-void CAspContentListDialog::ConstructL()
- {
- FLOG( _L("CAspContentListDialog::ConstructL START" ) );
-
- // contruct menu for our dialog
- CAknDialog::ConstructL(R_ASP_CONTENT_LIST_DIALOG_MENU);
-
- // get previous title so it can be restored
- iStatusPaneHandler = CStatusPaneHandler::NewL(iAvkonAppUi);
- iStatusPaneHandler->StoreOriginalTitleL();
-
-
- TAspParam param(iApplicationId, iSyncSession);
- param.iProfile = iProfile;
- param.iMode = CAspContentList::EInitAll;
-
- iContentList = CAspContentList::NewL(param);
-
- iStatusPaneHandler->SetTitleL(R_ASP_CONTENT_LIST_DIALOG_TITLE);
-
- FLOG( _L("CAspContentListDialog::ConstructL END") );
- }
-
-
-// -----------------------------------------------------------------------------
-// Destructor
-//
-// -----------------------------------------------------------------------------
-CAspContentListDialog::~CAspContentListDialog()
- {
- FLOG( _L("CAspContentListDialog::~CAspContentListDialog START") );
-
- if (iAvkonAppUi)
- {
- iAvkonAppUi->RemoveFromStack(this);
- }
-
- delete iStatusPaneHandler;
- delete iContentList;
-
- FLOG( _L("CAspContentListDialog::~CAspContentListDialog END") );
- }
-
-
-//------------------------------------------------------------------------------
-// CAspContentListDialog::ActivateL (from CCoeControl)
-//
-// Called by system when dialog is activated.
-//------------------------------------------------------------------------------
-//
-void CAspContentListDialog::ActivateL()
- {
- CAknDialog::ActivateL();
-
- // this cannot be in ConstructL which is executed before dialog is launched
- iAvkonAppUi->AddToStackL(this);
- }
-
-
-//------------------------------------------------------------------------------
-// CAspContentListDialog::GetHelpContext
-//
-//------------------------------------------------------------------------------
-//
-void CAspContentListDialog::GetHelpContext(TCoeHelpContext& aContext) const
- {
- aContext.iMajor = KUidSmlSyncApp;
- //aContext.iContext = KDS_HLP_APPS_VIEW;
- }
-
-
-//------------------------------------------------------------------------------
-// CAspContentListDialog::ProcessCommandL
-//
-// Handle commands from menu.
-//------------------------------------------------------------------------------
-//
-void CAspContentListDialog::ProcessCommandL(TInt aCommandId)
- {
- HideMenu();
-
- switch (aCommandId)
- {
- case EAspMenuCmdEdit:
- {
- ShowContentL();
- break;
- }
-
- case EAspMenuCmdHelp:
- {
- TUtil::LaunchHelpAppL(iEikonEnv);
- break;
- }
-
- case EAspMenuCmdExit:
- case EAknCmdExit:
- case EEikCmdExit:
- {
- // close dialog and exit calling application
- iAvkonAppUi->ProcessCommandL(EAknCmdExit);
- break;
- }
-
- default:
- {
- break;
- }
- }
- }
-
-
-//------------------------------------------------------------------------------
-// CAspContentListDialog::OkToExitL
-//
-//------------------------------------------------------------------------------
-//
-TBool CAspContentListDialog::OkToExitL(TInt aButtonId)
- {
- if (aButtonId == EEikBidCancel)
- {
- // exit going on - must return true.
- return ETrue;
- }
-
- if (aButtonId == EAknSoftkeyBack)
- {
- return ETrue;
- }
-
- return CAknDialog::OkToExitL(aButtonId);
- }
-
-
-// ----------------------------------------------------------------------------
-// CAspContentListDialog::OfferKeyEventL
-//
-// ----------------------------------------------------------------------------
-//
-TKeyResponse CAspContentListDialog::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
- {
- if (aType == EEventKey)
- {
- switch (aKeyEvent.iCode)
- {
- case EKeyOK:
- {
- ShowContentL();
- return EKeyWasConsumed;
- }
-
- case EKeyEscape: // framework calls this when dialog must shut down
- {
- return CAknDialog::OfferKeyEventL(aKeyEvent, aType);
- }
-
- default:
- {
- break;
- }
- }
- }
-
- return CAknDialog::OfferKeyEventL( aKeyEvent, aType);
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::PreLayoutDynInitL
-//
-// Called by framework before dialog is shown.
-// -----------------------------------------------------------------------------
-//
-void CAspContentListDialog::PreLayoutDynInitL()
- {
- iSettingListBox = (CAknDoubleLargeStyleListBox*) ControlOrNull (EAspContentListDialogList);
-
- __ASSERT_ALWAYS(iSettingListBox, TUtil::Panic(KErrGeneral));
-
- iSettingListBox->SetListBoxObserver(this);
- iSettingListBox->CreateScrollBarFrameL(ETrue);
- iSettingListBox->ScrollBarFrame()->SetScrollBarVisibilityL( CEikScrollBarFrame::EOff, CEikScrollBarFrame::EAuto );
-
- TFileName bitmapName;
- CAspResHandler::GetBitmapFileName(bitmapName);
-
- CArrayPtr<CGulIcon>* icons = new (ELeave) CAknIconArray(KDefaultArraySize);
- CleanupStack::PushL(icons);
-
- // NOTE: icons must be appended in correct order (TAspContentListDialogIconIndex)
- icons->AppendL(IconL(KAknsIIDQgnPropSmlSyncServer, bitmapName, EMbmAspsyncutilQgn_prop_sml_sync_server, EMbmAspsyncutilQgn_prop_sml_sync_server_mask));
- icons->AppendL(IconL(KAknsIIDQgnPropSmlSyncToServer, bitmapName, EMbmAspsyncutilQgn_prop_sml_sync_to_server, EMbmAspsyncutilQgn_prop_sml_sync_to_server_mask));
- icons->AppendL(IconL(KAknsIIDQgnPropSmlSyncFromServer, bitmapName, EMbmAspsyncutilQgn_prop_sml_sync_from_server, EMbmAspsyncutilQgn_prop_sml_sync_from_server_mask));
- icons->AppendL(IconL(KAknsIIDQgnPropSmlSyncOff, bitmapName, EMbmAspsyncutilQgn_prop_sml_sync_off, EMbmAspsyncutilQgn_prop_sml_sync_off_mask));
-
- iSettingListBox->ItemDrawer()->FormattedCellData()->SetIconArrayL(icons);
- CleanupStack::Pop(icons);
-
- UpdateListBoxL();
-
- iSettingListBox->UpdateScrollBarsL();
- iSettingListBox->ScrollBarFrame()->MoveVertThumbTo(0);
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::IconL
-//
-// -----------------------------------------------------------------------------
-//
-CGulIcon* CAspContentListDialog::IconL(TAknsItemID aId, const TDesC& aFileName, TInt aFileIndex, TInt aFileMaskIndex)
- {
- return TDialogUtil::CreateIconL(aId, aFileName, aFileIndex, aFileMaskIndex);
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::DynInitMenuPaneL
-//
-// Called by framework before menu is shown.
-// -----------------------------------------------------------------------------
-//
-void CAspContentListDialog::DynInitMenuPaneL(TInt aResourceID, CEikMenuPane* /*aMenuPane*/)
- {
- if (aResourceID != R_ASP_CONTENT_LIST_DIALOG_MENU_PANE)
- {
- return;
- }
-
- if (!FeatureManager::FeatureSupported(KFeatureIdHelp))
- {
- TDialogUtil::DeleteMenuItem(aMenuPane, EAspMenuCmdHelp);
- }
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::HandleListBoxEventL (from MEikListBoxObserver)
-//
-// -----------------------------------------------------------------------------
-//
-void CAspContentListDialog::HandleListBoxEventL(CEikListBox* /*aListBox*/, TListBoxEvent /*aEventType*/)
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CAspContentListDialog::HandleResourceChange
-//
-// ----------------------------------------------------------------------------
-//
-void CAspContentListDialog::HandleResourceChange(TInt aType)
- {
- if (aType == KEikDynamicLayoutVariantSwitch) //Handle change in layout orientation
- {
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EMainPane, mainPaneRect);
- SetRect(mainPaneRect);
- iSettingListBox->SetSize(mainPaneRect.Size());
- CCoeControl::HandleResourceChange(aType);
- DrawDeferred();
- return;
- }
-
- CCoeControl::HandleResourceChange(aType);
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::UpdateListBoxL
-//
-// -----------------------------------------------------------------------------
-//
-void CAspContentListDialog::UpdateListBoxL()
- {
- TInt iconIndex = EIconNotDefined;
-
- CAknDoubleLargeStyleListBox* listBox = ListBox();
- CDesCArray* items = (CDesCArray*) listBox->Model()->ItemTextArray();
- items->Reset();
- listBox->ItemDrawer()->ClearAllPropertiesL();
-
- TInt count = iContentList->ProviderCount();
-
- for (TInt i=0; i<count; i++)
- {
- HBufC* firstLine = NULL;
- HBufC* secondLine = NULL;
-
- iconIndex = EIconNotDefined;
- TAspProviderItem& providerItem = iContentList->ProviderItem(i);
-
- firstLine = CAspResHandler::GetContentNameLC(providerItem.iDataProviderId, providerItem.iDisplayName);
-
- TInt index = iContentList->FindTaskIndexForProvider(providerItem.iDataProviderId);
-
- if (index != KErrNotFound)
- {
- TAspTaskItem& task = iContentList->TaskItem(index);
- TInt status = iContentList->CheckMandatoryTaskDataL(task.iTaskId);
- if (status == EMandatoryOk)
- {
- secondLine = CAspResHandler::ReadLC(R_ASP_DEFINED);
- if (task.iSyncDirection == ESyncDirectionTwoWay)
- {
- iconIndex = EIconBothDirections;
- }
- if (task.iSyncDirection == ESyncDirectionOneWayFromDevice)
- {
- iconIndex = EIconDeviceToServer;
- }
- if (task.iSyncDirection == ESyncDirectionOneWayIntoDevice)
- {
- iconIndex = EIconServerToDevice;
- }
- }
- else
- {
- secondLine = CAspResHandler::ReadLC(R_ASP_NOT_DEFINED);
- }
- }
- else
- {
- secondLine = CAspResHandler::ReadLC(R_ASP_NOT_DEFINED);
- }
-
- TPtr ptr1 = firstLine->Des();
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion(ptr1);
- TPtr ptr2 = secondLine->Des();
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion(ptr2);
-
- HBufC* hBuf = NULL;
- hBuf = TDialogUtil::ConstructListBoxItemLC(firstLine->Des(), secondLine->Des(), iconIndex);
-
- items->AppendL(hBuf->Des());
-
- CleanupStack::PopAndDestroy(hBuf);
- CleanupStack::PopAndDestroy(secondLine);
- CleanupStack::PopAndDestroy(firstLine);
- }
-
- listBox->HandleItemAdditionL();
-
- if (listBox->Model()->NumberOfItems() == 0)
- {
- User::Leave(KErrNotFound);
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::ShowContentL
-//
-// -----------------------------------------------------------------------------
-//
-void CAspContentListDialog::ShowContentL()
- {
- TAspParam param(iApplicationId, iSyncSession);
- param.iProfile = iProfile;
- param.iDataProviderId = SelectedProvider().iDataProviderId;
- param.iSyncTaskId = KErrNotFound;
-
- CAspContentDialog::ShowDialogL(param);
-
- iContentList->InitAllTasksL();
-
- UpdateListBoxL();
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::ListBox
-//
-// -----------------------------------------------------------------------------
-//
-CAknDoubleLargeStyleListBox* CAspContentListDialog::ListBox()
- {
- __ASSERT_DEBUG(iSettingListBox, TUtil::Panic(KErrGeneral));
-
- return iSettingListBox;
- }
-
-
-// -----------------------------------------------------------------------------
-// CAspContentListDialog::SelectedProvider
-//
-// -----------------------------------------------------------------------------
-//
-TAspProviderItem& CAspContentListDialog::SelectedProvider()
- {
- TInt index = ListBox()->CurrentItemIndex();
-
- return iContentList->ProviderItem(index);
- }
-
-
-
-// End of File