📄 mmidc_storage_wintab.c
字号:
/*****************************************************************************
** File Name: mmidc_storage_wintab.c *
** Author: *
** Date: 2005-8 *
** Copyright: 2003 Spreadtrum, Incorporated. All Rights Reserved. *
** Description: This file is used to describe dc file storage window table*
*****************************************************************************
** Important Edit History *
** --------------------------------------------------------------------------*
** DATE NAME DESCRIPTION *
** 08/2005 Bruce.Chi Create *
*****************************************************************************/
#ifndef _MMIDC_STORAGE_WINTAB_C_
#define _MMIDC_STORAGE_WINTAB_C_
/**--------------------------------------------------------------------------*
** Include Files *
**--------------------------------------------------------------------------*/
#include "mmidc_internal.h"
#include "mmidisplay_data.h"
#include "mmi_id.h"
#include "window_parse.h"
#include "mmi_menutable.h"
#include "mmi_pubwin.h"
#include "mmi_common.h"
#include "guilistbox.h"
#include "guieditbox.h"
#include "guilabel.h"
#include "mmi_appmsg.h"
#include "mmi_pubwin.h"
#include "mmiphone.h"
#include "mmimms.h"
#include "mmiset.h"
#include "mainapp.h"
#include "mmi_default.h"
#include "mmi_textfun.h"
#include "tempX.h"
#include "mmimedium.h"
#ifdef MMI_BLUETOOTH
#include "mmi_btinterface.h"
#endif
/**--------------------------------------------------------------------------*
** MACRO DEFINITION *
**--------------------------------------------------------------------------*/
#define MMIDC_MAX_DISPLAY_NAME_LEN LISTBOX_STRING_MAX_NUM //@cr73752
#define MMIDC_FILL_CLIENT()\
{\
GUI_RECT_T rect = MMI_CLIENT_RECT;\
LCD_FillRect(0, rect, MMI_WINDOW_BACKGROUND_COLOR);\
}
#define INPUT_RECT_LEFT 6
#define INPUT_RECT_RIGHT (MMI_MAINSCREEN_RIGHT_MAX_PIXEL - INPUT_RECT_LEFT)
#define INPUT_RECT_BOTTOM (MMI_MAINSCREEN_BOTTOM_MAX_PIXEL / 2)
#define INPUT_RECT_TOP (INPUT_RECT_BOTTOM - 20)
#define KILO 1024
#define DETAIL_IND_LABEL_WIDTH 50
#define DETAIL_LABEL_HEIGHT 17
#define DETAIL_LABEL_NUM DETAIL_LABEL_MAX_NUM
#define DETAIL_RESOLUTION_WIDTH 80
#define MMIDC_PATH_NAME "DC/"
/**--------------------------------------------------------------------------*
** STATIC DEFINITION *
**--------------------------------------------------------------------------*/
LOCAL MMIDC_ALBUM_OPEN_FROM s_album_open_status;
/*---------------------------------------------------------------------------*/
/* TYPE AND CONSTANT */
/*---------------------------------------------------------------------------*/
typedef struct
{
uint32 photo_index;
uint8* photo_buf_ptr;
uint32 photo_buf_len;
BOOLEAN is_photo_valid;
}PHOTO_OPT_WINDOW_INFO_T;
typedef enum
{
DETAIL_LABEL_NAME,
DETAIL_LABEL_SIZE,
DETAIL_LABEL_DATE,
DETAIL_LABEL_TIME,
DETAIL_LABEL_RESOLUTION,
DETAIL_LABEL_FORMAT,
DETAIL_LABEL_LOCATION,
DETAIL_LABEL_MAX_NUM
}MMIDC_DETAIL_LABEL_E;
/**--------------------------------------------------------------------------*
** EXTERNAL DECLARE *
**--------------------------------------------------------------------------*/
extern MMIDC_PHOTO_INFO_T s_mmidc_photo_info;//所有照片的详情
/**--------------------------------------------------------------------------*
** GLOBAL DEFINITION *
**--------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/* LOCAL FUNCTION DECLARE */
/*---------------------------------------------------------------------------*/
/*****************************************************************************/
// 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
);
/*****************************************************************************/
// Description : to handle the waiting window for file writing
// Global resource dependence :
// Author:
// Note:
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleWritePhotoFileWaitWinMsg(
MMI_WIN_ID_T win_id,
MMI_MESSAGE_ID_E msg_id,
DPARAM param
);
/*****************************************************************************/
// Description : to handle the message of album win
// Global resource dependence :
// Author: bruce.chi
// Note:
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleAlbumWinMsg(
MMI_WIN_ID_T win_id,
MMI_MESSAGE_ID_E msg_id,
DPARAM param
);
/*****************************************************************************/
// Description : to handle the message of rename filename win
// Global resource dependence :
// Author:bruce.chi
// Note:
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleInputPhotoNameWinMsg(
MMI_WIN_ID_T win_id,
MMI_MESSAGE_ID_E msg_id,
DPARAM param
);
/*****************************************************************************/
// Description : open waiting win to save jpg
// Global resource dependence :
// Author:
// Note:
/*****************************************************************************/
LOCAL BOOLEAN OpenSaveingWin(MMI_WIN_ID_T win_id);
/*****************************************************************************/
// Description : alert save result
// Global resource dependence :
// Author:
// Note:
/*****************************************************************************/
LOCAL void AlertSaveResult(MMIDC_FFS_WRITE_RESULT_E ffs_result);
/*****************************************************************************/
// Description : to handle the message of picture optioni win
// Global resource dependence :
// Author:bruce.chi
// Note:
/*****************************************************************************/
LOCAL MMI_RESULT_E HandlePicOptionMenuWinMsg(
MMI_WIN_ID_T win_id,
MMI_MESSAGE_ID_E msg_id,
DPARAM param
);
/*****************************************************************************/
// 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
);
/*****************************************************************************/
// 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
);
/*****************************************************************************/
// 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
);
/*****************************************************************************/
// Description : alert delete result
// Global resource dependence :
// Author:
// Note:
/*****************************************************************************/
LOCAL void AlertDeleteResult(MMIDC_FFS_DEL_RESULT_E ffs_result);
/*****************************************************************************/
// 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
);
/*****************************************************************************/
// Description : begin copy udisk to sd
// Global resource dependence :
// Author: bruce.chi
// Note:
/*****************************************************************************/
LOCAL void CopyDCToSD(void);
/*****************************************************************************/
// Description : begin copy sd to udisk
// Global resource dependence :
// Author: bruce.chi
// Note:
/*****************************************************************************/
LOCAL void CopyDCToUdisk(void);
// the album window
WINDOW_TABLE( MMIDC_ALBUM_WIN_TAB ) =
{
CLEAR_LCD,
WIN_PRIO( WIN_ONE_LEVEL ),
WIN_FUNC( (uint32)HandleAlbumWinMsg ),
WIN_ID( MMIDC_ALBUM_WIN_ID ),
CREATE_LISTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, LISTBOX_TEXTLIST_E, LISTBOX_TEXT1_E, MMIDC_ALBUM_LISTBOX_CTRL_ID),
WIN_TITLE_ID(TXT_DC_ALBUM),
END_WIN
};
//the window for input photo name
WINDOW_TABLE(MMIDC_INPUT_PHOTO_NAME_WIN_TAB) =
{
CLEAR_LCD,
WIN_PRIO(WIN_ONE_LEVEL),
WIN_FUNC((uint32)HandleInputPhotoNameWinMsg),
WIN_ID(MMIDC_INPUT_PHOTO_NAME_WIN_ID),
CREATE_TEXTEDITBOX_CTRL(INPUT_RECT_LEFT, INPUT_RECT_TOP, INPUT_RECT_RIGHT, INPUT_RECT_BOTTOM, \
MMIDC_MAX_DISPLAY_NAME_LEN, MMIDC_MAX_DISPLAY_NAME_LEN / 2, \
IM_DEFAULT_ALL_INPUT_MODE_SET, \
IM_PINYIN_MODE, \
MMIDC_INPUT_PHOTO_NAME_EDITBOX_CTRL_ID\
),
WIN_TITLE_ID(TXT_DC_INPUTNAME),
END_WIN
};
// the photo option window
WINDOW_TABLE( MMIMDC_PHOTOOPTION_WIN_TAB ) =
{
CLEAR_LCD,
WIN_PRIO(WIN_ONE_LEVEL ),
WIN_FUNC((uint32)HandlePicOptionMenuWinMsg),
WIN_ID( MMIDC_PICOPTION_WIN_ID ),
CREATE_MENU_CTRL(0, 0, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_MAINSCREEN_BOTTOM_MAX_PIXEL, MENU_DC_PHOTO_OPT, MMIDC_PICOPTION_MENU_ID),
END_WIN
};
// the album option window
WINDOW_TABLE( MMIMDC_ALBUMOPTION_WIN_TAB ) =
{
CLEAR_LCD,
WIN_PRIO(WIN_ONE_LEVEL ),
WIN_FUNC((uint32)HandlePicOptionMenuWinMsg),
WIN_ID( MMIDC_PICOPTION_WIN_ID ),
CREATE_MENU_CTRL(0, 0, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_MAINSCREEN_BOTTOM_MAX_PIXEL, MENU_DC_ALBUM_OPT, MMIDC_PICOPTION_MENU_ID),
END_WIN
};
//the window for show detail
WINDOW_TABLE(MMIDC_SHOWDETAILWIN_TAB) =
{
CLEAR_LCD,
WIN_PRIO(WIN_ONE_LEVEL),
WIN_FUNC((uint32)HandleShowDetailWinMsg),
WIN_ID(MMIDC_SHOW_DETAIL_WIN_ID),
// CREATE_TEXTBOX_CTRL(0, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_BOTTOM, MAINLCD_ID, MMIDC_DETAIL_TEXTBOX_CTRL_ID),
CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL1_CTRL_ID),
CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 2* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL2_CTRL_ID),
CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + 2* DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 3* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL3_CTRL_ID),
CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + 3* DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 4* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL4_CTRL_ID),
CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + 4* DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 5* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL5_CTRL_ID),
CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + 5* DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 6* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL6_CTRL_ID),
CREATE_LABEL_CTRL(0, MMI_CLIENT_RECT_TOP + 6* DETAIL_LABEL_HEIGHT, DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 7* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_IND_LABEL7_CTRL_ID),
CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL1_CTRL_ID),
CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 2* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL2_CTRL_ID),
CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 2* DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 3* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL3_CTRL_ID),
CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 3* DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 4* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL4_CTRL_ID),
CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 4* DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 5* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL5_CTRL_ID),
CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 5* DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 6* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL6_CTRL_ID),
CREATE_LABEL_CTRL(DETAIL_IND_LABEL_WIDTH, MMI_CLIENT_RECT_TOP + 6* DETAIL_LABEL_HEIGHT, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_CLIENT_RECT_TOP + 7* DETAIL_LABEL_HEIGHT - 1, GUILABEL_LEFT, 0, MMIDC_DETAIL_TEXT_LABEL7_CTRL_ID),
WIN_TITLE_ID(TXT_DC_OPT_DETAIL),
END_WIN
};
// copy all photo in udisk to sd , or sd to udisk
WINDOW_TABLE(MMIDC_COPY_ALL_WIN_TAB) =
{
CLEAR_LCD,
WIN_PRIO(WIN_ONE_LEVEL),
WIN_FUNC((uint32)HandleCopyAllWinMsg),
WIN_ID(MMIDC_COPY_ALL_WIN_ID),
WIN_TITLE_ID(TXT_DC_COPY_ALL),
CREATE_MENU_CTRL(0, 0, MMI_MAINSCREEN_RIGHT_MAX_PIXEL, MMI_MAINSCREEN_BOTTOM_MAX_PIXEL, MENU_DC_COPY_ALL, MMIDC_COPY_ALL_CTRL_ID),
END_WIN
};
/**--------------------------------------------------------------------------*
** FUNCTION DEFINITION *
**--------------------------------------------------------------------------*/
/*****************************************************************************/
// Description : to handle the message of album win
// Global resource dependence :
// Author:bruce.chi
// Note:
/*****************************************************************************/
LOCAL MMI_RESULT_E HandleAlbumWinMsg(
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -