diff -r b13cd05eeb2f -r 57b735022c18 voiceui/vcommand/src/vcsettingscontainer.cpp --- a/voiceui/vcommand/src/vcsettingscontainer.cpp Mon Jan 18 20:20:30 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,353 +0,0 @@ -/* -* Copyright (c) 2004-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: Settings container -* -*/ - - -// INCLUDE FILES -#include -#include // CAknSingleGraphicStyleListBox -#include // TResourceReader -#include // CColumnListBoxData -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include "vcapp.h" -#include "vcappui.h" -#include "vcsettingscontainer.h" -#include "vcsettingsengine.h" -#include "vcsettingsview.h" -#include "vcsettingslist.h" -#include "vcommandconstants.h" - -// ========================= MEMBER FUNCTIONS ================================= - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::CVCSettingsContainer -// C++ constructor -// ---------------------------------------------------------------------------- -// -CVCSettingsContainer::CVCSettingsContainer( CEikButtonGroupContainer& aCbaGroup ): - iCbaGroup( aCbaGroup ) - { - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::ConstructL -// Symbian OS 2nd phase constructor -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::ConstructL( const TRect& aRect ) - { - CEikStatusPane* sp = STATIC_CAST( CAknAppUi*, iCoeEnv->AppUi() )->StatusPane(); - CAknTitlePane* title = STATIC_CAST( CAknTitlePane*, - sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) ) ); - - TResourceReader rReader; - iCoeEnv->CreateResourceReaderLC( rReader, TitleResourceId() ); - title->SetFromResourceL( rReader ); - CleanupStack::PopAndDestroy(); //rReader - - CreateWindowL(); - iSettingsList = new ( ELeave ) CVCSettingsList(); - iSettingsList->SetContainerWindowL( *this ); - iSettingsList->ConstructL(); - iSettingsList->ListBox()->SetListBoxObserver( this ); - - SetRect(aRect); - ActivateL(); - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::~CVCSettingsContainer -// ---------------------------------------------------------------------------- -// -CVCSettingsContainer::~CVCSettingsContainer() - { - delete iSettingsList; - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::CountComponentControls -// From CCoeControl return the number of controls owned -// ---------------------------------------------------------------------------- -// -TInt CVCSettingsContainer::CountComponentControls() const - { - return 1; - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::ComponentControl -// From CCoeControl returns a control -// ---------------------------------------------------------------------------- -// -CCoeControl* CVCSettingsContainer::ComponentControl( TInt /*aIndex*/ ) const - { - return iSettingsList; - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::EditCurrentL -// Open setting page for currently selected setting item. -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::EditCurrentL( TBool aCalledFromMenu ) - { - TInt index = iSettingsList->ListBox()->CurrentItemIndex(); - - iSettingsList->EditItemL( index, aCalledFromMenu ); - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::ResetL -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::ResetL() - { - CAknQueryDialog* dlg = CAknQueryDialog::NewL(CAknQueryDialog::EConfirmationTone); - if ( dlg->ExecuteLD(R_VC_RESET_ADAPTATION_DIALOG) ) - { - CVCSettingsEngine* engine = CVCSettingsEngine::NewL(); - CleanupStack::PushL( engine ); - engine->ResetAdaptationL(); - CleanupStack::PopAndDestroy( engine ); // engine - } - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::SaveSettingsL -// Save all settings. -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::SaveSettingsL() - { - iSettingsList->SaveSettingsL(); - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::CurrentItemIndex -// ---------------------------------------------------------------------------- -// -TInt CVCSettingsContainer::CurrentItemIndex() const - { - return iSettingsList->ListBox()->CurrentItemIndex(); - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::ItemListSize -// ---------------------------------------------------------------------------- -// -TInt CVCSettingsContainer::ItemListSize() const - { - return iSettingsList->ListBox()->Model()->ItemTextArray()->MdcaCount(); - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::CurrentItemIndex -// ---------------------------------------------------------------------------- -// -TInt CVCSettingsContainer::CurrentItemIdentifier() const - { - CAknSettingItemArray* itemArray = iSettingsList->SettingItemArray(); - TInt itemIndex = itemArray->ItemIndexFromVisibleIndex( CurrentItemIndex() ); - CAknSettingItem* settingItem = itemArray->At( itemIndex ); - return settingItem->Identifier(); - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::OfferKeyEventL -// Key event handling -// ---------------------------------------------------------------------------- -// -TKeyResponse CVCSettingsContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent, - TEventCode aType ) - { - TKeyResponse ret = iSettingsList->OfferKeyEventL( aKeyEvent, aType ); - - // Change MSK - if( aKeyEvent.iCode == EKeyUpArrow || aKeyEvent.iCode == EKeyDownArrow ) - { - SetMiddleSoftkeyLabelL(); - } - - return ret; - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::GetHelpContext -// Gives the help context to be displayed -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::GetHelpContext( TCoeHelpContext& aContext ) const - { - aContext.iMajor = KUidHelp; - aContext.iContext = KHLP_VC_SET; - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::TitleResourceId() -// Returns profiles views status pane title . -// ---------------------------------------------------------------------------- -// -TInt CVCSettingsContainer::TitleResourceId() const - { - return R_VC_MAIN_VIEW_TITLE; - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::IsTrainingOn -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::FocusChanged(TDrawNow aDrawNow) - { - if( iSettingsList ) - { - iSettingsList->SetFocus( IsFocused(), aDrawNow ); - } - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::HandleResourceChange -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::HandleResourceChange(TInt aType) - { - if ( aType == KEikDynamicLayoutVariantSwitch ) - { - TRect mainPaneRect; - AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, - mainPaneRect); - SetRect( mainPaneRect ); - } - CCoeControl::HandleResourceChange( aType ); - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::SizeChanged -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::SizeChanged() - { - if (iSettingsList) - { - iSettingsList->SetRect(Rect()); - } - } - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::HandleControlEventL -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::HandleControlEventL( CCoeControl* /*aControl*/, - TCoeEvent /*aEventType*/) - { - } - -// --------------------------------------------------------------------------- -// CVCSettingsContainer::HandleListBoxEventL -// --------------------------------------------------------------------------- -// -void CVCSettingsContainer::HandleListBoxEventL( CEikListBox* /*aListBox*/, - TListBoxEvent aEventType ) - { - switch ( aEventType ) - { - case EEventEnterKeyPressed: - case EEventItemSingleClicked: - { - if ( CurrentItemIdentifier() == EVCResetItem ) - { - ResetL(); - } - else - { - EditCurrentL( EFalse ); - } - break; - } - - default: - break; - } - } - - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::SetMiddleSoftkeyLabelL -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::SetMiddleSoftkeyLabelL() const - { - RemoveCommandFromMSK(); - - if( CurrentItemIdentifier() == EVCResetItem ) - { - DoSetMiddleSoftKeyLabelL( R_QTN_VC_SET_MSK_RESET, EVCCmdReset ); - } - else - { - DoSetMiddleSoftKeyLabelL( R_QTN_VC_SET_MSK_CHANGE, EVCCmdChange ); - } - } - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::SetMiddleSoftKeyLabelL -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::DoSetMiddleSoftKeyLabelL( const TInt aResourceId, - const TInt aCommandId ) const - { - HBufC* mskText = StringLoader::LoadLC( aResourceId ); - TPtr mskPtr = mskText->Des(); - iCbaGroup.AddCommandToStackL( KVcMskControlID, aCommandId, mskPtr ); - CleanupStack::PopAndDestroy( mskText ); - } - -// ---------------------------------------------------------------------------- -// CVCSettingsContainer::RemoveCommandFromMSK -// ---------------------------------------------------------------------------- -// -void CVCSettingsContainer::RemoveCommandFromMSK() const - { - iCbaGroup.RemoveCommandFromStack( KVcMskControlID, EVCCmdChange ); - iCbaGroup.RemoveCommandFromStack( KVcMskControlID, EVCCmdReset ); - } - -// End of File -