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

📄 dcw_pb_window.c

📁 重写的展迅电话本, 重写的展迅电话本, 重写的展迅电话本,
💻 C
📖 第 1 页 / 共 5 页
字号:
        }
        else
        {
            if(g_pb.operate.operateType == PB_OPERATE_ADD_IN_SIM_E)
            {
                MMK_SetWinTitleExt(win_id,TXT_PB_ADD,FALSE);
            }
            else if(g_pb.operate.operateType == PB_OPERATE_LOCAL_NAME_E)
            {
                MMK_SetWinTitleExt(win_id,TXT_PB_MSISDN,FALSE);
            }
            else
            {
                MMK_SetWinTitleExt(win_id,STXT_MODIFY,FALSE);
            }
        }
        MMK_SendMsg(win_id, MSG_FULL_PAINT, PNULL);
        break;

    case MSG_KEYUP_UP:
    case MSG_KEYUP_DOWN:
        if(MMK_GetActiveCtrlId(win_id) == nameCtrlId)
        {
            MMK_SetAtvCtrl(win_id, numberCtrlId);
        }
        else
        {
            MMK_SetAtvCtrl(win_id, nameCtrlId);
        }
        break;

    case MSG_APP_OK:
    case MSG_CTL_OK:
        tempSimRecord = g_pb_simRecord;
        DCW_PB_getSimRecordFromPage(&g_pb_simRecord);
        if(g_pb.operate.operateType == PB_OPERATE_LOCAL_NAME_E)
        {
            cmpFlag = DCW_PB_twoRecordEqual
                      ((void *)&g_pb_simRecord,(void *)&tempSimRecord,PHONEBOOK_SIM_STORAGE);
            if(cmpFlag != 0)
            {
                DCW_PB_writeLocalRecordToSim(&g_pb_simRecord,g_pb.operate.listInfo.selectItemPtr[0]);
                DCW_PB_openWindows(PNULL,&g_pb_completeWinTab);
            }
            else
            {
                MMK_CloseWin(win_id);
            }
        }
        else
        {
            if(DCW_PB_simRecordIsValid(&g_pb_simRecord,&inValidFlag) == TRUE)
            {
                /* 生成拼音编码,用于排序 */
                DCW_PB_usc2ToSpell(&g_pb_simRecord.outerName, &g_pb_simRecord.innerName);
                /* 生成拼音首字母编码,用于快速排序 */
                DCW_PB_spellToShortSpell(&g_pb_simRecord.innerName, &g_pb_simRecord.shortName); 

                // Animation start
                g_pb.operate.processing = TRUE;

                if(g_pb.operate.subOperateType == PB_SUB_OPERATE_MODIFY_ONE_RECORD_E)
                {
                    pAddr = DCW_PB_getRecordAddr(g_pb.operate.listInfo.selectItemPtr[0]);
                    SCI_ASSERT(pAddr != PNULL);

                    index = pAddr->pos;                         

                    cmpFlag = DCW_PB_twoRecordEqual
                        ((void *)&g_pb_simRecord,(void *)&g_pb.sim.recordPtr[index],PHONEBOOK_SIM_STORAGE);
                    if(cmpFlag != 0)
                    {
                        BOOLEAN back;
                        back = DCW_PB_WriteOneRecordToSim(&g_pb_simRecord,FALSE);
                        if(back == TRUE)
                        {
                            DCW_PB_adjustNumList((void *)&g_pb_simRecord,(void *)&g_pb.sim.recordPtr[index],PHONEBOOK_SIM_STORAGE,cmpFlag);
                            DCW_PB_ModifyOneRecordInSimList(index,&g_pb_simRecord); 
                        }
                    }
                    else
                    {   /* 纪录没修改 */
                        g_pb.operate.processing = FALSE;
                        MMK_CloseWin(win_id);
                    }
                }
                else
                {   
                    BOOLEAN back;

                    back = DCW_PB_WriteOneRecordToSim(&g_pb_simRecord,TRUE);

                    if(back == TRUE)
                    {
                        DCW_PB_adjustNumList((void *)&g_pb_simRecord,PNULL,PHONEBOOK_SIM_STORAGE,PB_ADD_E);
                        DCW_PB_insertOneRecordToSimList(&g_pb_simRecord);
                    }
                }
                //等待ps消息          
            }
            else
            {   
                if(inValidFlag == PB_RECORD_NO_NAME)
                {
                    DCW_PB_openWindows(PNULL,&g_pb_inputNameWinTab);
                }
                else
                {
                    DCW_PB_openWindows(PNULL,&g_pb_inputphoneNumWinTab);
                }
            }
        }
        break;

    case MMI_PB_ALERT_CLOSE_RETURN:
        if(g_pb.operate.operateType == PB_OPERATE_LOCAL_NAME_E)
        {
            DCW_PB_closeWinUntilOneWinId(DCW_PB_getBaseWinId());
        }
        else if(DCW_PB_simRecordIsValid(&g_pb_simRecord,&inValidFlag) == FALSE)
        {
            if(inValidFlag == PB_RECORD_NO_NAME)
            {
                MMK_SetAtvCtrl(win_id, nameCtrlId);
            }
            else
            {
                MMK_SetAtvCtrl(win_id, numberCtrlId);
            }
        }
        else
        {
            if(g_pb.operate.operateType == PB_OPERATE_ADD_IN_SIM_E ||
               g_pb.operate.operateType == PB_OPERATE_ADD_NUM_TO_RECORD_E)
            {
                MMK_CloseWin(win_id);
            }
            else
            {
                DCW_PB_closeWinUntilOneWinId(DCW_PB_getBaseWinId());
            }
        }
        break;

    case MSG_APP_CANCEL:
    case MSG_CTL_CANCEL:
        MMK_CloseWin(win_id);
        break;

    default:
        ret = MMI_RESULT_FALSE;
        break;
    }
    return ret;
}
/* ***************************************************************************
 *  Function name : DCW_PB_handleEditNvRecordWinMsg
 *  Description   : 窗口消息处理函数    窗口层次 Mainmenu.3.1
 *  Param         : ...
 *  Return        : ...
 *  Author:       : *************
 *  Note          : None
 *****************************************************************************/
