chxavpathselector.h

来自「symbian 下的helix player源代码」· C头文件 代码 · 共 80 行

H
80
字号

/*============================================================================*
 *
 * (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__

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?