亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? filebrowsercontainer.cpp

?? A FileBrowser application runs on Symbian Platform
?? CPP
字號:
/*
* ============================================================================
*  Name     : CFileBrowserContainer from FileBrowserContainer.h
*  Part of  : FileBrowser
*  Created  : 03.05.2005 by ToBeReplacedByAuthorXinyu
*  Implementation notes:
*     Initial content was generated by Series 60 Application Wizard.
*  Version  :
*  Copyright: ToBeReplacedByCopyrightNone
* ============================================================================
*/

// INCLUDE FILES
#include "FileBrowserContainer.h"
#include <aknlists.h>  // for Listbox
#include <eikclbd.h>
#include <FileBrowser.mbg>
#include <akntitle.h> // for title pane
#include <eikspane.h>

// ================= MEMBER FUNCTIONS =======================
void CFileBrowserContainer::UpdateTitleL()
    {
    CEikStatusPane* sp = iEikonEnv->AppUiFactory()->StatusPane();
    CAknTitlePane* titlePane = ( CAknTitlePane*  )sp->ControlL( TUid::Uid( EEikStatusPaneUidTitle ) );    
    titlePane->SetTextL(iPath);
    }

void CFileBrowserContainer::UpdateDriveDataL()
    {
    iPath.Zero();
    RFs session = CEikonEnv::Static()->FsSession();

    CDesCArray *itemArray = static_cast<CDesCArray*>(iListBox->Model()->ItemTextArray());
    itemArray->Reset();
    iListBox->HandleItemRemovalL();
    
    TDriveList driveList;
    User::LeaveIfError( session.DriveList( driveList ) );
    const TUint8* listPtr = driveList.Ptr();

    for ( TInt i=0; i < KMaxDrives; i++ )
        {
        if ( *listPtr != 0 )
            {
            TChar driveLetter;
            User::LeaveIfError( session.DriveToChar( i, driveLetter ) );
            TBuf<KMaxFileName> name(_L("1\t"));
            name.Append(driveLetter);
            name.Append(_L(":\\"));
            itemArray->AppendL(name);
            }
        listPtr++;
        }
    iListBox->HandleItemAdditionL();
    iListBox->SetCurrentItemIndexAndDraw(0);    
    }

void CFileBrowserContainer::UpdateFileDataL()
    {
    RFs session = CEikonEnv::Static()->FsSession();
    if (iFileList)
        {
        delete iFileList;
        iFileList = NULL;
        }
    if (iDirList)
        {
        delete iDirList;
        iDirList = NULL;
        }
    TInt err = session.GetDir(iPath,KEntryAttNormal,ESortByName,iFileList,iDirList);
    if (err)
        {
        CEikonEnv::Static()->InfoMsg(_L("Media read error!"));
        UpdateDriveDataL();
        User::Leave(err);
        }
    CDesCArray *itemArray = static_cast<CDesCArray*>(iListBox->Model()->ItemTextArray());
    itemArray->Reset();
    iListBox->HandleItemRemovalL();
    
    for (TInt i=0;i<iDirList->Count();i++)
        {
        TBuf<KMaxFileName> name(_L("1\t"));
        name.Append((*iDirList)[i].iName);
        itemArray->AppendL(name);
        }
    for (i=0;i<iFileList->Count();i++)
        {
        TBuf<KMaxFileName> name(_L("0\t"));
        name.Append((*iFileList)[i].iName);
        itemArray->AppendL(name);
        }
    iListBox->HandleItemAdditionL();
    iListBox->SetCurrentItemIndexAndDraw(0);
    }

