📄 mmidc_storage_wintab.c
字号:
MMIMEDIUM_CopyOneDc(FALSE,photo_index,PNULL);
}
break;
case MSG_PROMPTWIN_CANCEL:
PUBWIN_ClosePromptQueryWin();
break;
case MSG_MULTIM_CLOSE_WAITING_WIN:
photo_opt_info_ptr = (PHOTO_OPT_WINDOW_INFO_T *)MMK_GetWinAddDataPtr(win_id);
SCI_ASSERT(photo_opt_info_ptr != PNULL);
photo_detail_ptr = DCSaveInfo_GetPhotoDetail(photo_opt_info_ptr->photo_index);
SCI_TRACE_LOW("mmidc_storage_wintab.c:HandlePicOptionMenuWinMsg: width = %d, height = %d!", photo_detail_ptr->width, photo_detail_ptr->height);
//add subfix
SCI_MEMSET(name_arr, 0, sizeof(name_arr));
name_len = MIN(photo_detail_ptr->name_len, MMIDC_MAX_PHOTO_NAME_LEN);
SCI_MEMCPY(name_arr, photo_detail_ptr->name_ptr, name_len);
name_len = MMISTR_AddSubfix((uint8 *)name_arr, name_len, TRUE, (uint8 *)MMIDC_DEFAULT_SUBFIX, MMIDC_DEFAULT_SUBFIX_LEN);
DC_ASSERT_LOW(name_len <= MMIDC_MAX_PHOTO_NAME_LEN + MMIDC_DEFAULT_SUBFIX_LEN * 2);
if (MMIMULTIM_SetDCPicWallpaper(
photo_opt_info_ptr->photo_buf_ptr,
photo_opt_info_ptr->photo_buf_len,
(uint16 *)name_arr,//photo_detail_ptr->name_ptr, //need subfix
name_len,
photo_detail_ptr->location,
ANIM_JPG)
)
{
PUBWIN_ClosePromptAlertWin();
PUBWIN_OpenPromptAlertWin(PUBWIN_SOFTKEY_ONE, TXT_MMIMULTIM_COMPLETED, IMAGE_PROMPT_ICON_SUCCESS, MMI_3SECONDS, PNULL);
if (MMK_IsOpenWin(MMIDC_ALBUM_WIN_ID)) //later, need to set the selected icon in list
{
GUILISTBOX_RemoveAllItems(MMIDC_ALBUM_LISTBOX_CTRL_ID);
LoadAlbum(MMIDC_ALBUM_LISTBOX_CTRL_ID);
}
}
else
{
SCI_TRACE_LOW("mmidc_storage_wintab.c:HandlePicOptionMenuWinMsg: set wallpaper error!");
PUBWIN_ClosePromptAlertWin();
PUBWIN_OpenPromptAlertWin(
PUBWIN_SOFTKEY_ONE,
TXT_DC_PICTOO_LARGE,
IMAGE_PROMPT_ICON_FAIL,
MMI_3SECONDS,
PNULL);
}
break;
default:
recode = MMI_RESULT_FALSE;
break;
}
return recode;
}
/*****************************************************************************/
// Description : to handle the message of the waiting win that will not be disturbed by power key or flip key
// Global resource dependence :
// Author:bruce.chi
// Note:
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleAlwaysWaitingAlertWinMsg(
MMI_WIN_ID_T win_id,
MMI_MESSAGE_ID_E msg_id,
DPARAM param
)
{
MMI_RESULT_E result = MMI_RESULT_TRUE;
switch (msg_id)
{
case MSG_APP_RED:
break;
case MSG_APP_FLIP:
MMIDEFAULT_HandleFlipKey(FALSE);
break;
default:
result = PUBWIN_HandlePromptAlertWinMsg(win_id, msg_id, param);
break;
}
return (result);
}
/*****************************************************************************/
// Description : to handle the message of the waiting win that will not be disturbed by power key or flip key
// Global resource dependence :
// Author:bruce.chi
// Note:
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleAlwaysWaitingWinMsg(
MMI_WIN_ID_T win_id,
MMI_MESSAGE_ID_E msg_id,
DPARAM param
)
{
MMI_RESULT_E result = MMI_RESULT_TRUE;
switch (msg_id)
{
case MSG_APP_RED:
break;
case MSG_APP_FLIP:
MMIDEFAULT_HandleFlipKey(FALSE);
break;
case MSG_CLOSE_WINDOW:
SCI_TRACE_LOW("HandleAlwaysWaitingWinMsgdc MSG_CLOSE_WINDOW");
MMK_PostMsg(MAIN_SD_WAIT_WIN_ID,MSG_HANDLE_SD,PNULL,0);
MMIDEFAULT_SetBackLight(TRUE);
MMI_IsEnableDeepSleep(TRUE);
MMIDEFAULT_SetDeepSleep(TRUE);
result = PUBWIN_HandleWaitingMessageWinMsg(win_id, msg_id, param);
break;
case MSG_OPEN_WINDOW:
MMI_IsEnableDeepSleep(FALSE);
MMIDEFAULT_SetDeepSleep(FALSE);
break;
default:
result = PUBWIN_HandleWaitingMessageWinMsg(win_id, msg_id, param);
break;
}
return (result);
}
/*****************************************************************************/
// Description : to handle the message of show detail win
// Global resource dependence :
// Author:bruce.chi
// Note:
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleShowDetailWinMsg(
MMI_WIN_ID_T win_id,
MMI_MESSAGE_ID_E msg_id,
DPARAM param
)
{
MMI_RESULT_E recode = MMI_RESULT_TRUE;
uint32 photo_index = 0;
PHOTO_OPT_WINDOW_INFO_T *photo_opt_info_ptr = PNULL;
SCI_TRACE_LOW("mmidc.c:HandleShowDetailWinMsg(), msg_id = %X", msg_id);
switch(msg_id)
{
case MSG_OPEN_WINDOW:
{
MMI_TEXT_ID_T text_id[DETAIL_LABEL_NUM] = {
TXT_DC_DETAIL_NAME, TXT_DC_DETAIL_SIZE,TXT_DC_DETAIL_DATE,
TXT_DC_DETAIL_TIME,TXT_DC_DETAIL_PIXEL,TXT_DC_DETAIL_TYPE,
TXT_DC_DETAIL_LOCATION
};
uint16 i =0;
const MMIDC_PHOTO_DETAIL_T *detail_ptr = PNULL;
MMI_STRING_T detail_text[DETAIL_LABEL_NUM] = {0};
uint8 size_str[16] = {0};
uint8 date_str[20] = {0}; //"2004.07.21"
uint8 time_str[16] = {0}; //"15:03"
uint8 length_str[10] = {0}; //"20k"
MMI_TM_T time = {0};
MMISET_LANGUAGE_TYPE_E language_type;
MMISET_GetLanguageType(&language_type);
for(i=0; i<DETAIL_LABEL_NUM; i++)
{
GUILABEL_SetTextById(MMIDC_DETAIL_IND_LABEL1_CTRL_ID+i, text_id[i], FALSE);
}
photo_opt_info_ptr = (PHOTO_OPT_WINDOW_INFO_T *)MMK_GetWinAddDataPtr(win_id);
photo_index = photo_opt_info_ptr->photo_index;
DC_ASSERT_LOW(photo_index < MMIDC_MAX_PHOTO_NUM);
detail_ptr = DCSaveInfo_GetPhotoDetail(photo_index);
detail_text[DETAIL_LABEL_NAME].str_ptr = (uint8 *)detail_ptr->name_ptr;
detail_text[DETAIL_LABEL_NAME].length = detail_ptr->name_len;
detail_text[DETAIL_LABEL_NAME].is_ucs2 = TRUE;
sprintf((char *)size_str, "%dX%d", detail_ptr->width, detail_ptr->height);
detail_text[DETAIL_LABEL_RESOLUTION].str_ptr = size_str;
detail_text[DETAIL_LABEL_RESOLUTION].length = strlen((char *)size_str);
DC_ASSERT_LOW(detail_text[DETAIL_LABEL_RESOLUTION].length < sizeof(size_str));
detail_text[DETAIL_LABEL_RESOLUTION].is_ucs2 = FALSE;
SCI_TRACE_LOW("HandleShowDetailWinMsg: memory_size = %d!", detail_ptr->memory_size);
sprintf((char *)length_str, "%d.%.3dK", (detail_ptr->memory_size / KILO), ((detail_ptr->memory_size % KILO) * 1000 / KILO));
detail_text[DETAIL_LABEL_SIZE].str_ptr = length_str;
detail_text[DETAIL_LABEL_SIZE].length = strlen((char *)length_str);
DC_ASSERT_LOW(detail_text[DETAIL_LABEL_SIZE].length < sizeof(length_str));
detail_text[DETAIL_LABEL_SIZE].is_ucs2 = FALSE;
if(photo_opt_info_ptr->is_photo_valid)
{
detail_text[DETAIL_LABEL_FORMAT].str_ptr = (uint8 *)"jpg";
detail_text[DETAIL_LABEL_FORMAT].length = strlen("jpg");
detail_text[DETAIL_LABEL_FORMAT].is_ucs2 = FALSE;
}
else
{
detail_text[DETAIL_LABEL_FORMAT].str_ptr = (uint8 *)"error";
detail_text[DETAIL_LABEL_FORMAT].length = strlen("error");
detail_text[DETAIL_LABEL_FORMAT].is_ucs2 = FALSE;
}
time = MMI_FatData2Tm(detail_ptr->time);
sprintf((char *)date_str, "%d.%02d.%02d", time.tm_year, time.tm_mon, time.tm_mday);
detail_text[DETAIL_LABEL_DATE].str_ptr = date_str;
detail_text[DETAIL_LABEL_DATE].length = strlen((char *)date_str);
DC_ASSERT_LOW(detail_text[DETAIL_LABEL_DATE].length < sizeof(date_str));
detail_text[DETAIL_LABEL_DATE].is_ucs2 = FALSE;
sprintf((char *)time_str, "%02d:%02d", time.tm_hour, time.tm_min);
detail_text[DETAIL_LABEL_TIME].str_ptr = time_str;
detail_text[DETAIL_LABEL_TIME].length = strlen((char *)time_str);
DC_ASSERT_LOW(detail_text[DETAIL_LABEL_TIME].length < sizeof(time_str));
detail_text[DETAIL_LABEL_TIME].is_ucs2 = FALSE;
for(i=0; i<6; i++)
{
GUILABEL_SetText(MMIDC_DETAIL_TEXT_LABEL1_CTRL_ID+i, &(detail_text[i]), FALSE);
}
if(MMISET_LANGUAGE_ENGLISH == language_type)
{
GUI_RECT_T ind_rect = {0, MMI_CLIENT_RECT_TOP + 4* DETAIL_LABEL_HEIGHT, DETAIL_RESOLUTION_WIDTH, MMI_CLIENT_RECT_TOP + 5* DETAIL_LABEL_HEIGHT};
GUI_RECT_T label_rect = {DETAIL_RESOLUTION_WIDTH, MMI_CLIENT_RECT_TOP + 4* DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 5* DETAIL_LABEL_HEIGHT};
GUILABEL_SetRect(MMIDC_DETAIL_IND_LABEL1_CTRL_ID + DETAIL_LABEL_RESOLUTION, &ind_rect, FALSE);
GUILABEL_SetRect(MMIDC_DETAIL_TEXT_LABEL1_CTRL_ID + DETAIL_LABEL_RESOLUTION, &label_rect, FALSE);
}
if( FS_UDISK ==detail_ptr->location )
{
GUILABEL_SetTextById(MMIDC_DETAIL_TEXT_LABEL7_CTRL_ID,(MMI_TEXT_ID_T)TXT_DC_SAVE_DISK_UDISK,FALSE);
}
else if(FS_MMC ==detail_ptr->location)
{
GUILABEL_SetTextById(MMIDC_DETAIL_TEXT_LABEL7_CTRL_ID,(MMI_TEXT_ID_T)TXT_DC_SAVE_DISK_SDCARD,FALSE);
}
else
{
GUILABEL_SetTextById(MMIDC_DETAIL_TEXT_LABEL7_CTRL_ID,(MMI_TEXT_ID_T)TXT_NULL,FALSE);
}
MMK_SetWinSoftkeyId(win_id, STXT_OK, TXT_NULL, STXT_RETURN, FALSE);
}
break;
case MSG_FULL_PAINT:
MMIDC_FILL_CLIENT();
break;
case MSG_APP_CANCEL:
case MSG_APP_OK:
MMK_CloseWin(win_id);
break;
default:
recode = MMI_RESULT_FALSE;
break;
}
return recode;
}
/*****************************************************************************/
// Description : change Listbox item the index is s_photo_index
// Global resource dependence :
// Author:bruce.chi
// Note: make sure input string is UCS2
/*****************************************************************************/
LOCAL BOOLEAN ChangeListboxItem(
uint32 photo_index,
uint8 *str,
uint16 str_len,
FILE_DEV_E_T device
)
{
GUI_LISTBOX_ITEM_T item;
uint16 item_idx = 0;
DC_ASSERT_LOW(PNULL != str);
item_idx = DCSaveInfo_GetPotoTotalNum() - 1 - photo_index;
SCI_MEMSET(&item, 0, sizeof(item));
item.str_len = MIN(str_len, LISTBOX_STRING_MAX_NUM);
MMI_MEMCPY(item.str, LISTBOX_STRING_MAX_NUM, str, str_len, item.str_len);
// Check WallPaper
if (IsDCWallpaper((uint16 *)str, (uint16)str_len, device))
{
item.left_icon_id = IMAGE_SELECT_TICK_ON_PIC;
}
else
{
item.left_icon_id = IMAGE_MULTIMEDIA_CAMERA_PIC_ICON;
}
item.is_ucs2 = TRUE;
item.softkey_id[0] = STXT_OK;
item.softkey_id[1] = TXT_NULL;
item.softkey_id[2] = STXT_RETURN;
return GUILISTBOX_ReplaceItem(MMIDC_ALBUM_LISTBOX_CTRL_ID, &item, item_idx);
}
/*****************************************************************************/
// Description : create copy all window
// Global resource dependence :
// Author: bruce.chi
// Note:
/*****************************************************************************/
PUBLIC void MMIDC_OpenCopyAllWin(void)
{
MMK_CreateWin((uint32*)MMIDC_COPY_ALL_WIN_TAB, PNULL);
}
/*****************************************************************************/
// Description : to handle the message of copy all files win
// Global resource dependence :
// Author: bruce.chi
// Note:
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleCopyAllWinMsg(
MMI_WIN_ID_T win_id,
MMI_MESSAGE_ID_E msg_id,
DPARAM param
)
{
BOOLEAN recode = MMI_RESULT_TRUE;
MMI_MENU_GROUP_ID_T group_id = 0;
MMI_MENU_ID_T menu_id = 0;
MMI_CTRL_ID_T menu_ctrl_id = MMIDC_COPY_ALL_CTRL_ID;
switch(msg_id)
{
case MSG_OPEN_WINDOW:
MMK_SetAtvCtrl(win_id, menu_ctrl_i
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -