?? smbmusicapfilemgrstorageinfofolderview.cpp
字號:
}
/**
* 梕検昞帵偍傛傃審悢昞帵傪徚嫀偡傞丏
*/
void CSmbMusicAPFileMgrStorageInfoFolderView::ClearStorageInfo(void)
{
iMaxSize = 0;
iUsedSize = 0;
//CQ-TRK7502 MOD-START PTX824
// TRAPD(error, UpdateRightTextL(*iCapacityContainer, 0, KNullDesC));
TRAPD(error, UpdateRightTextL(*iCapacityContainer, KNullDesC));
//CQ-TRK7502 MOD-END PTX824
if (error)
{
OUTPUT_LOG1_ERROR("UpdateRightTextL(*iCapacityContainer, 0, KNullDesC): %d", error);
}
//CQ-TRK7502 MOD-START PTX824
// TRAP(error, UpdateRightTextL(*iCapacityContainer, 1, KNullDesC));
TRAP(error, UpdateRightTextL(*iUseSizeContainer, KNullDesC));
//CQ-TRK7502 MOD-END PTX824
if (error)
{
OUTPUT_LOG1_ERROR("UpdateRightTextL(*iCapacityContainer, 1, KNullDesC): %d", error);
}
//CQ-TRK7502 MOD-START PTX824
// TRAP(error, UpdateRightTextL(*iCountContainer, 0, KNullDesC));
TRAP(error, UpdateRightTextL(*iMaxCountContainer, KNullDesC));
//CQ-TRK7502 MOD-END PTX824
if (error)
{
OUTPUT_LOG1_ERROR("UpdateRightTextL(*iCountContainer, 0, KNullDesC): %d", error);
}
//CQ-TRK7502 MOD-START PTX824
// TRAP(error, UpdateRightTextL(*iCountContainer, 1, KNullDesC));
TRAP(error, UpdateRightTextL(*iCountContainer, KNullDesC));
//CQ-TRK7502 MOD-END PTX824
if (error)
{
OUTPUT_LOG1_ERROR("UpdateRightTextL(*iCountContainer, 1, KNullDesC): %d", error);
}
}
/**
* @param[in] aKeyEvent 僉乕僀儀儞僩
* @param[in] aType 僀儀儞僩僞僀僾
* @return 僉乕儗僗億儞僗
*/
TKeyResponse CSmbMusicAPFileMgrStorageInfoFolderView::OfferKeyEventImplL(const TKeyEvent& aKeyEvent, TEventCode /*aType*/)
{
switch (aKeyEvent.iCode)
{
case EWcdmaMpKeyClear: // 僋儕傾僉乕
// 慜夋柺偵慗堏
iAppUi.HandleCommandL(ECmdBackView);
return EKeyWasConsumed;
default:
break;
}
return EKeyWasNotConsumed;
}
/**
* 儊儞僶曄悢(CSmbMusicAPFileMgrStorageInfoFolderView::iMaxSize, CSmbMusicAPFileMgrStorageInfoFolderView::iUsedSize)
* 偵愝掕偝傟偰偄傞抣傪梕検昞帵梡悅捈僐儞僥僫(CSmbMusicAPFileMgrStorageInfoFolderView::iCapacityContainer)偵愝掕偡傞丏
*
* @param[in] aDisplayUnit 昞帵扨埵(KB/MB)
*/
void CSmbMusicAPFileMgrStorageInfoFolderView::UpdateCapacityInfoL(TUnitType aDisplayUnit)
{
HBufC* maxSizeText = NULL;
HBufC* usedSizeText = NULL;
if (aDisplayUnit == EUnitKB) // KB昞帵
{
TUint maxSize = CSmbMusicAPFileMgrStorageInfoFolderView::Byte2KByte(iMaxSize);
TUint usedSize = CSmbMusicAPFileMgrStorageInfoFolderView::Byte2KByte(iUsedSize);
// 巊梡梕検偑憤梕検傪挻偊傞応崌偼憤梕検偲摨抣偲側傞傛偆嫺惓
if (usedSize > maxSize)
{
usedSize = maxSize;
}
// 暥帤楍傪惗惉: ###,###,###KB
maxSizeText = SmbAfWordingFormatter::FormatLC(*iCoeEnv, R_STORAGEINFOFOLDER_KBSIZE, maxSize);
usedSizeText = SmbAfWordingFormatter::FormatLC(*iCoeEnv, R_STORAGEINFOFOLDER_KBSIZE, usedSize);
}
else // MB昞帵
{
TReal maxSize = CSmbMusicAPFileMgrStorageInfoFolderView::Byte2MByte(iMaxSize);
TReal usedSize = CSmbMusicAPFileMgrStorageInfoFolderView::Byte2MByte(iUsedSize);
// 巊梡梕検偑憤梕検傪挻偊傞応崌偼憤梕検偲摨抣偲側傞傛偆嫺惓
if (usedSize > maxSize)
{
usedSize = maxSize;
}
// 暥帤楍傪惗惉: ###.#MB
maxSizeText = SmbAfWordingFormatter::FormatLC(*iCoeEnv, R_STORAGEINFOFOLDER_MBSIZE, maxSize);
usedSizeText = SmbAfWordingFormatter::FormatLC(*iCoeEnv, R_STORAGEINFOFOLDER_MBSIZE, usedSize);
}
//CQ-TRK7502 MOD-START PTX824
// UpdateRightTextL(*iCapacityContainer, 0, *maxSizeText);
// UpdateRightTextL(*iCapacityContainer, 1, *usedSizeText);
UpdateRightTextL(*iCapacityContainer, *maxSizeText);
UpdateRightTextL(*iUseSizeContainer, *usedSizeText);
//CQ-TRK7502 MOD-END PTX824
CleanupStack::PopAndDestroy(usedSizeText); // SmbAfWordingFormatter::FormatLC
CleanupStack::PopAndDestroy(maxSizeText); // SmbAfWordingFormatter::FormatLC
}
/**
* 儊儞僶曄悢(CSmbMusicAPFileMgrStorageInfoFolderView::iMaxCount, CSmbMusicAPFileMgrStorageInfoFolderView::iUsedCount)
* 偵愝掕偝傟偰偄傞抣傪審悢昞帵梡悅捈僐儞僥僫 (CSmbMusicAPFileMgrStorageInfoFolderView::iCountContainer)偵愝掕偡傞丏
*/
void CSmbMusicAPFileMgrStorageInfoFolderView::UpdateCountInfoL(void)
{
HBufC* maxCountText = SmbAfWordingFormatter::FormatLC(*iCoeEnv, R_SMB_AF_STR_WRD1104, iMaxCount);
HBufC* usedCountText = SmbAfWordingFormatter::FormatLC(*iCoeEnv, R_SMB_AF_STR_WRD1104, iUsedCount);
//CQ-TRK7502 MOD-START PTX824
// UpdateRightTextL(*iCountContainer, 0, *maxCountText);
// UpdateRightTextL(*iCountContainer, 1, *usedCountText);
UpdateRightTextL(*iMaxCountContainer, *maxCountText);
UpdateRightTextL(*iCountContainer, *usedCountText);
//CQ-TRK7502 MOD-END PTX824
CleanupStack::PopAndDestroy(usedCountText);
CleanupStack::PopAndDestroy(maxCountText);
}
/**
* 梕検昞帵僌儔僼偍傛傃嫬奅慄夋憸傪昤夋偡傞丏
*
* @param[in] aRect 昤夋椞堟
*/
void CSmbMusicAPFileMgrStorageInfoFolderView::Draw(const TRect& aRect) const
{
//MOD-START PTX824
// CAfView::Draw(aRect);
CSmbAfView::Draw(aRect);
//MOD-END PTX824
CWindowGc& gc = CCoeControl::SystemGc();
// 嫬奅慄夋憸
TRect r = aRect;
r.Intersection(KBorderImageRect);
SkonUtils::DrawHorizontalLine(gc, r);
const CGulIcon* frame = iIconCache->Icon(EMbmDataboxDb_memory_frame, EMbmDataboxDb_memory_framem);
__ASSERT_DEBUG(frame != NULL, PANIC(KErrArgument));
// Frame昤夋
gc.BitBltMasked(KFrameImagePos, frame->Bitmap(), TRect(TPoint(0, 0), frame->Bitmap()->SizeInPixels()), frame->Mask(), EFalse);
// Bar昤夋
const CGulIcon* bar = iIconCache->Icon(EMbmDataboxDb_memory_bar);
__ASSERT_DEBUG(bar != NULL, PANIC(KErrArgument));
// 僷乕僙儞僥乕僕偺嶼弌偼KB扨埵偱峴偆
TUint usedSizeKB = CSmbMusicAPFileMgrStorageInfoFolderView::Byte2KByte(iUsedSize);
TUint maxSizeKB = CSmbMusicAPFileMgrStorageInfoFolderView::Byte2KByte(iMaxSize);
TSize barSize = bar->Bitmap()->SizeInPixels();
TUint ratio = (iMaxSize != 0) ? (static_cast<TReal>(usedSizeKB) / static_cast<TReal>(maxSizeKB)) * KPercentBase : 0;
if (ratio > KPercentBase)
{
ratio = KPercentBase;
}
if (usedSizeKB > 0 && ratio == 0)
{
// 巊梡梕検偑0偱側偔丄僷乕僙儞僥乕僕偑0偺応崌偼1偵傑傞傔傞
ratio = 1;
}
// 夋憸1枃傪1%暘偲偟偰昞帵偡傞
TPoint p = KBarImagePos;
for (TUint i = 0; i < ratio; ++i)
{
gc.BitBlt(p, bar->Bitmap());
p.iX += barSize.iWidth;
}
//ADD-START PTX824
KeyGuidance()->Apply();
//ADD-END PTX824
}
/**
* Byte扨埵偺抣傪KByte扨埵偺抣偵曄姺偡傞丏(彮悢揰愗傝忋偘)
*
* @param[in] aValue 曄姺懳徾抣 (扨埵Byte)
* @return 曄姺偝傟偨KByte扨埵偺抣
*/
TUint CSmbMusicAPFileMgrStorageInfoFolderView::Byte2KByte(TUint aValue)
{
const TUint KUnitKB = 1024;
TUint ret = aValue / KUnitKB;
if ((aValue % KUnitKB) > 0)
{
ret++; // 愗傝忋偘
}
return ret;
}
/**
* Byte扨埵偺抣傪MByte扨埵偺抣偵曄姺偡傞丏(彮悢揰戞2埵愗傝忋偘)
*
* @param[in] aValue 曄姺懳徾抣 (扨埵Byte)
* @return 曄姺偝傟偨MByte扨埵偺抣(彮悢揰戞1埵昞帵)
*/
TReal CSmbMusicAPFileMgrStorageInfoFolderView::Byte2MByte(TUint aValue)
{
const TUint KUnitMB = 1024 * 1024;
TReal value = static_cast<TReal>(aValue) / static_cast<TReal>(KUnitMB);
TReal ret = static_cast<TUint>(value * 10.0) / 10.0;
if (ret < value)
{
ret += 0.1;
}
return ret;
}
//CQ-TRK7502 DEL-START PTX824
#if 0
/**
* 梕検昞帵梡悅捈僐儞僥僫(CSmbMusicAPFileMgrStorageInfoFolderView::iCapacityContainer)
* / 審悢昞帵梡悅捈僐儞僥僫(CSmbMusicAPFileMgrStorageInfoFolderView::iCountContainer) 偵奿擺偝傟偰偄傞悢帤傪愝掕丒峏怴偡傞丏
*
* @param[in,out] aContainer 悅捈僐儞僥僫
* @param[in] aIndex 0: 1峴栚 / 1: 2峴栚
* @param[in] aValue 擖椡抣
* @retval ETrue 峏怴偁傝
* @retval EFalse 峏怴側偟
*/
TBool CSmbMusicAPFileMgrStorageInfoFolderView::UpdateRightTextL(CSkonVerticalContainer& aContainer, TInt aIndex, const TDesC& aValue)
{
CSkonHorizontalContainer* container = static_cast<CSkonHorizontalContainer*>(aContainer.ControlByIndex(aIndex));
CSkonTextLabel* label = static_cast<CSkonTextLabel*>(container->RightControl());
if (label->Text() == NULL || *label->Text() != aValue)
{
// Layout傪峴偆偨傔偵堦扷嬻暥帤傪愝掕
_LIT(KEmptyText, "");
label->SetTextL(KEmptyText);
label->SetSize(label->MinimumSize());
container->Layout();
if (aValue != KNullDesC)
{
// 暥帤楍傪愝掕偟丄Layout傪峏怴
label->SetTextL(aValue);
label->SetSize(label->MinimumSize());
container->Layout();
}
return ETrue;
}
return EFalse;
}
#endif
//CQ-TRK7502 DEL-END PTX824
//CQ-TRK7502 ADD-START PTX824
/**
* 梕検昞帵梡悅捈僐儞僥僫(CSmbMusicAPFileMgrStorageInfoFolderView::iCapacityContainer)
* / 審悢昞帵梡悅捈僐儞僥僫(CSmbMusicAPFileMgrStorageInfoFolderView::iCountContainer) 偵奿擺偝傟偰偄傞悢帤傪愝掕丒峏怴偡傞丏
*
* @param[in,out] aContainer 悅捈僐儞僥僫
* @param[in] aIndex 0: 1峴栚 / 1: 2峴栚
* @param[in] aValue 擖椡抣
* @retval ETrue 峏怴偁傝
* @retval EFalse 峏怴側偟
*/
TBool CSmbMusicAPFileMgrStorageInfoFolderView::UpdateRightTextL(CSkonHorizontalContainer& aContainer, const TDesC& aValue)
{
CSkonTextLabel* label = static_cast<CSkonTextLabel*>(aContainer.RightControl());
if (label->Text() == NULL || *label->Text() != aValue)
{
// Layout傪峴偆偨傔偵堦扷嬻暥帤傪愝掕
_LIT(KEmptyText, "");
label->SetTextL(KEmptyText);
label->SetSize(label->MinimumSize());
aContainer.Layout();
if (aValue != KNullDesC)
{
// 暥帤楍傪愝掕偟丄Layout傪峏怴
label->SetTextL(aValue);
label->SetSize(label->MinimumSize());
aContainer.Layout();
}
Window().BeginRedraw(aContainer.Rect());
Window().EndRedraw();
return ETrue;
}
return EFalse;
}
//CQ-TRK7502 ADD-END PTX824
//CQ-TRK14956 ADD-START PTX824
/**
* 巜掕Container偺塃Label偺峏怴嬮宍傪庢摼偡傞丅
*
* @param[in] aContainer 峏怴懳徾偺HorizontalContainer僆僽僕僃僋僩丅
* @return 峏怴嬮宍丅
*/
TRect CSmbMusicAPFileMgrStorageInfoFolderView::GetLabelUpdateRect(const CSkonHorizontalContainer& aContainer)
{
TInt y = static_cast<CSkonTextLabel*>(aContainer.RightControl())->Position().iY;
return TRect(TPoint(KLabelUpdateRect.TL().iX, y), KLabelUpdateRect.Size());
}
//CQ-TRK14956 ADD-START PTX824
// end of SmbMusicAPFileMgrStorageInfoFolderView.cpp
/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -