diff -r 80975da52420 -r 43d09473c595 mmmw_plat/equalizer_ui_api/inc/EqualizerPresetsDialog.h --- a/mmmw_plat/equalizer_ui_api/inc/EqualizerPresetsDialog.h Mon May 03 12:59:52 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,369 +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: Declaration of EqualizerPresetsDialog class -* -*/ - - - - -#ifndef EQUALIZERPRESETSDIALOG_H -#define EQUALIZERPRESETSDIALOG_H - -// INCLUDES -#include -#include -#include -#include - -// CLASS DECLARATION -class CEqualizerPresetListArray; -class CEqualizerEditingDialog; - -/** -* This class is used to notify the client application about the activation -* of a new preset. -* -* @lib Equalizer.lib -* @since Series 60 3.0 -*/ -NONSHARABLE_CLASS(MEqualizerPresetActivationObserver) - { - public: // New functions - /** - * This member is called by the Equalizer UI when the user activates - * a new preset. - * @ since Series 60 3.0 - * @ aActivatedPreset It is KEqualizerPresetNone if the preset "None" - * is active. Otherwise, it is the value of - * TEfAudioEqualizerUtilityPreset::iPresetNameKey for the entry - * whose TEfAudioEqualizerUtilityPreset::iPresetName matches the - * activated preset name, in the array retrieved using - * CAudioEqualizerUtility::Presets(). - */ - virtual void HandlePresetActivation (TInt aActivatedPreset) = 0; - }; - -/** -* This class is used to display the preset list view of the Equalizer. -* -* @lib Equalizer.lib -* @since Series 60 3.0 -*/ -class CEqualizerPresetsDialog : public CAknDialog -#ifdef RD_SCALABLE_UI_V2 - , public MEikListBoxObserver -#endif //RD_SCALABLE_UI_V2 - { - public: //Constructors and Destructors - /** - * This function is called to create an object of - * type CEqualizerPresetsDialog - Two phase Construction - * @since 3.0 - * @param aAudEqUtility a reference to CAudioEqualizerUtility - * @param aCurrentActivePreset It is KEqualizerPresetNone if the preset - * "None" is active. Otherwise, it is the value of - * TEfAudioEqualizerUtilityPreset::iPresetNameKey for the entry - * whose TEfAudioEqualizerUtilityPreset::iPresetName matches the - * activated preset name, in the array retrieved using - * CAudioEqualizerUtility::Presets(). - * @param aEqualizerPresetActivationObserver a reference to an object - * of type MEqualizerPresetActivationObserver - */ - IMPORT_C static CEqualizerPresetsDialog* NewL( - CAudioEqualizerUtility* aAudEqUtility, - TInt aCurrentActivePreset, - MEqualizerPresetActivationObserver& aEqrPresetActObserver); - - /** - * Destructor - * @since 3.0 - */ - virtual ~CEqualizerPresetsDialog(); - private: //New functions - /** - * Second Phase Constructor - * @since 3.0 - * @param aCurrentActivePreset the index into the preset array retrieved - * with the method CAudioEqualizerUtility::Presets()if a preset other - * than "None" is active. It is KEqualizerPresetNone if the preset - * "None" is active. - */ - void ConstructL(const TInt aCurrentActivePreset); - /** - * This function is called to create an object of - * type CEqualizerPresetsDialog - First Phase Constructor - * @since 3.0 - * @param aAudEqUtility a reference to CAudioEqualizerUtility - * @param aEqualizerPresetActivationObserver a reference to an object - * of type MEqualizerPresetActivationObserver - */ - CEqualizerPresetsDialog ( - CAudioEqualizerUtility* aAudEqUtility, - MEqualizerPresetActivationObserver& aEqrPresetActObserver); - - /** - * This function is called to get a free preset name - * @since 3.0 - * @param aName Used to reurn a free preset name - */ - void BuildPresetNameL( TDes& aName) const; - - /** - * This function returns the highlighted Preset in ListBox - * @since 3.0 - * @return Highlighted Preset e.g. "None" - */ - TPresetName GetHighlightedPresetInListBox() const; - /** - * This function is called to find the index of a preset in the list - * of presets returned by CAudioEqualizerUtility::Presets() - * @since 3.0 - * @param aPreset The preset focussed in ListBox - * @return index of the highlighted preset in the ListBox in the - * list of presets returned by CAudioEqualizerUtility::Presets() - */ - TInt GetEngineIndexL(const TPresetName& aPreset) const; - /** - * This function is used for the activation of a preset - * @since 3.0 - * @param aIndex The index of the preset in the ListBox - * @param aPresetName The name of the preset - */ - void ActivateEqrPresetL(const TInt aIndex, const TDesC& aPreset); - /** - * This function is used for the editing of a preset - * @since 3.0 - * @param aIndex The index of the preset in the ListBox - * @param aPresetName The name of the preset - */ - void EditEqrPresetL(const TInt aIndex, const TDesC& aPreset); - /** - * This function is used for the creation of a new preset - * @since 3.0 - * @param aIndex The index of the preset in the ListBox. This is set - * to a the index in the ListBox if preset creation is successful. - * If the creation is unscuccessful, then the parameter is not changed. - * @param aPreset The name of the preset created - */ - void CreateNewEqrPresetL(TInt& aIndex, TPresetName& aPreset) const; - - /** - * This function is used for the renaming of a preset - * @since 3.0 - * @param aIndex The index of the preset in the ListBox - * @param aPresetName The name of the preset - */ - void RenameEqrPresetL(const TInt aIndex, const TDesC& aPreset); - - /** - * This function is used for the deletion of a preset - * @since 3.0 - * @param aIndex The index of the preset in the ListBox - * @param aPresetName The name of the preset - */ - void DeleteEqrPresetL(const TInt aIndex, const TDesC& aPreset); - - /** - * This function is used to display a dialog to query the user - * for a new name. It is used while creating a new preset or - * renaming an existing preset. - * @since 3.0 - * @param aResourceId The resource id to use for the dialog - * @param aPresetName - * @return ETrue if the user did not cancel the dialog box - * EFalse otherwise - */ - TBool GetNewNameL(const TInt aResourceId, TDes& aPresetName) const; - - /** - * This function is used to load the ListBox icons in an array - * @since 3.0 - * @returns array of ListBox icons - */ - CArrayPtr* GetListBoxIconsL() const; - - /** - * This function is used to inform the client application about the - * currently active preset - * engine - * @since 3.0 - */ - void SetCurrentPreset(const TPresetName& aPreset); - - /** - * This function is used to rturn the currently active preset - * engine - * @since 3.0 - */ - TPresetName CurrentPreset() const; - - /** - * This function is used to search for a preset name in the ListBox - * @since 3.0 - * @param aPreset The preset name to search for - * @return It returns the index of the preset, if found and - * KErrNotFound if not found. - */ - TInt SearchPresetL(const TPresetName& aPreset) const; - - /** - * This function is used to display a dialog to the user for - * editing a particular preset. - * @since 3.0 - * @param aAudEqUtility pointer to CAudioEqualizerUtility - * @param aIndex the index of the preset in the array of presets - * @param aIsActive whether the preset is active or not? - * returned by CAudioEqualizerUtility::Presets() - */ - void DisplaySettingsL(CAudioEqualizerUtility* aAudEqUtility, - const TInt aIndex, const TBool aIsActive); - - /** - * This function is used to display a note to the user if - * memory is below critical level when creating a new preset. - * @since 3.1 - */ - void ShowDiskFullNoteL() const; - - public: - /** - * This function is used to execute the Dialog. - * @since 3.0 - * @returns return value of CAknDialog::ExecuteLD() - */ - IMPORT_C TInt ExecuteLD(); - - /** - * This function is used to set new values for CAudioEqualizerUtility* - * @since 3.0 - * @param aAudEqUtility New pointer to CAudioEqualizerUtility - */ - IMPORT_C void SetAudioEqualizerL(CAudioEqualizerUtility* aAudEqUtility); - - private: //Functions from base classes - - /** - * From CAknDialog - * This function responds to the size changes to sets the - * size and position of the - * contents of this control. - */ - void SizeChanged(); - - /** - * From CAknDialog - * Handles changes to the application - * when it switches to or from the foreground. - */ - void HandleForegroundEventL( TBool aForeground); - - /** - * From CAknDialog - * Responds to a change in focus. - * This is called whenever the control gains or loses focus - */ - void FocusChanged(TDrawNow aDrawNow); - - /** - * From CCoeControl - * This function is called when there is a Skin change event - * or layout change event - */ - void HandleResourceChangeL(TInt aType); - - /** - * This function is called when there is a Skin change event - * or layout change event, it calls HandleResourceChangeL() - */ - void HandleResourceChange(TInt aType); - - /** - * From CAknDialog Called when a key event happens. - */ - TKeyResponse OfferKeyEventL(const TKeyEvent& aKeyEvent, - TEventCode aType ); - /** - * From CAknDialog Called just before the dialog is displayed. - */ - void PreLayoutDynInitL(void); - /** - * From CAknDialog Called to process a user's menu command. - */ - void ProcessCommandL(TInt aCommandId); - /** - * From CAknDialog Called just before the menu pane is displayed - */ - void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); - /** - * From CAknDialog Called when OK key is pressed - */ - TBool OkToExitL(TInt aButtonId); - - /** - * Get help context for the control. - * @param aContext The context that is filled in. - * @return None. - */ - void GetHelpContext( TCoeHelpContext& aContext ) const; - -#ifdef RD_SCALABLE_UI_V2 - /** - * From MEikListBoxObserver - * Handles listbox events. - * @param aListBox Listbox where the event occurred. - * @param aEventType Event type. - * - */ - void HandleListBoxEventL( CEikListBox* aListBox, - TListBoxEvent aEventType ); -#endif //RD_SCALABLE_UI_V2 - - private: - // Used to store whether the "OK" key has been pressed or not - // and accordingly invoke appropriate code in DynInitMenuPaneL(). - // It is set to ETrue in OkToExitL() when the key pressed is "OK" - // and set to EFalse in DynInitMenuPaneL() after the "Context - // Sensitive" menu handling has been done. - TBool iContextSensitiveMenu; - // Used to store the offset of the resource file - TInt iResourceFileOffset; - // The ListBox control - CAknSingleGraphicStyleListBox* iListBox; - // Name of currently active preset - TPresetName iActivePreset; - // Application title text - HBufC* iAppTitleText; - // Preset "None" Text - HBufC* iPresetNoneText; - // Equalizer's title text - HBufC* iTitleText; - // Used to store a pointer to CAudioEqualizerUtility - CAudioEqualizerUtility* iAudEqUtility; - // Used to store a reference to the observer class - MEqualizerPresetActivationObserver& iEqrPresetActObserver; - // ListBox Item Array - CEqualizerPresetListArray* iItemArray; - // Ignore Key events between track changes - TBool iIgnoreKeyEvents; - //Editing dialog - CEqualizerEditingDialog *iEditingDialog; - CRepository* iRepository; - // Status pane layout before launching this dialog - TInt iPreviousStatusPaneLayout; - }; - -#endif // EQUALIZERPRESETSDIALOG_H - -// End of File