diff -r c32dc0be5eb4 -r 6b4fc789785b remotestoragefw/gsplugin/inc/rsfwgsplugindrivelistcontainer.h --- a/remotestoragefw/gsplugin/inc/rsfwgsplugindrivelistcontainer.h Mon Jan 18 21:00:57 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,280 +0,0 @@ -/* -* Copyright (c) 2003 - 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: The control container (view) of the remote drives list view -* -*/ - - -#ifndef CRSFWGSPLUGINDRIVELISTCONTAINER_H -#define CRSFWGSPLUGINDRIVELISTCONTAINER_H - -// INCLUDES -// System includes -#include -#include - -#include "rsfwgsplugin.hrh" -#include "rsfwgspropertywatch.h" - -// FORWARD DECLARATIONS - -class CRsfwGsPlugin; -class CRsfwMountMan; -class CEikButtonGroupContainer; -class CAknColumnListBox; - -// CLASS DECLARATION - -/** -* CRsfwGsPluginDriveListContainer container class -* @since 3.1 -* container class for Remote Drives view -*/ -class CRsfwGsPluginDriveListContainer : public CCoeControl, - MEikListBoxObserver, - MCoeForegroundObserver - { - public: // Constructors and destructor - - /** - * Constructor - */ - CRsfwGsPluginDriveListContainer(CRsfwGsPlugin* aView); - - - /** - * Symbian OS default constructor. - * - * @param aRect gives the correct TRect for construction. - */ - void ConstructL( const TRect& aRect, CRsfwMountMan* aMountMan ); - - /** - * Destructor. - */ - ~CRsfwGsPluginDriveListContainer(); - - public: // From CCoeControl - - /** - * See CCoeControl - */ - TInt CountComponentControls() const; - - /** - * See CCoeControl - */ - CCoeControl* ComponentControl( TInt aIndex ) const; - - /** - * See CCoeControl - */ - TKeyResponse OfferKeyEventL( - const TKeyEvent& aKeyEvent, TEventCode aType ); - - /** - * See CCoeControl - */ - void SizeChanged(); - - /** - * See CCoeControl - */ - void HandleResourceChange( TInt aType ); - - /** - * Gets help context - */ - void GetHelpContext( TCoeHelpContext& aContext ) const; - - /** - * See CCoeControl - */ - void FocusChanged(TDrawNow aDrawNow); - - public: // MCoeForegroundObserver - - /** Handles the drive list view coming to the foreground. */ - void HandleGainingForeground(); - /** Handles the drive list view going into the background. */ - void HandleLosingForeground(); - - - public: // own methods - - /** - * Invokes editing on current item, in response to UI Edit command - */ - void EditCurrentItemL(); - - /** - * See MEikListBoxObserver - */ - void HandleListBoxEventL(CEikListBox* aListBox, TListBoxEvent aEventType); - - /** - * Finds whether main list is empty - * @return ETrue if main list is empty. - */ - TBool IsListEmpty(); - - /** - * Finds whether the current item is the last item in main list - * @return ETrue if current item is last in main list. - */ - TBool IsLastItem(); - - /** - * Delete the currently focused drive. Also deletes it from CentRep - */ - void DeleteCurrentRemoteDriveL(); - - /** - * Is drive connected? - * Fetches the information from RFE - * @param the Friendly name of the drive - */ - TBool IsDriveConnectedL(const TDesC& aName); - - /** - * Sets drive in the list to 'connected' or 'disconnected' - * (modifies the icon) - * @param the Friendly name of the drive - */ - void SetDriveConnectedStateL(const TDesC& aName, TBool aConnected); - - /** - * Connects the currently chose remote drive - */ - void ConnectCurrentRemoteDriveL(); - - /** - * Disconnects the remote drive - */ - void DisconnectCurrentRemoteDriveL(); - - /** - * Loads remote drives from Central Repository - * @return TInt the number of remote drives - */ - TInt LoadRemoteDriveListArrayL(); - - /** - * Suggests next new remote drive name, this usually called by UI when - * user create a new remote drive. - * @return TDesC& new remote drive name - */ - TDesC& GetNextRemoteDriveNameL(); - - /** - * Get the name of currently focused drive. Usually called by UI. - * The pointer to buffer remains on heap, which is deleted by caller. - * @return HBufC* pointer to currently focused remote drive name - */ - HBufC* GetCurrentRemoteDriveNameLC(); - - /** - * Get the name of remote drive at index aIndex. Usually called by UI - * @return TPtrC16 Pointer to a buffer owned by the list array - */ - TPtrC GetRemoteDriveNameL(TInt aIndex); - - /** - * Sets the model - */ - void SetModel(CRsfwMountMan* iMountMan); - - /** - * Returns the number of remote drives in the list - */ - TInt RemoteDriveCount(); - - /** - * Sets the focus - */ - void SetFocus(); - - /** - * Sets the focus to given drive - */ - void SetFocusL(const TDes& aDriveName); - - /** - * Get the ID of the current remote drive. - * ID is the drive letter under which the drive is mounted - * @return TInt ID of the current remote drive - */ - TChar GetCurrentRemoteDriveIdL(); - - - void HandleResourceChangeManual(TInt aType); - - private: // own methods - - /** - * Perform the initial setup of the main list. Called by Constructor - */ - void SetupListL(); - - - /** - * Get Remote drive names - * @return CDesCArray remote drives - */ - CDesCArray* GetRemoteDriveNamesL(); - - /** - * Handles the drive list view coming to the foreground. - * Leaving variant - */ - void HandleGainingForegroundL(); - - public: // data - - // model, not owned - CRsfwMountMan* iMountMan; - - // for setting focus - TInt iCurrentItemIndex; - - private: // data - - // Pointer to the main list, owned - CAknColumnListBox* iMainList; - - // Pointer to the application view, not owned - CRsfwGsPlugin* iView; // not owned - - // The remote drive names list array, not owned - CDesCArray* iRemoteDriveListArray; - - // Buffer for holding remote drive setting name - TBuf iSettingNewName; - - // Title for menu pane - TBuf iTitle; - - // Pointer to title pane, not owned - CAknTitlePane* iTitlePane; - - // P&S notifier about changes in drive connection state - CRsfwGsPropertyWatch* iDriveConnectObserver; - - - - }; - -#endif //CRSFWGSPLUGINDRIVELISTCONTAINER_H - -// End of File