⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmmsdraftsui.c

📁 MTK手机平台的MMI部分的源代码
💻 C
📖 第 1 页 / 共 5 页
字号:

    }

    return;

}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_entry_drafts_screen
 * DESCRIPTION
 *  Entry fn for drafts screen
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_entry_drafts_screen(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    PU8 gui_buffer; /* Buffer holding history data */
    U8 num_item;    /* Stores no of children in the submenu */
    JC_RETCODE eRet = JC_OK;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    eRet = mmi_mms_get_number_of_messages(MMI_JMMS_DRAFTS, &num_item);
    if (eRet != JC_OK)
    {
        ASSERT(0);
    }

    //if number of msga in fodelr is not same to as in global var then
    //it means some has been recieved as user was in inbox so need to update
    ///the msgs list
    if (g_jmms_context->store_context->update_nmsgs_in_current_folder)
    {
        mmi_jmms_entry_drafts();
        return;
    }

    EntryNewScreen(SCR_ID_JMMS_DRAFTS, NULL, mmi_jmms_entry_drafts_screen, NULL);

    gui_buffer = GetCurrGuiBuffer(SCR_ID_JMMS_DRAFTS);

    SetParentHandler(MENU_ID_JMMS_DRAFTS);
    RegisterHighlightHandler(mmi_jmms_folder_list_highlight_hdlr);

    /* reset the open msg status- for At delete */
    g_jmms_context->msg_open_status[0] = 0;
    g_jmms_context->msg_open_status[1] = 0;

    ShowCategory184Screen(
        STR_ID_JMMS_DRAFTS,
        GetRootTitleIcon(MAIN_MENU_MESSAGES_MENUID),
        STR_GLOBAL_OPTIONS,
        IMG_GLOBAL_OPTIONS,
        STR_GLOBAL_BACK,
        IMG_GLOBAL_BACK,
        g_jmms_context->store_context->nMsgs_in_Current_folder,
        mmi_jmms_get_item_data_drafts,
        mmi_jmms_get_item_hint_drafts,
        g_jmms_context->nCurr_scr_hilited_index,
        gui_buffer);

    SetLeftSoftkeyFunction(mmi_jmms_entry_drafts_options_scren, KEY_EVENT_UP);
    SetKeyHandler(mmi_jmms_entry_drafts_options_scren, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
    SetKeyHandler(mmi_jmms_entry_drafts_options_scren, KEY_WAP, KEY_EVENT_DOWN);

    SetRightSoftkeyFunction(mmi_jmms_back_from_msgs_list_screen, KEY_EVENT_UP);
    SetKeyHandler(mmi_jmms_back_from_msgs_list_screen, KEY_LEFT_ARROW, KEY_EVENT_DOWN);

}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_get_item_data_drafts
 * DESCRIPTION
 *  fn retrun the item data
 * PARAMETERS
 *  item_index          [IN]        (index of item to be drawn)
 *  str_buff            [IN]        (string of item)
 *  img_buff_p          [?]         [?]         (image corrsponding to item
 *  str_img_mask        [IN]        
 * RETURNS
 *  void
 *****************************************************************************/
pBOOL mmi_jmms_get_item_data_drafts(S32 item_index, UI_string_type str_buff, PU8 *img_buff_p, U8 str_img_mask)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    S32 count = 0;
    jmms_folder_msgs_list *msgs_list_node = NULL;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if ((item_index < 0) || (item_index > MAX_POSSIBLE_MESSAGES))
    {
        return FALSE;
    }

    msgs_list_node = g_jmms_context->store_context->messages_list;

    while (count != item_index && msgs_list_node != NULL)
    {
        msgs_list_node = msgs_list_node->next;
        count++;
    }

    if (msgs_list_node == NULL)
    {
        return FALSE;
    }

    pfnUnicodeStrcpy((S8*) str_buff, msgs_list_node->subject_as_caption);

    /* /TODO:: may need to change the icon */
    *img_buff_p = (PU8) GetImage((U16) (IMG_ID_JMMS_SENT_MMS));

    return TRUE;
}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_get_item_hint_drafts
 * DESCRIPTION
 *  Retrun the hint fot the item to be drawn
 * PARAMETERS
 *  item_index      [IN]        (index of item to be drawn)
 *  hint_array      [?]         [?]         (hint buufer for the item_index)
 * RETURNS
 *  void
 *****************************************************************************/
S32 mmi_jmms_get_item_hint_drafts(S32 item_index, UI_string_type *hint_array)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S32 count = 0;
    jmms_folder_msgs_list *msgs_list_node = NULL;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    if ((item_index < 0) || (item_index > MAX_POSSIBLE_MESSAGES))
    {
        return FALSE;
    }

    msgs_list_node = g_jmms_context->store_context->messages_list;
    while (count != item_index && msgs_list_node != NULL)
    {
        msgs_list_node = msgs_list_node->next;
        count++;
    }

    if (msgs_list_node == NULL || msgs_list_node->address_as_hint == NULL)
    {
        return 0;
    }

    if (pfnUnicodeStrlen((S8*) (msgs_list_node->address_as_hint)))
    {
        pfnUnicodeStrcpy((S8*) hint_array[0], (S8*) (msgs_list_node->address_as_hint));
    }
    else
    {
        return 0;   /* No Hint Data */
    }

    return TRUE;

}
#endif /* __MMI_UNIFIED_MESSAGE__ */ 


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_entry_drafts_options_scren
 * DESCRIPTION
 *  Entry fn for drafts options screen
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_entry_drafts_options_scren(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    PU8 gui_buffer;                     /* Buffer holding history data */
    U16 str_item_list[MAX_SUB_MENUS];   /* Stores the strings id of submenus returned */
    U16 num_item;                       /* Stores no of children in the submenu */
    U16 menuid;
    MMI_BOOL bContainsAdd = MMI_TRUE;

#ifdef __MMI_UNIFIED_MESSAGE__
    U8 curr_page =0;
    MEDIA_INFO *image_info;
    U8 media_count = 0;
#else 
    S32 count = 0;
#endif
    jmms_folder_msgs_list *msgs_list_node = NULL;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* /check whether selected msg has some adress */
    msgs_list_node = g_jmms_context->store_context->messages_list;
#ifdef __MMI_UNIFIED_MESSAGE__
    while ( msgs_list_node != NULL && msgs_list_node->msg_index != g_jmms_context->nCurr_scr_hilited_index)
    {
        msgs_list_node = msgs_list_node->next;
    }
#else
    while (count != g_jmms_context->nCurr_scr_hilited_index && msgs_list_node != NULL)
    {
        msgs_list_node = msgs_list_node->next;
        count++;
    }
#endif
    /* /if hint is NULL then it means no address is present */
#ifdef __MMI_UNIFIED_MESSAGE__
    if (msgs_list_node->um_msg_info->address == NULL)
#else 
    if (msgs_list_node->address_as_hint == NULL)
#endif 
    {
        bContainsAdd = MMI_FALSE;
    }
#ifndef __MMI_UNIFIED_MESSAGE__
    if (bContainsAdd == MMI_TRUE)
    {
        menuid = MENU_ID_JMMS_DRAFTS_OPTIONS1;
    }
    else if (bContainsAdd == MMI_FALSE)
    {
        menuid = MENU_ID_JMMS_DRAFTS_OPTIONS2;
    }
    else
    {
        return;
    }
#else /* __MMI_UNIFIED_MESSAGE__ */ 
    menuid = MENU_ID_JMMS_DRAFTS_OPTIONS1;
#endif /* __MMI_UNIFIED_MESSAGE__ */ 
    EntryNewScreen(SCR_ID_JMMS_DRAFTS_OPTIONS, NULL, mmi_jmms_entry_drafts_options_scren, NULL);

    gui_buffer = GetCurrGuiBuffer(SCR_ID_JMMS_DRAFTS_OPTIONS);
#ifdef __MMI_UNIFIED_MESSAGE__
    DeleteScreenIfPresent(SCR_ID_JMMS_DRAFTS_OPTIONS);
#endif 
    num_item = GetNumOfChild(menuid);
#ifdef __MMI_UNIFIED_MESSAGE__
    mmi_jmms_jdi_get_media_count(g_jmms_context->msg_handle, 0, &media_count, E_TRUE);
    mmi_jmms_jdi_get_current_page_index(g_jmms_context->msg_handle, &curr_page);
    image_info = mmi_jmms_jdi_get_image_data(curr_page);

    if (g_jmms_context->view_context != NULL)
    {

        if (/*g_jmms_context->view_context->focus_object_type == E_MSG_FOCUS_IMAGE ||
            g_jmms_context->view_context->focus_object_type == E_MSG_FOCUS_AUDIO ||
            g_jmms_context->view_context->focus_object_type == E_MSG_FOCUS_VIDEO ||
            */
            media_count || g_jmms_context->view_context->view_audio_id || g_jmms_context->view_context->view_video_id || image_info != NULL)
        {
            mmi_frm_unhide_menu_item(MENU_ID_JMMS_DRAFTS_OPTIONS_SAVE_OBJECTS);
        }
        else
        {
            mmi_frm_hide_menu_item(MENU_ID_JMMS_DRAFTS_OPTIONS_SAVE_OBJECTS);
            num_item--;
        }
    }
    else
    {
        mmi_frm_hide_menu_item(MENU_ID_JMMS_DRAFTS_OPTIONS_SAVE_OBJECTS);
        num_item--;
    }
#endif /* __MMI_UNIFIED_MESSAGE__ */ 

    GetSequenceStringIds_Ext(menuid, str_item_list);

    SetParentHandler(menuid);
    RegisterHighlightHandler(ExecuteCurrHiliteHandler);

#ifndef __MMI_UNIFIED_MESSAGE__
    /* set the open msg status- for At delete */
    g_jmms_context->msg_open_status[0] = E_JMMS_DRAFTS;
    //PMT HIMANSHU START 20060425
    //      g_jmms_context->msg_open_status[1]=(U16)(g_jmms_context->store_context->nMsgs_in_Current_folder - g_jmms_context->nCurr_scr_hilited_index);
    g_jmms_context->msg_open_status[1] =
        (U32) mmi_jmms_get_message_id(
                MMI_JMMS_DRAFTS,
                (g_jmms_context->store_context->nMsgs_in_Current_folder - g_jmms_context->nCurr_scr_hilited_index));
    /* PMT HIMANSHU END 20060425 */
#endif

    ShowCategory52Screen(
        STR_GLOBAL_OPTIONS,
        GetRootTitleIcon(MAIN_MENU_MESSAGES_MENUID),
        STR_GLOBAL_OK,
        IMG_GLOBAL_OK,
        STR_GLOBAL_BACK,
        IMG_GLOBAL_BACK,
        num_item,
        str_item_list,
        (U16*) gIndexIconsImageList,
        NULL,
        0,
        0,
        gui_buffer);

    SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
    SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);

}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_highlight_drafts_options_view
 * DESCRIPTION
 *  highlight hdlr of view menu item in Drafts options
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_highlight_drafts_options_view(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);				
#ifdef __MMI_UNIFIED_MESSAGE__					
	SetLeftSoftkeyFunction(mmi_jmms_pre_entry_view, KEY_EVENT_UP);
	SetKeyHandler(mmi_jmms_pre_entry_view, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);			
    SetKeyHandler(mmi_jmms_pre_entry_view, KEY_WAP, KEY_EVENT_DOWN);
#else
	SetLeftSoftkeyFunction(mmi_jmms_drafts_view, KEY_EVENT_UP);
/* MAUI_00018463 Start */
  //  SetKeyHandler(mmi_jmms_drafts_view, KEY_RIGHT_ARROW, KEY_EVENT_DOWN);
/* MAUI_00018463 End */
    SetKeyHandler(mmi_jmms_drafts_view, KEY_WAP, KEY_EVENT_DOWN); 
#endif
}


/*****************************************************************************
 * FUNCTION
 *  mmi_jmms_highlight_drafts_options_sent
 * DESCRIPTION
 *  highlight hdlr of drafts menu item in Drafts options
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_jmms_highlight_drafts_options_sent(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -