diff -r 8ce15fced3a6 -r cad71a31b7fc voiceui/pbkinfoviewimpl/src/pbkinfoviewdialogutil.cpp --- a/voiceui/pbkinfoviewimpl/src/pbkinfoviewdialogutil.cpp Thu Aug 19 09:56:14 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,295 +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: Utility class for info view dialog. -* -*/ - - -// INCLUDE FILES - -#include "pbkinfoviewdialogutil.h" -#include "pbkinfoviewutil.h" -#include "pbkinfoviewdefines.h" - -#include // CAknTitlePane -#include // CAknTitlePane -#include // CAknInformationNote -#include // CEikMenuPane -#include // CAknSingleHeadingPopupMenuStyleListBox - -#include - -#include "rubydebug.h" - - -// ============================ MEMBER FUNCTIONS =============================== - - -/******************************************************************************* - * class TDialogUtil - *******************************************************************************/ - -// ----------------------------------------------------------------------------- -// TDialogUtil::ConstructListBoxItemL -// @param aID Item ID of the masked bitmap to be created. -// @param aFilename Filename to be used to construct the item, -// @param aFileBitmapId Id (for bitmap) in the file. -// @param aFileMaskId Id (for mask) in the file. -// @return CGulIcon* Pointer to the newly created CGulIcon object. -// Ownership of the object is transferred to the caller. -// ----------------------------------------------------------------------------- -// -HBufC* TDialogUtil::ConstructListBoxItemLC( const TDesC& aFirstLine, - const TDesC& aSecondLine, - TInt aIndex1 ) - { - _LIT( KFormat, "%d\t%S\t%S" ); - - TInt len = aFirstLine.Length() + aSecondLine.Length() + KBufSize16; - - HBufC* hBuf = HBufC::NewLC( len ); - TPtr ptr = hBuf->Des(); - - ptr.Format( KFormat , aIndex1, &aFirstLine, &aSecondLine ); - - return hBuf; - } - -// ----------------------------------------------------------------------------- -// TDialogUtil::CreateIconL -// -// Constructs an independent CGulIcon object with fallback support. -// If no matching item (aId) is found in the currently active skin, -// attempts to construct the item using the given file (last 3 parameters). -// @param aID Item ID of the masked bitmap to be created. -// @param aFilename Filename to be used to construct the item, -// @param aFileBitmapId Id (for bitmap) in the file. -// @param aFileMaskId Id (for mask) in the file. -// @return CGulIcon* Pointer to the newly created CGulIcon object. -// Ownership of the object is transferred to the caller. -// ----------------------------------------------------------------------------- -// -CGulIcon* TDialogUtil::CreateIconL( TAknsItemID aId, const TDesC& aFileName, TInt aFileBitmapId, TInt aFileMaskId ) - { - CGulIcon* icon = AknsUtils::CreateGulIconL( AknsUtils::SkinInstance(), aId, aFileName, aFileBitmapId, aFileMaskId); - return icon; - } - -/******************************************************************************* - * class CStatusPaneHandler - *******************************************************************************/ - -// ----------------------------------------------------------------------------- -// CStatusPaneHandler::NewLC -// -// Two-phased constructor. -// ----------------------------------------------------------------------------- -// -CStatusPaneHandler* CStatusPaneHandler::NewL(CAknAppUi* aAppUi) - { - CStatusPaneHandler* self = new (ELeave) CStatusPaneHandler(aAppUi); - CleanupStack::PushL(self); - self->ConstructL(); - CleanupStack::Pop(self); - return self; - } - -// ----------------------------------------------------------------------------- -// Destructor -// -// ----------------------------------------------------------------------------- -// -CStatusPaneHandler::~CStatusPaneHandler() - { - TInt error( KErrNone ); - - TRAP( error, RestorePreviousTitleL() ); - if ( error != KErrNone ) - { - RUBY_DEBUG1( "RestoreOriginalTitleL() error: %d", error ); - } - - TRAP( error, RestoreOriginalImageL() ); - if ( error != KErrNone ) - { - RUBY_DEBUG1( "RestoreOriginalImageL() error: %d", error ); - } - } - -// ----------------------------------------------------------------------------- -// CStatusPaneHandler::ConstructL -// -// Symbian 2nd phase constructor can leave. -// ----------------------------------------------------------------------------- -// -void CStatusPaneHandler::ConstructL(void) - { - } - -// ----------------------------------------------------------------------------- -// CStatusPaneHandler::CStatusPaneHandler -// -// ----------------------------------------------------------------------------- -// -CStatusPaneHandler::CStatusPaneHandler( CAknAppUi* aAppUi ) : iAppUi( aAppUi ) - { - __ASSERT_ALWAYS( iAppUi, TPbkInfoViewUtil::Panic( KErrGeneral ) ); - - iOriginalTitleStored = EFalse; - iOriginalTitle = KNullDesC; - } - -// ---------------------------------------------------------------------------- -// CStatusPaneHandler::GetPreviousTitleL -// Gets the title from previous view. -// @param aAppUi Pointer to UI class. -// @param aText Title will be put to this variable. -// @return TBool ETrue: success / EFalse: failure. -// ---------------------------------------------------------------------------- -// -TBool CStatusPaneHandler::GetPreviousTitleL( CAknAppUi* aAppUi, TDes& aTitle ) - { - aTitle = KNullDesC; - - CEikStatusPane* statusPane = aAppUi->StatusPane(); - if ( statusPane && - statusPane->PaneCapabilities - ( TUid::Uid( EEikStatusPaneUidTitle) ).IsPresent() ) - { - CAknTitlePane* titlePane = static_cast - (statusPane->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) ); - if ( titlePane->Text() ) - { - TPbkInfoViewUtil::StrCopy( aTitle, *titlePane->Text() ); - return ETrue; - } - } - return EFalse; - } - -// ---------------------------------------------------------------------------- -// CStatusPaneHandler::SetTitleL -// Sets the dialog title. -// @param aAppUi Pointer to the UI class. -// @param aText Title text. -// ---------------------------------------------------------------------------- -// -void CStatusPaneHandler::SetTitleL( CAknAppUi* aAppUi, const TDesC& aTitle ) - { - CEikStatusPane* statusPane = aAppUi->StatusPane(); - if ( statusPane && - statusPane->PaneCapabilities - (TUid::Uid(EEikStatusPaneUidTitle)).IsPresent()) - { - CAknTitlePane* titlePane = static_cast - (statusPane->ControlL(TUid::Uid(EEikStatusPaneUidTitle))); - if ( titlePane->Text() ) - { - titlePane->SetTextL(aTitle); - } - } - } - -// ---------------------------------------------------------------------------- -// CStatusPaneHandler::StoreOriginalTitleL -// Sets the member variable for previous title. -// ---------------------------------------------------------------------------- -// -void CStatusPaneHandler::StoreOriginalTitleL() - { - TBool ret = GetPreviousTitleL( iAppUi, iOriginalTitle ); - - if ( ret ) - { - iOriginalTitleStored = ETrue; - } - } - -// ---------------------------------------------------------------------------- -// CStatusPaneHandler::RestorePreviousTitleL -// Restores previous title when returning to previous view. -// ---------------------------------------------------------------------------- -// -void CStatusPaneHandler::RestorePreviousTitleL() - { - if ( iOriginalTitleStored ) - { - SetTitleL( iAppUi, iOriginalTitle ); - } - } - -// ---------------------------------------------------------------------------- -// CStatusPaneHandler::SetTitleL -// Sets the dialog title. -// @param aResourceId Resource id from resource file. -// ---------------------------------------------------------------------------- -// -void CStatusPaneHandler::SetTitleL( TInt aResourceId ) - { - // Get title from resource file - HBufC* dialogTitle = StringLoader::LoadLC( aResourceId ); - - SetTitleL( iAppUi, dialogTitle->Des() ); - CleanupStack::PopAndDestroy( dialogTitle ); - } - -// ---------------------------------------------------------------------------- -// CStatusPaneHandler::RestoreOriginalImageL -// Restores previous image when returning to previous view. -// ---------------------------------------------------------------------------- -// -void CStatusPaneHandler::RestoreOriginalImageL() - { - if (!iOriginalImage) - { - return; // image has not been replaced - } - - CEikImage* image = NULL; - TRAPD(err, image = SetImageL( iAppUi, iOriginalImage ) ); - - if (err == KErrNone && image) - { - delete image; // delete our own image - } - else - { - delete iOriginalImage; // delete original image (could not restore it) - iOriginalImage = NULL; - } - } - -// ---------------------------------------------------------------------------- -// CStatusPaneHandler::SetImageL -// Sets dialog image. -// ---------------------------------------------------------------------------- -// -CEikImage* CStatusPaneHandler::SetImageL( CAknAppUi* aAppUi, CEikImage* aIcon ) - { - CEikStatusPane* statusPane = aAppUi->StatusPane(); - if ( statusPane && statusPane->PaneCapabilities - (TUid::Uid(EEikStatusPaneUidContext)).IsPresent() ) - { - CAknContextPane* contextPane = static_cast - ( statusPane->ControlL( TUid::Uid( EEikStatusPaneUidContext ) ) ); - if ( contextPane ) - { - return contextPane->SwapPicture( aIcon ); - } - } - - return NULL; - } - -// End of File