📄 smbmusicapfilemgrfolderselectview.cpp
字号:
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
/*--------------------------------------------------------------------*/
/**
* @file SmbMusicAPFileMgrFolderSelectView.cpp
* @brief 儈儏乕僕僢僋僼傽僀儖娗棟傾僾儕働乕僔儑儞僼僅儖僟慖戰View僋儔僗
*/
/*--------------------------------------------------------------------*/
//曄峏棜楌
//擔晅 |曄峏幰 |撪梕
//--------------+-----------+-------------------------------------------
//2006/07/04 |SDNA挿旜 |怴婯嶌惉
//2006/07/06 |SDNA挿旜 |SetDisplayPatternL()偺屇傃弌偟尦傪DoViewActivatedImplL()偵曄峏
//2006/07/06 |SDNA挿旜 |OpenDirectoryL()偑2夞屇傃弌偟偰偄偨偺傪廋惓 (DoViewActivatedImplL())
//2006/07/07 |SDNA挿旜 |AddControlL()屇傃弌偟偺捈慜偵CleanupStack::Pop()傪偡傞傛偆偵曄峏
//2006/07/09 |SDNA挿旜 |晹昳僐儞僩儘乕儖傪AddControlL屻儊儞僶曄悢偵戙擖偡傞傛偆偵曄峏
//2006/07/10 |SDNA挿旜 |僒儉僱僀儖/儕僗僩昞帵偵娭傢傜偢丆儕僗僩儃僢僋僗儕僗僩昞帵僷僞乕儞傪愝掕偡傞傛偆偵廋惓(DoViewActivatedImplL())
//2006/07/12 |SDNA挿旜 |僋儕傾僉乕墴壓帪偵慜夋柺偵慗堏偡傞傛偆偵廋惓
//2006/07/13 |SDNA挿旜 |慖戰壜擻側傾僀僥儉庬暿傪EMusicItemTypeSongItem偵廋惓 (DoConstructContainerL())
//2006/07/13 |SDNA挿旜 |MSmbMusicAPFileSystemComListBoxControl::SetDisplayPatternL傪屇傃弌偡傛偆偵廋惓 (DoConstructContainerL())
//2006/07/14 |SDNA挿旜 |儘乕僇儖價儏乕愗懼埲奜偺応崌丆儕僗僩儃僢僋僗傪嵞昤夋偡傞張棟傪捛壛 (DoViewActivatedImplL())
//2006/07/15 |SDNA挿旜 |TRK4122偺廋惓 (僋儕傾僉乕墴壓帪偵慗堏愭偺儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞傛偆偵曄峏)
//2006/07/18 |SDNA挿旜 |惂尷懳徾(敿婸搙昞帵)偲側傞傾僀僥儉庬暿傪愝掕偡傞偵曄峏 (DoConstructContainerL())
//2006/07/20 |SDNA挿旜 |儖乕僩僼僅儖僟昞帵帪偵丆僋儕傾僉乕丒嵍栴報僉乕墴壓帪偺夋柺慗堏張棟傪廋惓
// | | - OfferKeyEventImplL()偵婡擻傪捛壛
//2006/07/22 |SDNA挿旜 |MSmbMusicAPFileSystemComListBoxControl偺昤夋巇條偺曄峏偵懳墳
// | | - iListBox->ApplyL()偺屇傃弌偟傪嶍彍
//2006/07/31 |SDNA挿旜 |巕婲摦傾僾儕偱廔榖僉乕墴壓偝傟偨応崌丆傾僾儕傪廔椆偡傞傛偆偵廋惓 (DoViewActivatedImplL()) (TRK5234)
//2006/07/31 |SDNA挿旜 |慖戰壜擻側傾僀僥儉庬暿傪愝掕偟側偄傛偆偵廋惓 (TRK5259)
//2006/08/04 |SDNA挿旜 |儕僗僩儃僢僋僗偺僒儉僱僀儖昞帵愝掕傪廋惓
// | | - DoConstructContainerL()偱愝掕偟側偄傛偆偵曄峏
// | | - iListBox->RefreshL()傪巊梡偣偢偵RefreshListBoxL()傪梡偄傞傛偆偵廋惓
//2006/08/11 |SDNA挿旜 |巕婲摦傾僾儕偱廔榖僉乕墴壓偝傟偨応崌丆廔榖僉乕僀儀儞僩僴儞僪儖張棟傪幚峴偡傞傛偆偵廋惓 (DoViewActivatedImplL())
//2006/08/28 |SDNA挿旜 |僼傽僀儖堏摦(杮懱傊)偵偍偗傞堏摦拞僟僀傾儘僌傪乽BIND僼傽僀儖堏摦拞乿偵曄峏 (TRK7471)
// | | - DoViewActivatedImplL()傪廋惓
//2006/09/01 |SDNA挿旜 |僞僗僋愗懼偵傛傝僨乕僞BOX撪儕僗僩儃僢僋僗傪儕僼儗僢僔儏偡傞婡擻傪捛壛 (TRK5537)
// | | - DoViewActivatedImplL()傪廋惓
//2006/09/06 |SDNA挿旜 |儕僗僩儃僢僋僗昞帵僗僞僀儖傪愝掕偡傞柦椷暥傪曄峏 (DoViewActivatedImplL())
//2006/09/20 |SDNA挿旜 |乽嵞惗乿僉乕偺昞帵張棟傪廋惓 (SetSoftKeyRightInfoL()) (TRK9579)
//2006/09/25 |SDNA挿旜 |ClearSoftKeyInfoL()傪捛壛
//2006/09/29 |SDNA挿旜 |傾僾儕嵟慜柺帪偺儕僗僩儃僢僋僗偺儕僼儗僢僔儏張棟傪廋惓 (DoViewActivatedImplL())
//2006/10/04 |SDNA挿旜 |僐乕僨傿儞僌婯栺忋偺廋惓
//2006/10/06 |SDNA挿旜 |僉乕僈僀僟儞僗偺偪傜偮偒傪彮側偔偡傞傛偆偵廋惓
// | | - 巊梡偟偰偄側偄僉乕僈僀僟儞僗傪弶婜壔偡傞張棟傪捛壛 (DoConstructContainerL())
// | | - ClearSoftKeyInfo()傪廋惓
//2006/10/16 |SDNA挿旜 |儘僌僒乕僶傪僐儞僗僩儔僋僞偐傜庢摼偟側偄傛偆偵曄峏
//2006/10/17 |SDNA挿旜 |HasTaskChanged傪NeedsToRefreshListBox偵柤徧傪曄峏 (DoViewActivatedImplL())
//2006/10/19 |SDNA挿旜 |傾僀僥儉偑側偄僼僅儖僟偵慗堏帪丆僉乕僈僀僟儞僗偺嵍栴報偑昞帵偝傟傞傛偆偵廋惓 (TRK11848)
// | | - DoConstructContainerL()傪廋惓
//PTX825
//2007/07/22 |SDNA彑枔 |拝怣壒愝掕懳墳
#include <SkonSubMenu.h>
#include <SmbMusicAPFileMgrExternalInterface.h>
#include <SmbMusicAPSinglePlayerExternalInterface.h>
#include <SmbAfWording.rsg>
#include "SmbMusicAPFileMgrDocument.h"
#include "SmbMusicAPFileMgrFolderSelectView.h"
#include "SmbMusicAPFileMgrFolderSelectCmd.h"
#include "SmbMusicAPFileMgrActionController.h"
#include "SmbMusicAPFileMgr.hrh"
#include <SmbMusicAPFileMgr.rsg>
USING_NAMESPACE_SEMCJ
///////////////////////////////////////////////////////////////////////////////
/**
* @brief 僼僅儖僟慖戰夋柺峔抸梡僷儔儊乕僞
*/
const TAfViewParam KMusicAPFileMgrFolderSelectViewParam =
{
ESmbMusicAPFileMgrFolderSelectView, ///< 價儏乕ID
0, ///< 僞僀僩儖
0 ///< 僉乕僈僀僟儞僗
};
/**
* @param[in] aAppUi 傾僾儕働乕僔儑儞UI
*/
CSmbMusicAPFileMgrFolderSelectView::CSmbMusicAPFileMgrFolderSelectView(CSmbMusicAPFileMgrAppUi& aAppUi)
:CSmbMusicAPFileMgrListView(KMusicAPFileMgrFolderSelectViewParam, aAppUi)
{
//
}
/**
* 價儏乕僐儅儞僪偺惗惉偍傛傃搊榐傪峴偆丏
*/
void CSmbMusicAPFileMgrFolderSelectView::ConstructL(void)
{
// 儈儏乕僕僢僋僼傽僀儖娗棟傾僋僔儑儞僐儞僩儘乕儔偺庢摼
CSmbMusicAPFileMgrActionController& controller = static_cast<CSmbMusicAPFileMgrDocument*>(iAppUi.Document())->Controller();
// 價儏乕僐儅儞僪偺惗惉丒搊榐
CSmbMusicAPFileMgrCmdBase* cmd = new(ELeave) CSmbMusicAPFileMgrFolderSelectCmd(iAppUi, *this, controller);
RegistCmd(cmd);
}
/**
* 強桳偡傞僆僽僕僃僋僩傪嶍彍偡傞丏
* @note AddControlL() 偱搊榐偟偨僐儞僩儘乕儖偼 CAfView::~CAfView() 偱嶍彍偝傟傞偨傔丆偙偙偱嶍彍偟偰偼側傜側偄丏
*/
CSmbMusicAPFileMgrFolderSelectView::~CSmbMusicAPFileMgrFolderSelectView()
{
// 強桳偡傞僆僽僕僃僋僩偼偙偙偱嶍彍偡傞丏
// 偨偩偟 AddControlL 偱搊榐偟偨僐儞僩儘乕儖偼 CAfView::~CAfView 偱
// 嶍彍偝傟傞偨傔丆偙偙偱嶍彍偟偰偼側傜側偄丏
}
/**
* @param[in] aResourceId 僒僽儊僯儏乕偺儕僜乕僗ID
*/
void CSmbMusicAPFileMgrFolderSelectView::ShowSubMenuL(TInt aResourceId)
{
// 僒僽儊僯儏乕惗惉
CSkonSubMenu* subMenu = new(ELeave) CSkonSubMenu();
CleanupStack::PushL(subMenu);
// 儕僜乕僗儕乕僟惗惉
TResourceReader reader;
// 儕僜乕僗偺撉傒崬傒
CEikonEnv::Static()->CreateResourceReaderLC(reader, aResourceId);
subMenu->ConstructFromResourceL(reader);
CleanupStack::PopAndDestroy(); // reader
CleanupStack::Pop(subMenu); // subMenu->ShowLD()撪偱subMenu偑delete偝傟傞偨傔
// 僒僽儊僯儏乕傪昞帵(儌乕僟儖)
TInt command = subMenu->ShowLD(); // command: 僐儅儞僪ID
// 僒僽儊僯儏乕偺傾僀僥儉偑慖戰偝傟偨応崌偼丆價儏乕僐儅儞僪偵僐儅儞僪ID傪徚旓偝偣傞丏
if (command != CSkonSubMenu::EClearKey) // 僋儕傾僉乕墴壓埲奜偺応崌
{
iCmd->HandleViewCommandL(command);
}
// 僋儕傾僉乕墴壓帪偺応崌偼丆壗傕張棟偟側偄丏
}
/**
* 庡偵埲壓偺張棟傪峴偆丏
* -# 僐儞僩儘乕儖傪惗惉偡傞丏
* -# 僉乕僈僀僟儞僗傪愝掕偡傞丏
*/
void CSmbMusicAPFileMgrFolderSelectView::DoConstructContainerL()
{
// 僞僀僩儖僶乕惗惉
CSkonTitleBar* titleBar = new(ELeave) CSkonTitleBar;
CleanupStack::PushL(titleBar);
titleBar->SetContainerWindowL(*this);
titleBar->ConstructL();
// 價儏乕傊僐儞僩儘乕儖傪愝掕
CleanupStack::Pop(titleBar);
AddControlL(titleBar);
iTitleBar = titleBar;
// 儕僗僩儃僢僋僗惗惉
TRect clientRect = iAppUi.ClientRect(); // 僋儔僀傾儞僩椞堟(慡夋柺椞堟傛傝僗僥乕僞僗僶乕偍傛傃僉乕僈僀僟儞僗偺椞堟傪彍偄偨椞堟)偺庢摼
//MOD-START PTX824
// MSmbMusicAPFileSystemComListBoxControl* listBox
// = CreateListBoxControlL(TRect(clientRect.iTl.iX, TitleRectMaxWidth().iBr.iY,
// clientRect.iBr.iX, clientRect.iBr.iY - clientRect.iTl.iY), *this);
MSmbMusicAPFileSystemComListBoxControl* listBox
= CreateListBoxControlL(TRect(clientRect.iTl.iX, iTitleBar->Rect().iBr.iY,
clientRect.iBr.iX, clientRect.iBr.iY - clientRect.iTl.iY), *this);
//MOD-END PTX824
CleanupStack::PushL(listBox);
// 儕僗僩儃僢僋僗偺僆僽僓乕僶傪愝掕
listBox->SetObserver(this);
// 儕僗僩儃僢僋僗儌僨儖傪庢摼偟丆價儏乕僐儅儞僪偵搊榐偡傞
static_cast<CSmbMusicAPFileMgrFolderSelectCmd*>(iCmd)->SetListBoxModel(listBox->ListBoxModel());
// 僼僅儖僟慗堏儌乕僪傪桳岠偵偡傞
listBox->SetChangeableFolderModeL(ETrue);
//TRK5259 7/31 start
// // 慖戰壜擻側傾僀僥儉庬暿傪愝掕偡傞
// listBox->SetSelectableItemTypeL(EMusicItemTypeSongItem); // 僼僅儖僟偼儕僗僩儃僢僋僗偱徚旓偝傟傞
//TRK5259 7/31 end
// 惂尷懳徾(敿婸搙昞帵)偲側傞傾僀僥儉庬暿傪愝掕偡傞
listBox->SetRestrictItemTypeL(ERestrictItemTypePlaylistFolder | ERestrictItemTypeBruShortCut);
//ADD-START PTX824
TSmbMusicAPFileSystemComListPattern listPattern; // 嵟怴偺昞帵僗僞僀儖
listPattern = (GetListViewStyleL() == ESmbPGMusicAPListViewStyleThumbnail)
? ESmbMusicAPListPatternListWithThumbnail : ESmbMusicAPListPatternList;
listBox->SetDisplayPatternL(listPattern);
//ADD-START PTX824
// AddControlL(listBox->GetCoeControl(), &(listBox->KeyGuidance()))傪幚峴偡傞慜偵丆ApplyL()偡傞昁梫偑偁傞
listBox->ApplyL();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -