browserui/browser/FavouritesInc/BrowserBookmarksView.h
branchRCL_3
changeset 47 6385c4c93049
parent 46 4baee4f15982
child 48 8e6fa1719340
--- a/browserui/browser/FavouritesInc/BrowserBookmarksView.h	Thu Aug 19 09:57:56 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,576 +0,0 @@
-/*
-* Copyright (c) 2002-2008 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: 
-*      Declaration of class CBrowserBookmarksView.
-*      
-*
-*/
-
-
-#ifndef BROWSER_BOOKMARKS_VIEW_H
-#define BROWSER_BOOKMARKS_VIEW_H
-
-// INCLUDE FILES
-#include "BrowserFavouritesView.h"
-#include "BrowserBookmarksGotoPane.h"
-#include "Preferences.h"
-#include <apchangeobserver.h>
-#include <brctlinterface.h>
-#include <AknToolbarObserver.h>
-
-
-// CONSTANTS
-
-//FORWARD DECLARATION
-
-class CBrowserBookmarksContainer;
-class CRecentUrlStore;
-class CAsyncDownloadsListExecuter;
-
-// CLASS DECLARATION
-
-/**
-* Bookmarks View of the WML browser. Derived from CBrowserFavouritesView;
-* new methods mostly process Bookmark View specific commands.
-*/
-class CBrowserBookmarksView:
-                            public CBrowserFavouritesView, 
-                            public MBookmarksGotoPaneObserver,
-                            public MApChangeObserver,
-                            public MPreferencesObserver,
-                            public MBrCtlLoadEventObserver,
-                            public MAknToolbarObserver
-	{
-	public:     // construction
-
-        /**
-        * Two-phased constructor. Leaves on failure.
-        * @param aApiProvider The API provider.
-        * @return The constructed view.
-        */
-        static CBrowserBookmarksView* NewLC( MApiProvider& aApiProvider,  CRecentUrlStore& aRecentUrlStore, TInt aInitialFolderUid = KFavouritesRootUid);
-
-        /**
-        * Destructor.
-        */
-        virtual ~CBrowserBookmarksView();
-
-    public:     // new methods
-
-        /**
-        * Force updating the Goto Pane. Does nothing if Goto Pane is not
-        * visible.
-		* @since 1.2
-        */
-        void UpdateGotoPaneL();
-        
-        /**
-        * Exits Adaptive Bookmarks folder. Called also from BrowserAppUi when a page is
-        * downloaded from Adaptive Bookmarks.
-		* @since 2.1
-        */
-        void ExitAdaptiveBookmarks();
-
-        /**
-        * Opens Adaptive Bookmarks folder.
-		* @since 3.1
-        */
-        inline void OpenAdaptiveBookmarksWhenActivated( )
-        	{ iOpenAdaptiveBookmarksWhenActivated = ETrue; }
-
-        /**
-        * Gets the status of selection of the adaptive bookmarks folder.
-		* @since 3.1
-        */
-        inline TBool GetAdaptiveBookmarksFolderSelected( )
-        	{ return iAdaptiveBookmarksFolderSelected; }
-
-        inline TBool GetAdaptiveBookmarksFolderWasActive( )
-        	{ return iAdaptiveBookmarksFolderWasActive; }
-        	
-        void DimToolbarButtons(TBool aDimButtons);
-
-	public:     // public methods from CBrowserFavouritesView
-
-        /**
-        * Handle command.
-		* @since 1.2
-        * @param aCommand Command id.
-        */
-		void HandleCommandL( TInt aCommand );
-
-        /**
-        * Get view id.
-		* @since 1.2
-        * @return The view id for this view.
-        */
-		TUid Id() const;
-
-	public:     // From MCbaSetter (CBrowserViewBase)
-        
-        /**
-        * Return command set id, to be displayed.
-		* @since 1.2
-        * @return The command set's resource id.
-        */
-        virtual TInt CommandSetResourceIdL();
-        
-		/**
-		* Set command set lsk,rsk,msk dynamically via pointers.
-		* Derived classes should implement, though it can be empty.
-		* If it does nothing, empty softkeys will be assigned
-		* @since 5.0
-		*/
-		void CommandSetResourceDynL(TSKPair& /*lsk*/, TSKPair& /*rsk*/, TSKPair& /*msk*/);
-
-		/**
-		* Helper function to dynamically set LSK
-		* @since 5.0
-		*/
-		void SetLSKDynL(TSKPair& aLsk,
-			CBrowserBookmarksGotoPane* aTheGotoPane);
-
-		/**
-		* Helper function to dynamically set RSK
-		* @since 5.0
-		*/
-		void SetRSKDynL(TSKPair& aRsk,
-			CBrowserBookmarksGotoPane* aTheGotoPane);
-
-		/**
-		* Helper function to dynamically set MSK
-		* @since 5.0
-		*/
-		void SetMSKDynL(TSKPair& aMsk, const TSKPair aLsk,
-			CBrowserFavouritesContainer* aTheContainer,
-			CBrowserBookmarksGotoPane* aTheGotoPane);
-        
-
-    public:     // from MBookmarksGotoPaneObserver
-
-        /**
-        * Handle Goto Pane event.
-		* @since 1.2
-        * @param aGotoPane The Goto Pane in which the event occurred.
-        * @param aEvent Goto Pane event.
-        */
-        virtual void HandleBookmarksGotoPaneEventL
-            (
-            CBrowserBookmarksGotoPane* aGotoPane,
-            MBookmarksGotoPaneObserver::TEvent aEvent
-            );
-
-    public: // MAknToolbarObserver
-        /**
-        * Called when toolbar events occur
-        *
-        * @since 5.0
-        * @return void
-        */
-        void OfferToolbarEventL( TInt aCommand ) { HandleCommandL(aCommand); }
-
-	protected:  // construction
-
-        /**
-        * Constructor.
-        * @param aApiProvider The API provider.
-        */
-        CBrowserBookmarksView( MApiProvider& aApiProvider, CRecentUrlStore& aRecentUrlStore, TInt aInitialFolderUid = KFavouritesRootUid );
-
-        /**
-        * Second phase constructor. Leaves on failure.
-        * @param aViewResourceId Resource id for this view.
-        * Derived classes should call this first during construction.
-        */
-		void ConstructL( TInt aViewResourceId );
-
-	protected:	// protected CBrowserFavouritesView
-
-        /**
-        * Handle listbox event.
-		* @since 1.2
-        * @param aListBox Listbox in which the event occurred.
-        * @param aEventType Event.
-        */
-        void HandleListBoxEventL(
-            CEikListBox* aListBox,
-            MEikListBoxObserver::TListBoxEvent aEventType );
-
-        /**
-        * Initialize context-sensitive menu.
-		* @since 1.2
-        * @param aResourceId Resource id of the menu pane.
-        * @param aMenuPane Menu pane object being initialized.
-        * @param aIndex Index into the visibility map.
-        * @param aState Selection state.
-        */
-        virtual void DynInitMenuPaneL
-                (
-                TInt aResourceId,
-                CEikMenuPane* aMenuPane,
-                TCommandVisibility::TIndex /*aIndex*/,
-                const TBrowserFavouritesSelectionState& aState
-                );
-
-        /**
-        * Get resource id of text to be displayed in navi pane when
-        * root folder is shown (TBUF).
-		* @since 1.2
-        * @return Resource id.
-        */
-        TInt RootTitleResourceId() const;
-
-        /**
-        * Get resource id of Options menu (RESOURCE MENU_BAR).
-		* @since 1.2
-        * @return Resource id.
-        */
-        TInt OptionsMenuResourceId() const;
-
-        /**
-        * Get resource id of OK-Options menu (RESOURCE MENU_BAR).
-		* @since 1.2
-        * @return Resource id.
-        */
-        TInt OkOptionsMenuResourceId() const;
-
-        /**
-        * Create the model. Leave on failure. The model is owned by the
-        * caller (this view, base class). The created model is really
-        * a CBrowserBokmarksModel.
-		* @since 1.2
-        * @return The constructed model.
-        */
-        virtual CBrowserFavouritesModel* CreateModelL();
-
-        /**
-        * Create the container (the main control of the view). The container
-        * is owned by the caller (this view, base class). The created container
-        * is really a CBrowserBookmarksContainer.
-        * Leave on failure.
-		* @since 1.2
-        * @return The constructed main control.
-        */
-        virtual CBrowserFavouritesContainer* CreateContainerL();
-
-        /**
-        * Get items to be displayed in a folder. Expects the model's db be
-        * open.
-		* @since 1.2
-        * @param aFolder Folder which contains the items.
-        * @return List of items. Pushed on the cleanup stack.
-        */
-        virtual CFavouritesItemList* GetItemsLC( TInt aFolder );
-
-        /**
-        * Some displayed data has changed (Favourites database, AP-s, etc).
-        * Update the view so changes become visible. Safe to call if the view
-        * is not active; in this case it does nothing.
-        * This method should not be called if the data change is due to direct
-        * user activity (opening folders etc.); only for notification
-        * processing.
-        * (Same as base class method, except active Goto Pane is not reset if
-        * downloading is in progress.)
-		* @since 1.2
-        * @param aDbErrorNote If ETrue, unsuccesful database access will bring
-        * up an error note.
-        */
-        virtual void RefreshL( TBool aDbErrorNote = EFalse );
-        
-        void HandleForegroundEventL( TBool aForeground );
-
-	protected:	// protected methods from CAknView
-
-        /**
-        * Activate the view.
-		* @since 1.2
-        * @param aCustomMessageId Custom Message Id.
-        * @param aCustomMessage Custom Message.
-        */
-        virtual void DoActivateL
-            (
-            const TVwsViewId& aPrevViewId,
-            TUid aCustomMessageId,
-            const TDesC8& aCustomMessage
-            );
-
-        /**
-        * Deactivate the view.
-		* @since 1.2
-        */
-        virtual void DoDeactivate();
-
-    private:    // command handling (additional commands)
-
-        /**
-        * Available only to process EWmlCmdDelete and EWmlCmdDeleteItems commands.Command "Go to" when the user is editing in the Goto Pane.
-        */
-        void DeleteItems( TInt aCommand );
-
-        /**
-        * Command "Go to" when the user is editing in the Goto Pane.
-        * Go to the URL found in Goto Pane.
-        * Does nothing if no Goto Pane.
-        */
-        void GotoUrlInGotoPaneL();
-
-        /**
-        * Command "Activate". Activate highlighted bookmark.
-        * Does nothing if no bookmark is highlighted.
-        */
-        void ActivateCurrentBookmarkL();
-
-        /**
-        * Command "Add bookmark". Create new bookmark and launch
-        * Edit bookmark dialog.
-        */
-        void AddNewBookmarkL();
-
-        /**
-        * Command "Edit bookmark". Edit highlighted bookmark.
-        * Does nothing if no bookmark is highlighted.
-        */
-        void EditCurrentBookmarkL();
-
-
-        /**
-        * Command "Send via Unified Messaging".
-        * Send selected bookmark(s).
-        */
-        void SendBookmarksL( );
-
-
-    private:    // new methods
-
-        /**
-        * Get the container (as CBrowserBookmarksContainer).
-        * @return The container.
-        */
-        CBrowserBookmarksContainer* TheContainer();
-
-    private:    // from MApChangeObserver
-        /**
-        * Handle change in currently used Access Point.
-        */
-        void ApChangedL( TUint32 aNewAPId );
-
-    private:    // from MPreferencesObserver
-
-        /**
-        * Handle preferences change.
-        */
-        void HandlePreferencesChangeL( 
-                                    const TPreferencesEvent aEvent,            
-                                    TPreferencesValues& aValues,
-                                    TBrCtlDefs::TBrCtlSettings aSettingType );
-
-    private:
-
-        /**
-        * Create Start Page bookmark. Db needs not be open (not used).
-        * @return The Start Page bookmark, or NULL if no such.
-        * Ownership passed to caller.
-        */
-        CFavouritesItem* CreateStartPageBookmarkL();
-
-    private:    // from MBrCtlLoadEventObserver
-
-        /**
-        * A load events notification
-        * @since 2.8
-        * @param aLoadEvent The load event
-        * @param aSize Size depends on the event
-        * @param aTransactionId The transaction id of the transaction that had this event
-        * @return void
-        */
-        void HandleBrowserLoadEventL( TBrCtlDefs::TBrCtlLoadEvent aLoadEvent,
-                                      TUint aSize,
-                                      TUint16 aTransactionId );
-    private:
-
-        /**
-        * Clear all adaptive bookmarks
-        */
-        void ClearAdaptiveBookmarksL();
-
-    private:
-
-        /**
-        * To set empty text for folders. It is different in Adaptive Bookmarks
-        */
-		void SetEmptyTextL();
-
-	    // from CBrowserFavouritesView
-        TKeyResponse OfferKeyEventL
-            ( const TKeyEvent& aKeyEvent, TEventCode aType );
-
-//from CBrowserFavouritesView
-        /**
-        * Open next folder.
-        * @param aForward Open next folder if ETrue, previous if EFalse.
-        */
-		void OpenNextFolderL( TBool aForward );
-
-        /**
-        * Update and draw navi pane (show tabs for root, or "1/4" style text
-        * for subfolders).
-        * No sanity check; expects the model's table be open.
-        */
-        void UpdateNaviPaneL();
-
-        /**
-        * Sorts bookmark items into the saved manual order
-        * associated to the given folder
-        * @param aFolder The folder in which the items are stored
-        * @param aItems The bookmark item list to sort
-        */
-        TBool ManualBMSortL( TInt aFolder, CFavouritesItemList* aItems );
-
-        /**
-        * Starts 'item moving mode', when softkeys are ok/cancel
-        * and ok moves the selected items to the current position in 
-        * bookmarks list
-        */
-        void StartMoveItemsL();
-
-        /**
-        * moves the selected items to the current position in 
-        * bookmarks list
-        */
-        void MoveItemsL();
-
-        /**
-        * Cancels 'item moving mode', softkeys return to normal,
-        * focus returns to the first selected item
-        */
-        void CancelMoveItemsL();
-
-        /*
-        * Adds the given uid to the last place in bookmarks list
-        * @param aUid The uid to add
-        */
-        void AddUidToLastPlaceToCurrentListL( TInt aUid );
-
-    public:
-        /**
-        * Dim or Un-dim Toolbar buttons.
-        */
-        void UpdateToolbarButtonsState();
-        
-        /**
-        * Check to show downloads.
-        */
-        void CheckForDownloads();
-
-        /**
-        * Initiates update for favicons
-        */
-        void UpdateFavIconsL();
-
-    private:    // data
-        /**
-         * Callback for completing the Browser App init. Normally only
-         * BookmarksView is initialized first on startup. When bookmarks
-         * view is shown then this callback is scheduled to complete the
-         * remaining initialization. 
-         */
-        static TInt CompleteAppInitCallback( TAny* aApiProvider );        
-        
-        /**
-        * Uid of AP which is to be used for creating Start Page bookmark.
-        */
-        TUint32 iStartPageApUid;
-
-        /**
-        * Storing current default AP, to be able to spot when it changes.
-        * (We get notification when preferences change; but don't know
-        * what changed in preferences. We are interested only in default AP
-        * change.)
-        */
-        TUint32 iCurrentDefaultAp;
-
-        /**
-        * This flag is used in fetch observing: this differentiates events from
-        * the newly started fetch from events of ongoing fetches (being
-        * cancelled by the new one). It is ETrue when new fetch has been
-        * initiated but not yet started (existing fetches will be cancelled
-        * during this time).
-        */
-        TBool iFetchInit;
-
-		HBufC* iDomainFolderName;
-		CRecentUrlStore& iRecentUrlStore;
-		TBool iInAdaptiveBookmarksFolder;
-
-		TWmlSettingsAdaptiveBookmarks iAdaptiveBookmarksCurrentSetting;
-
-
-		// For Adaptive Bookmarks - to refresh title when 
-		// coming back from Preferences
-		TBool iPreferencesChanged;
-
-        // For Manual BM Sorting
-        // Indicates item moving mode
-        TBool iManualItemMovingGoingOn;
-
-        // list of uids of items to move
-        CArrayFixFlat<TInt>* iItemsToMove;
-
-        // Current order of bookmarks
-        CBrowserBookmarksOrder* iCurrentOrder;
-
-        // Flag to indicate that Adaptive BM folder has just been inserted to BM list
-        TBool iInsertAdaptiveBookmarksFolder;
-
-        // Flag to indicate that current BM order needs to be saved
-        TBool iSaveBMOrder;
-
-        // Flag to indicate the presence of Start Page item
-        TBool iStartPagePresent;
-
-        // Goto Pane's entered URL and cursor's position
-        HBufC* iEnteredURL;
-        TInt iCursorPos;
-
-        TUint16 iTrId;
-        
-        CAsyncDownloadsListExecuter* iDownloadsListExecuter; // Owned.
-        
-        // True if the view will show the adaptive bookmarks folder
-        // on activation, otherwise false.
-        TBool iOpenAdaptiveBookmarksWhenActivated;
-        
-        // True if the user opned the Adaptive Bookmarks folder,
-        // from bookmarks items, otherwise false.
-        TBool iAdaptiveBookmarksFolderSelected;
-        
-        // True if the view was changed, and the adaptive bookmarks folder
-        // was currently acive.
-        TBool iAdaptiveBookmarksFolderWasActive;       
-        
-        // Pen enabled flag
-        TBool iPenEnabled;
-        
-        // Re-Entry Gate flag for Delete Bookmark routine
-        TBool iHandleDeleteInProgress;
-
-        // Async callback object for delayed App init
-        CIdle *iAsyncComplete;
-        
-        TBool iShowDownlods;
-	};
-
-#endif
-
-// End of file