void CFileBrowserContainer::HandleListBoxEventL(
    CEikListBox* /*aListBox*/,
    TListBoxEvent aEventType )
    {
    if ( aEventType == MEikListBoxObserver::EEventEnterKeyPressed  ||
         aEventType == MEikListBoxObserver::EEventItemClicked )
        {
        TInt index = iListBox->CurrentItemIndex();
        if (iPath.Length()>0 && index >= iDirList->Count())
            {
            CEikonEnv::Static()->InfoMsg(_L("Not a Folder!"));
            return;
            }
        if (iPath.Length()>0)
            {
            iPath.Append((*iDirList)[index].iName);
            iPath.Append(_L("\\"));
            }
        else
            {
            CDesCArray *itemArray = static_cast<CDesCArray*>(iListBox->Model()->ItemTextArray());
            iPath=(*itemArray)[index];
            iPath.Delete(0,2);
            }
        UpdateFileDataL();
        UpdateTitleL();
        }
    }

void CFileBrowserContainer::HandleCommandL(TInt aCommand)
    {   
    switch ( aCommand )
        {
        case EAknSoftkeyBack:
            {
            if (iPath.Length() ==0)
                return;
            iPath.Delete(iPath.Length()-1, 1);
            TInt pos = iPath.LocateReverseF('\\');
            if (pos>=0)
                {
                iPath.Delete(pos+1, iPath.Length()-pos+1);
                UpdateFileDataL();
                }
            else
                {
                UpdateDriveDataL();
                }
            UpdateTitleL();
            break;
            }
        default:
            {
            break;
            }
        }
    }

// ---------------------------------------------------------
// CFileBrowserContainer::ConstructL(const TRect& aRect)
// EPOC two phased constructor
// ---------------------------------------------------------
//
void CFileBrowserContainer::ConstructL(const TRect& aRect)
    {
    CreateWindowL();
    RFs session = CEikonEnv::Static()->FsSession();
    User::LeaveIfError(session.DefaultPath(iPath));
    UpdateTitleL();

    iListBox = new(ELeave)CAknSingleGraphicStyleListBox();
    iListBox->SetContainerWindowL(*this);
    iListBox->ConstructL( this, EAknListBoxSelectionList );
    iListBox->SetListBoxObserver(this);
    
    _LIT(KMbmFileName, "\\system\\apps\\FileBrowser\\FileBrowser.mbm");
    //_LIT(KMbmFileName, "FileBrowser.mbm");

    CArrayPtr<CGulIcon>* iconArray = new (ELeave)CArrayPtrFlat<CGulIcon>(2);
    CGulIcon* icon1 = CEikonEnv::Static()->CreateIconL
        (KMbmFileName, EMbmFilebrowserFile, EMbmFilebrowserFile_mask);
    CGulIcon* icon2 = CEikonEnv::Static()->CreateIconL
        (KMbmFileName, EMbmFilebrowserFolder, EMbmFilebrowserFolder_mask);    
    iconArray->AppendL(icon1);
    iconArray->AppendL(icon2);    
    iListBox->ItemDrawer()->ColumnData()->SetIconArray(iconArray);
    
    UpdateFileDataL();
    iListBox->CreateScrollBarFrameL(ETrue);
    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(CEikScrollBarFrame::EOn, CEikScrollBarFrame::EOn);
    
    SetRect(aRect);
    ActivateL();
    }

// Destructor
CFileBrowserContainer::~CFileBrowserContainer()
    {
    delete iListBox;
    if (iFileList)
        {
        delete iFileList;
        iFileList = NULL;
        }
    if (iDirList)
        {
        delete iDirList;
        iDirList = NULL;
        }
    }

// ---------------------------------------------------------
// CFileBrowserContainer::SizeChanged()
// Called by framework when the view size is changed
// ---------------------------------------------------------
//
void CFileBrowserContainer::SizeChanged()
    {
    // TODO: Add here control resize code etc.
    iListBox->SetExtent( TPoint(0,0), iListBox->MinimumSize() );
    }

// ---------------------------------------------------------
// CFileBrowserContainer::CountComponentControls() const
// ---------------------------------------------------------
//
TInt CFileBrowserContainer::CountComponentControls() const
    {
    return 1; 
    }

// ---------------------------------------------------------
// CFileBrowserContainer::ComponentControl(TInt aIndex) const
// ---------------------------------------------------------
//
CCoeControl* CFileBrowserContainer::ComponentControl(TInt aIndex) const
    {
    switch ( aIndex )
        {
        case 0:
            return iListBox;
        default:
            return NULL;
        }
    }

