diff -r 000000000000 -r 84ad3b177aa3 browserui/browser/FeedsInc/FeedsEditFolderDialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browserui/browser/FeedsInc/FeedsEditFolderDialog.h Mon Mar 30 12:49:49 2009 +0300 @@ -0,0 +1,172 @@ +/* +* 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 the License "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: Encapsulates a edit folder dialog. +* +*/ + + +#ifndef FEEDS_EDIT_FOLDER_DIALOG_H +#define FEEDS_EDIT_FOLDER_DIALOG_H + + +// INCLUDES +#include + +// CONSTANTS + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS +class CAknViewAppUi; + +// CLASS DECLARATION + + +/** +* The observer interface for the edit folder dialog. +* @lib FeedsEngine.lib +* @since 3.0 +*/ +class MFeedsEditFolderDialogObserver + { + public: + /** + * Called when a folder's name is changed -- this is called + * after IsValidFolderName is called. + * + * @since 3.0 + * @param aName The folder's new name. + * @return void. + */ + virtual void UpdateFolderL(const TDesC& aName) = 0; + + /** + * Called when a new folder is created -- this is called + * after IsValidFolderName is called. + * + * @since 3.0 + * @param aName The folder's new name. + * @return void. + */ + virtual void NewFolderL(const TDesC& aName) = 0; + + /** + * Validates the folder's updated name. + * + * @since 3.0 + * @param aName The folder's new name. + * @param aIsEditing True if the edit dialog was opened to edit a folder. + * @return ETrue if the value is valid. + */ + virtual TBool IsFolderNameValidL(const TDesC* aName, TBool aIsEditing) = 0; + }; + + +/** +* Encapsulates a edit folder dialog. +* @lib FeedsEngine.lib +* @since 3.0 +*/ +class CFeedsEditFolderDialog: public CAknForm + { + public: + /** + * Two-phased constructor. + */ + static CFeedsEditFolderDialog* NewL(MFeedsEditFolderDialogObserver& aObserver, + CAknViewAppUi* aAppUi, + const TDesC& aName); + + /** + * Two-phased constructor. + */ + static CFeedsEditFolderDialog* NewL(MFeedsEditFolderDialogObserver& aObserver, + CAknViewAppUi* aAppUi); + + /** + * Destructor. + */ + virtual ~CFeedsEditFolderDialog(); + + + public: // From CAknForm + /** + * Called to setup the options menu with the dialog is active. + * + * @since ? + * @param aResourceId The resource id of the menu. + * @param aMenuPane The menu. + * @return void. + */ + virtual void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + + /** + * Called by the framework whenver the 'Save' menu item is selected. + * + * @since ? + * @return ETrue if the form data has been saved, otherwise EFalse. + */ + virtual TBool SaveFormDataL(); + + /** + * Called by the framework before the form is initialised. + * + * @since ? + * @return void. + */ + virtual void PreLayoutDynInitL(); + + /** + * Called by the framework to process the options menu. + * + * @since ? + * @param aCommandId The command. + * @return void. + */ + virtual void ProcessCommandL(TInt aCommandId); + + + private: // New methods + /** + * C++ default constructor. + */ + CFeedsEditFolderDialog(MFeedsEditFolderDialogObserver& aObserver, + CAknViewAppUi* aAppUi, + const TDesC& aName); + + /** + * Loads the form data before the form is displayed. + * + * @since ? + * @return ETrue if the form data has been saved, otherwise EFalse. + */ + void LoadFormValuesFromDataL(); + + + private: + MFeedsEditFolderDialogObserver& iObserver; + CAknViewAppUi* iAppUi; // not owned + TBool iIsNewFolder; + TBool iExitDialog; + + const TDesC& iName; + }; + +#endif // FEEDS_EDIT_FOLDER_DIALOG_H + +// End of File \ No newline at end of file