MMI_RESULT_E DCW_PB_handleEditNvRecordWinMsg(MMI_COMMON_WINDOW_ID_E win_id, MMI_MESSAGE_ID_E msg_id, DPARAM param)
{
    uint8                i;
    uint8                cmpFlag;
    uint16               index;    
    uint16               inValidFlag;
    T_PB_RECORD_ITEM_ADDR   *pAddr;
    MMI_RESULT_E         ret                = MMI_RESULT_TRUE;
    MMI_COMMON_CTRL_ID_T nameCtrlId         = DCW_PB_NV_NAME_EDITBOX_CTRL_ID;
    MMI_COMMON_CTRL_ID_T homeNumberCtrlId   = DCW_PB_NV_HOME_NUM_EDITBOX_CTRL_ID;
    MMI_COMMON_CTRL_ID_T workNumberCtrlId   = DCW_PB_NV_WORK_NUM_EDITBOX_CTRL_ID;
    MMI_COMMON_CTRL_ID_T personNumberCtrlId = DCW_PB_NV_PERSON_NUM_EDITBOX_CTRL_ID;
    MMI_COMMON_CTRL_ID_T mailCtrlId         = DCW_PB_NV_MAIL_EDITBOX_CTRL_ID;
    MMI_COMMON_CTRL_ID_T groupCtrlId        = DCW_PB_NV_GROUP_DROP_CTRL_ID;
    static MMI_COMMON_CTRL_ID_T ctrlId;

    switch (msg_id)
    {
    case MSG_OPEN_WINDOW:
        DCW_PB_setNvRecordToPage(win_id,&g_pb_nvRecord);
        MMK_SetWinSoftkeyId(win_id, STXT_OK, COMMON_TXT_NULL, STXT_RETURN, FALSE);
        MMK_SetAtvCtrl(win_id, nameCtrlId);
        break;
    
    case MSG_TP_PRESS_UP:
        MMK_SetAtvCtrl(win_id, ctrlId);
        break;

    case MSG_CTL_NOTE_GETACTIVE:
        ctrlId = MMK_GetActiveCtrlId(win_id);
        if(ctrlId == nameCtrlId)
        {
            MMK_SetWinTitleExt(win_id,TXT_PB_NAME,FALSE);
        }
        else if(ctrlId == groupCtrlId)
        {
            MMK_SetWinTitleExt(win_id,TXT_PB_GROUP,FALSE);
        }
        else if(ctrlId == personNumberCtrlId)
        {
            MMK_SetWinTitleExt(win_id,TXT_PB_PRIVATE_NUMVER,FALSE);
        }
        else if(ctrlId == workNumberCtrlId)
        {
            MMK_SetWinTitleExt(win_id,TXT_PB_OFFICE_NUMVER,FALSE);
        }
        else if(ctrlId == homeNumberCtrlId)
        {
            MMK_SetWinTitleExt(win_id,TXT_PB_HOME_NUMVER,FALSE);
        }
        else if(ctrlId == mailCtrlId)
        {
            MMK_SetWinTitleExt(win_id,TXT_PB_MAIL,FALSE);
        }
        else
        {
            if(g_pb.operate.operateType == PB_OPERATE_ADD_IN_NV_E)
            {
                MMK_SetWinTitleExt(win_id,TXT_PB_ADD,FALSE);
            }
            else
            {
                MMK_SetWinTitleExt(win_id,STXT_MODIFY,FALSE);
            }
        }
        MMK_SendMsg(win_id, MSG_FULL_PAINT, PNULL);
        break;
    
    case MSG_APP_UP:
        if(MMK_GetActiveCtrlId(win_id) == nameCtrlId)
        {
            MMK_SetAtvCtrl(win_id, mailCtrlId);
        }
        else if(MMK_GetActiveCtrlId(win_id) == groupCtrlId)
        {
            MMK_SetAtvCtrl(win_id, nameCtrlId);
        }
        else if(MMK_GetActiveCtrlId(win_id) == personNumberCtrlId)
        {
            MMK_SetAtvCtrl(win_id, groupCtrlId);
        }
        else if(MMK_GetActiveCtrlId(win_id) == workNumberCtrlId)
        {
            MMK_SetAtvCtrl(win_id, personNumberCtrlId);
        }
        else if(MMK_GetActiveCtrlId(win_id) == homeNumberCtrlId)
        {
            MMK_SetAtvCtrl(win_id, workNumberCtrlId);
        }
        else if(MMK_GetActiveCtrlId(win_id) == mailCtrlId)
        {
            MMK_SetAtvCtrl(win_id, homeNumberCtrlId);
        }
        else
        {
            MMK_SetAtvCtrl(win_id, nameCtrlId);
        }
        break;
    case MSG_APP_DOWN:
        if(MMK_GetActiveCtrlId(win_id) == nameCtrlId)
        {
            MMK_SetAtvCtrl(win_id, groupCtrlId);
        }
        else if(MMK_GetActiveCtrlId(win_id) == groupCtrlId)
        {
            MMK_SetAtvCtrl(win_id, personNumberCtrlId);
        }
        else if(MMK_GetActiveCtrlId(win_id) == personNumberCtrlId)
        {
            MMK_SetAtvCtrl(win_id, workNumberCtrlId);
        }
        else if(MMK_GetActiveCtrlId(win_id) == workNumberCtrlId)
        {
            MMK_SetAtvCtrl(win_id, homeNumberCtrlId);
        }
        else if(MMK_GetActiveCtrlId(win_id) == homeNumberCtrlId)
        {
            MMK_SetAtvCtrl(win_id, mailCtrlId);
        }
        else if(MMK_GetActiveCtrlId(win_id) == mailCtrlId)
        {
            MMK_SetAtvCtrl(win_id, nameCtrlId);
        }
        else
        {
            MMK_SetAtvCtrl(win_id, nameCtrlId);
        }
        break;

    case MSG_APP_OK:
    case MSG_CTL_OK:
        DCW_PB_getNvRecordFromPage(&g_pb_nvRecord);
        if(DCW_PB_nvRecordIsValid(&g_pb_nvRecord,&inValidFlag) == TRUE)
        {
            /* 生成拼音编码,用于排序 */
            DCW_PB_usc2ToSpell(&g_pb_nvRecord.outerName, &g_pb_nvRecord.innerName);
            /* 生成拼音首字母编码,用于快速排序 */
            DCW_PB_spellToShortSpell(&g_pb_nvRecord.innerName, &g_pb_nvRecord.shortName);  

            if(g_pb.operate.subOperateType == PB_SUB_OPERATE_MODIFY_ONE_RECORD_E)
            {
                pAddr = DCW_PB_getRecordAddr(g_pb.operate.listInfo.selectItemPtr[0]);
                SCI_ASSERT(pAddr != PNULL);

                index = pAddr->pos;                

                cmpFlag = DCW_PB_twoRecordEqual
                          ((void *)&g_pb_nvRecord,(void *)&g_pb.nv.recordPtr[index],PHONEBOOK_NV_STORAGE);

                if(cmpFlag != 0)
                {
                    // Animation start
                    g_pb.operate.processing = TRUE;                    
  
                    DCW_PB_WriteOneRecordToNv(&g_pb_nvRecord,FALSE);  
                    DCW_PB_adjustNumList((void *)&g_pb_nvRecord,(void *)&g_pb.nv.recordPtr[index],PHONEBOOK_NV_STORAGE,cmpFlag);
                    DCW_PB_ModifyOneRecordInNvList(index,&g_pb_nvRecord);
                    g_pb.operate.processing = FALSE;
                    // Animation end
                    DCW_PB_openWindows(PNULL,&g_pb_completeWinTab);
                }
                else
                {
                    MMK_CloseWin(win_id);
                }
            }
            else
            {
                // Animation start
                g_pb.operate.processing = TRUE;
                
                SCI_TRACE_LOW("\r\n--DCW_PB_handleEditNvRecordWinMsg----7");    
                DCW_PB_WriteOneRecordToNv(&g_pb_nvRecord,TRUE);
                SCI_TRACE_LOW("\r\n--DCW_PB_handleEditNvRecordWinMsg----8");    
                DCW_PB_adjustNumList((void *)&g_pb_nvRecord,PNULL,PHONEBOOK_NV_STORAGE,PB_ADD_E);
                SCI_TRACE_LOW("\r\n--DCW_PB_handleEditNvRecordWinMsg----9");    
                DCW_PB_insertOneRecordToNvList(&g_pb_nvRecord);

                g_pb.operate.processing = FALSE;
                // Animation end
                DCW_PB_openWindows(PNULL,&g_pb_completeWinTab);
            }
        }
        else
        {   
            if(inValidFlag == PB_RECORD_NO_NAME)
            {
                DCW_PB_openWindows(PNULL,&g_pb_inputNameWinTab);
            }
            else
            {
                DCW_PB_openWindows(PNULL,&g_pb_inputphoneNumWinTab);
            }
        }
        break;

    case MMI_PB_ALERT_CLOSE_RETURN:
        if(DCW_PB_nvRecordIsValid(&g_pb_nvRecord,&inValidFlag) == FALSE)
        {
            if(inValidFlag == PB_RECORD_NO_NAME)
            {
                MMK_SetAtvCtrl(win_id, nameCtrlId);
            }
            else
            {
                MMK_SetAtvCtrl(win_id, homeNumberCtrlId);
            }
        }
        else
        {
            if(g_pb.operate.operateType == PB_OPERATE_ADD_IN_NV_E)
            {
                MMK_CloseWin(win_id);

⌨️ 快捷键说明

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