// ---------------------------------------------------------
// CFileBrowserContainer::Draw(const TRect& aRect) const
// ---------------------------------------------------------
//
void CFileBrowserContainer::Draw(const TRect& aRect) const
    {
    CWindowGc& gc = SystemGc();
    gc.Clear();
    }

TKeyResponse CFileBrowserContainer::OfferKeyEventL(
    const TKeyEvent& aKeyEvent, TEventCode aType)
    {
    if ( aType != EEventKey ) // Is not key event?
        {
        return EKeyWasNotConsumed;
        }
    if (iListBox)
        {
        return iListBox->OfferKeyEventL(aKeyEvent, aType);
        }
    return EKeyWasNotConsumed;
    }
// End of File  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区免费视频| 国产日韩欧美精品在线| 在线观看亚洲精品视频| 97精品国产露脸对白| 成人网男人的天堂| 成人app在线| 色8久久人人97超碰香蕉987| 91成人在线精品| 在线欧美日韩精品| 欧美色老头old∨ideo| 555夜色666亚洲国产免| 欧美精品xxxxbbbb| 精品久久一区二区| 久久精品夜色噜噜亚洲a∨| 中文子幕无线码一区tr| 亚洲你懂的在线视频| 夜夜嗨av一区二区三区网页| 日本亚洲三级在线| 国产一区二区剧情av在线| 懂色av中文字幕一区二区三区 | 亚洲在线成人精品| 香蕉乱码成人久久天堂爱免费| 日韩中文字幕区一区有砖一区| 美腿丝袜亚洲色图| 成人动漫一区二区在线| 在线观看三级视频欧美| 精品久久99ma| 国产精品乱人伦一区二区| 亚洲综合免费观看高清完整版在线| 天天免费综合色| 国产成人精品亚洲777人妖| 97久久久精品综合88久久| 欧美日韩的一区二区| 久久综合色综合88| 亚洲高清在线视频| 九色porny丨国产精品| 一本大道久久精品懂色aⅴ| 日韩写真欧美这视频| 国产精品久久久久久久久免费樱桃 | 一本色道**综合亚洲精品蜜桃冫| 欧美精品视频www在线观看 | 91丨国产丨九色丨pron| 欧美日韩1区2区| 国产精品久久久久影院色老大| 日韩精品电影一区亚洲| 成人免费av网站| 欧美tk—视频vk| 亚洲综合在线五月| 国产白丝精品91爽爽久久| 欧美视频一区二区| 国产精品久久看| 国产乱码精品一区二区三区五月婷| 91免费版pro下载短视频| 精品裸体舞一区二区三区| 亚洲一区av在线| 一本一道波多野结衣一区二区| 国产三级久久久| 国内精品不卡在线| 欧美一区二区人人喊爽| 三级在线观看一区二区| 在线观看视频91| 一区二区三区日韩| 91小视频免费看| 中文乱码免费一区二区| 国产麻豆午夜三级精品| 精品国产乱码久久| 蜜臀av性久久久久蜜臀aⅴ流畅| 日本精品一区二区三区四区的功能| 国产精品麻豆久久久| 国产精品18久久久| 国产性做久久久久久| 国产精品亚洲第一区在线暖暖韩国| 日韩欧美一区二区免费| 青青草视频一区| 日韩一区二区免费电影| 蜜臀av性久久久久蜜臀aⅴ流畅| 911精品国产一区二区在线| 爽好久久久欧美精品| 69av一区二区三区| 久久国产夜色精品鲁鲁99| 日韩欧美国产一区二区三区| 蜜芽一区二区三区| 久久综合九色综合欧美就去吻| 韩国午夜理伦三级不卡影院| 久久精品一区二区三区不卡牛牛| 国产成人综合网站| 中文字幕一区二区三区在线播放 | 亚洲国产成人tv| 欧美一区二区三区免费大片| 日韩中文字幕区一区有砖一区| 日韩欧美亚洲另类制服综合在线| 国产专区欧美精品| 国产精品久久网站| 欧美日韩在线免费视频| 麻豆久久一区二区| 国产天堂亚洲国产碰碰| 91原创在线视频| 蜜臀久久久久久久| 国产欧美日本一区二区三区| 欧美在线|欧美| 蜜桃在线一区二区三区| 国产精品国产精品国产专区不蜜| 欧美亚洲日本国产| 狂野欧美性猛交blacked| 国产精品三级在线观看| 欧美日本一道本在线视频| 黄色精品一二区| 亚洲三级理论片| 日韩欧美高清dvd碟片| av电影一区二区| 日韩激情中文字幕| 中文一区二区在线观看| 欧美日韩激情一区二区三区| 国产不卡视频在线播放| 午夜天堂影视香蕉久久| 国产午夜精品久久久久久久| 欧美三级视频在线| 成人h动漫精品一区二| 蜜桃在线一区二区三区| 亚洲精品免费一二三区| 精品国产乱码久久久久久蜜臀 | 99re这里都是精品| 美腿丝袜亚洲一区| 亚洲一区二区在线免费看| 久久久九九九九| 日韩免费看网站| 欧美日韩国产在线播放网站| www..com久久爱| 国产美女娇喘av呻吟久久| 免费观看91视频大全| 亚洲国产精品久久艾草纯爱| 亚洲欧美日韩综合aⅴ视频| 亚洲精品一区二区三区在线观看| 欧美疯狂做受xxxx富婆| 色综合 综合色| a美女胸又www黄视频久久| 国产一区二区三区在线看麻豆| 舔着乳尖日韩一区| 亚洲成人tv网| 亚洲国产成人av网| 亚洲一区二区三区四区五区中文| 国产精品久久久久久久蜜臀| 欧美高清在线一区| 日本一区二区视频在线观看| 久久网站热最新地址| 精品久久久久一区| 精品捆绑美女sm三区| 日韩精品中文字幕在线一区| 91精品国产91久久久久久一区二区| 欧美在线观看一二区| 欧美日韩精品电影| 欧美一区二区三区系列电影| 777午夜精品免费视频| 欧美日韩午夜在线| 欧美人与禽zozo性伦| 欧美剧在线免费观看网站| 欧美日韩另类国产亚洲欧美一级| 欧美视频在线播放| 69久久99精品久久久久婷婷| 日韩一区二区精品在线观看| 欧美xfplay| 国产精品久久国产精麻豆99网站| 中文字幕欧美三区| 自拍偷拍亚洲综合| 亚洲成a人片在线观看中文| 日日夜夜精品视频天天综合网| 毛片av中文字幕一区二区| 国产精品一区在线观看你懂的| 国产精品亚洲一区二区三区妖精| 粉嫩av一区二区三区| 在线观看91精品国产入口| 欧美日韩午夜在线视频| 精品国产自在久精品国产| 国产亚洲精品精华液| 亚洲一线二线三线久久久| 蜜臀av一区二区在线免费观看| 国产精品自在欧美一区| 91麻豆文化传媒在线观看| 91麻豆精品国产91久久久久久久久 | 日韩成人伦理电影在线观看| 国产最新精品免费| 91亚洲精华国产精华精华液| 91精品国产综合久久久久久久| 精品国产伦一区二区三区免费 | 久久日韩精品一区二区五区| 国产精品久久久久久久久免费桃花 | 亚洲精品一区二区三区福利| 中文字幕永久在线不卡| 日本成人中文字幕在线视频| 国产成人av网站| 欧美中文字幕一区二区三区亚洲 | 91欧美一区二区| 欧美一区二区三区不卡| 国产精品亲子乱子伦xxxx裸| 亚洲电影第三页| www.亚洲在线| 日韩精品一区二区三区视频| 自拍偷拍亚洲综合| 国产曰批免费观看久久久| 在线观看视频一区二区欧美日韩|