chxavpathselector.h
上传用户:zhongxx05
上传日期:2007-06-06
资源大小:33641k
文件大小:2k
- /*============================================================================*
- *
- * (c) 1995-2002 RealNetworks, Inc. Patents pending. All rights reserved.
- *
- *============================================================================*/
- #if !defined(AV_PATH_SELECTOR_INCLUDED__)
- #define AV_PATH_SELECTOR_INCLUDED__
- // Helix includes..
- #include "hxstack.h"
- // Includes from this project...
- #include "chxavvector.h"
- #include "chxavrefptr.h"
- #include "chxavfileviewpageinfo.h"
- // class CHXAvPathSelector
- class CHXAvPathSelector
- {
- public:
- // ctor and dtor
- CHXAvPathSelector();
- virtual ~CHXAvPathSelector();
- void InitL(const CHXAvVector<CHXAvMediaFolderInfoPtr>& mediaFolderInfo,
- TInt resIdPrompt, TInt resIdSelectButtonText);
- private:
- // disallow assignment and copy
- CHXAvPathSelector(const CHXAvPathSelector& rhs);
- CHXAvPathSelector& operator=(const CHXAvPathSelector& rhs);
- public:
- // methods
- bool PromptUserSelectPathL();
- const TDesC& GetSelectedPath() const;
- private:
- enum Action
- {
- BACK,
- SELECT,
- ENTER,
- IGNORE
- };
- // implementation
- CHXAvPathSelector::Action DoFolderPromptL();
- CHXAvPathSelector::Action DoRootFolderPromptL();
- void SetPathToParent();
- void SetPathToChild(const TDesC& listText);
- TInt InitMediaRootPathL(const TDesC& fullRootPath);
- bool CurrentFolderHasSubFoldersL();
- TUint GetValidRootCountL();
- void ResetForRootFolderPrompt(TInt idxCurrentItem);
-
- private:
- // data
- CHXAvVector<CHXAvMediaFolderInfoPtr> m_mediaFolderInfo;
- // full paths
- refptr<TFileName> m_spCurrentPath;
- refptr<HBufC> m_spRootPath;
- CHXStack m_indexes;
- TInt m_idxInitCurrentItem;
- TInt m_resIdPrompt;
- TInt m_resIdSelectButtonText;
- };
- #endif // AV_PATH_SELECTOR_INCLUDED__