plxmms_setting.c

来自「mtk wap和mms代码。。适应mtk 25。26平台」· C语言 代码 · 共 1,973 行 · 第 1/5 页

C
1,973
字号
    
    ChangeTitleString((U8*)GetString(g_setting_entry_table[index].string));
	draw_title();
}

/***************************************************************************
* Function	EnterSubSetting
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterSubSetting(void)
{
    if(g_setting_entry_table[g_setting_data.cur_id].entry)
        g_setting_entry_table[g_setting_data.cur_id].entry();
}

/***************************************************************************
* Function	ExitSetting
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void ExitSetting(void)
{
    GoBackHistory();
}

/***************************************************************************
* Function	EnterSend
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterSend(void)
{
    if(!CreateSendSetting(g_setting_data.mmse))
    {
        //
    }
}

/***************************************************************************
* Function	EnterRecv
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterRecv(void)
{
    if(!CreateRecvSetting(g_setting_data.mmse))
    {
        //
    }
}

/***************************************************************************
* Function	EnterFilterSetting
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterFilterSetting(void)
{
#ifdef MMS_SAVEONCARD
#ifdef MMI_ON_HARDWARE_P
//    if(!PLIB_IsMSDCPresent()
    if ( PLIB_TestMSDC() != PMSDC_OK 
#ifdef MMS_SELECTSTOREPATH
        && g_cur_path == g_plug_path
#endif
        )
    {
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_MAIN_NOCARD), 0);
        return;
    }
#endif
#endif
    if(!CreateFilter(g_setting_data.mmse))
    {
        //
    }
}

/***************************************************************************
* Function	EnterNet
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterNet(void)
{
    if(!CreateNetSetting(g_setting_data.mmse))
    {
        //
    }
}

/***************************************************************************
* Function	EnterMem
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterMem(void)
{
#ifdef MMS_SAVEONCARD
#ifdef MMI_ON_HARDWARE_P
//    if(!PLIB_IsMSDCPresent()
    if ( PLIB_TestMSDC() != PMSDC_OK 
#ifdef MMS_SELECTSTOREPATH
        && g_cur_path == g_plug_path
#endif
        )
    {
        PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_MAIN_NOCARD), 0);
        return;
    }
#endif
#endif
    if(!CreateStore(g_setting_data.mmse))
    {
        //
    }
}

/***************************************************************************
* Function	EnterSelPath
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
#ifdef MMS_SELECTSTOREPATH
void EnterSelPath(void)
{
    CreateSelectPath();
}
#endif
////////////////////////////////////////////////////////////////////////////
//send setting
/***************************************************************************
* Function	CreateSendSetting
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
BOOL CreateSendSetting(void* mmse)
{
    char dur[DUR_LEN];

    //get option
    if(!mmse)
        return FALSE;

    MMS_Memset((void*)&g_sendsetting_data, 0, sizeof(MmsSendSettingData));
    g_sendsetting_data.mmse = mmse;

#ifdef MMS_UISETTINGFILE
    g_sendsetting_data.option.option.mask = 
        MMOM_SENDFLAG | MMOM_EXPIRE | MMOM_SLIDEDURATION;
#else
    g_sendsetting_data.option.mask = 
        MMOM_SENDFLAG | MMOM_EXPIRE | MMOM_SLIDEDURATION;
#endif

#ifdef MMS_UISETTINGFILE
    if(ReadSettingFromFile(&g_sendsetting_data.option) < 0)
#else
    if(MMSE_GetOption(mmse, (PMMSEOPTION)&(g_sendsetting_data.option)) < 0)
#endif
    {
        MMS_Memset((void*)&g_sendsetting_data, 0, sizeof(MmsSendSettingData));
        return FALSE;
    }

#ifdef MMS_DEBUG
{
/*
    PlxTrace(" MMSUI: ~~~~~~~~~~~~~~~~ enter send setting, check settings\r\n");

    PlxTrace(" MMSUI: mmsc = %s\r\n", g_sendsetting_data.option.mmsc);
    PlxTrace(" MMSUI: gateway = %s\r\n", g_sendsetting_data.option.gateway);
    PlxTrace(" MMSUI: port = %d\r\n", g_sendsetting_data.option.port);
    PlxTrace(" MMSUI: expire = %x\r\n", g_sendsetting_data.option.expire);
    PlxTrace(" MMSUI: send flag = %x\r\n", g_sendsetting_data.option.SendFlag);
    PlxTrace(" MMSUI: receive flag = %x\r\n", g_sendsetting_data.option.ReceiveFlag);
    PlxTrace(" MMSUI: max receive size = %ld\r\n", g_sendsetting_data.option.MaxSize);
    PlxTrace(" MMSUI: max send size = %ld\r\n", g_sendsetting_data.option.MaxSendSize);
    PlxTrace(" MMSUI: max num = %d\r\n", g_sendsetting_data.option.MaxNum);
    PlxTrace(" MMSUI: slide duration = %d\r\n", (int)g_sendsetting_data.option.SlideDuration);
    PlxTrace(" MMSUI: dail id = %d\r\n", g_sendsetting_data.option.DialID);
*/
}
#endif

    //valid string
    g_sendsetting_entry_table[MMS_SENDSETTING_VALIDCTRL].item_string[0] = 
        (U8*)GetString(MMS_SENDSETTING_STR_1HOUR);
    g_sendsetting_entry_table[MMS_SENDSETTING_VALIDCTRL].item_string[1] = 
        (U8*)GetString(MMS_SENDSETTING_STR_12HOUR);
    g_sendsetting_entry_table[MMS_SENDSETTING_VALIDCTRL].item_string[2] = 
        (U8*)GetString(MMS_SENDSETTING_STR_1DAY);
    g_sendsetting_entry_table[MMS_SENDSETTING_VALIDCTRL].item_string[3] = 
        (U8*)GetString(MMS_SENDSETTING_STR_2DAY);
    g_sendsetting_entry_table[MMS_SENDSETTING_VALIDCTRL].item_string[4] = 
        (U8*)GetString(MMS_SENDSETTING_STR_1WEEK);
    g_sendsetting_entry_table[MMS_SENDSETTING_VALIDCTRL].item_string[5] = 
        (U8*)GetString(MMS_SENDSETTING_STR_MAX);

    //pri string
    g_sendsetting_entry_table[MMS_SENDSETTING_PRICTRL].item_string[0] = 
        (U8*)GetString(MMS_SENDSETTING_STR_LOW);
    g_sendsetting_entry_table[MMS_SENDSETTING_PRICTRL].item_string[1] = 
        (U8*)GetString(MMS_SENDSETTING_STR_NORMAL);
    g_sendsetting_entry_table[MMS_SENDSETTING_PRICTRL].item_string[2] = 
        (U8*)GetString(MMS_SENDSETTING_STR_HIGH);

    //send string
    g_sendsetting_entry_table[MMS_SENDSETTING_SENDREPORTCTRL].item_string[0] = 
        (U8*)GetString(MMS_SENDSETTING_STR_ON);
    g_sendsetting_entry_table[MMS_SENDSETTING_SENDREPORTCTRL].item_string[1] = 
        (U8*)GetString(MMS_SENDSETTING_STR_OFF);

    //read string
    g_sendsetting_entry_table[MMS_SENDSETTING_READREPORTCTRL].item_string[0] = 
        (U8*)GetString(MMS_SENDSETTING_STR_ON);
    g_sendsetting_entry_table[MMS_SENDSETTING_READREPORTCTRL].item_string[1] = 
        (U8*)GetString(MMS_SENDSETTING_STR_OFF);
    
    //dur
    sprintf(dur, "%d", 
#ifdef MMS_UISETTINGFILE
        (int)(g_sendsetting_data.option.option.SlideDuration / 1000));
#else
        (int)(g_sendsetting_data.option.SlideDuration / 1000));
#endif
    AnsiiToUnicodeString((S8*)g_sendsetting_data.dur, (S8*)dur);

    //enter
    EnterSendSetting();

    return TRUE;
}

/***************************************************************************
* Function	EnterSendSetting
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void EnterSendSetting(void)
{
    int i;
    U16 icon;
//    U8* inputBuffer;
//	U16 inputBufferSize;
	U8* guiBuffer=NULL;
	U16 itemicon[MAX_SUB_MENUS];
	
    if(GetActiveScreenId() != SCR_ID_PLX_MMS_SENDSETTING)
    {
	    EntryNewScreen(SCR_ID_PLX_MMS_SENDSETTING, LeaveSendSetting, EnterSendSetting, NULL);
#ifndef __MMI_WITH_C_KEY__
        guiBuffer = GetCurrGuiBuffer(SCR_ID_PLX_MMS_SENDSETTING);
#endif
    }

    RegisterHighlightHandler(SendSettingHiliteHandler);
    //set item
    InitializeCategory57Screen();
    InitSendInlineListStruct();

    icon = IMG_GLOBAL_L1;
    for(i = 0; i < MMS_SENDSETTING_COUNT; i++)
    {
        if(i % 2)
        {
            itemicon[i] = 0;
        }
        else
        {
            itemicon[i] = (U16)icon;
            icon++;
        }
    }

    ShowCategory57Screen(STR_ID_PLX_MMS_SETTING_SENDSETTING, IMG_ID_PLX_MMS, 
						STR_GLOBAL_OK, 0,
						STR_GLOBAL_BACK, 0,
						MMS_SENDSETTING_COUNT,
						itemicon, wgui_inline_items, g_sendsetting_data.cur_item, guiBuffer);
    set_wgui_inline_list_menu_status(1);
    ChangeLeftSoftkey(STR_GLOBAL_OK, IMG_GLOBAL_OK);
    SetLeftSoftkeyFunction(SaveSendSetting, KEY_EVENT_UP);

    SetKeyHandler(PlxMmsGoBackToIdle, KEY_END, KEY_EVENT_DOWN);
#ifdef __MMI_WITH_C_KEY__
//    SetCategory57RightSoftkeyFunctions(SaveSendSetting, ExitSendSetting);
	DisableCategory57ScreenDone();
#endif

}

void LeaveSendSetting(void)
{
	CloseCategory57Screen();
}

/***************************************************************************
* Function	SendConfirmOk
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
static void SendConfirmOk(void)
{
    MMSE_SetOption(g_sendsetting_data.mmse, (PMMSEOPTION)&(g_sendsetting_data.option));
#ifdef MMS_UISETTINGFILE
    SaveSettingToFile(&(g_sendsetting_data.option));
#endif
    GoBackToHistory(SCR_ID_PLX_MMS_SETTING);
    MMS_Memset((void*)&g_sendsetting_data, 0, sizeof(g_sendsetting_data));
}

/***************************************************************************
* Function	SendConfirmCancel
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
static void SendConfirmCancel(void)
{
    GoBackToHistory(SCR_ID_PLX_MMS_SETTING);
    MMS_Memset((void*)&g_sendsetting_data, 0, sizeof(g_sendsetting_data));
}

/***************************************************************************
* Function	ExitSendSetting
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void ExitSendSetting(void)
{
	GoBackHistory();
	MMS_Memset((void*)&g_sendsetting_data, 0, sizeof(g_sendsetting_data));
}

/*void ExitSendSetting(void)
{
    int i = 0;
    int dur;
    char dur_buf[DUR_LEN];
    unsigned short  SendFlag;
    unsigned short  expire;
    unsigned long SlideDuration;

    if(g_sendsetting_data.cur_item == MMS_SENDSETTING_DURCTRL)
        handle_inline_text_edit_complete();

    //get new settings
    SendFlag &= 0;

    //reset option
    //validity
    switch(g_sendsetting_data.valid_index)
    {
    case 0: //1 hour
        expire = 1;
        break;
    case 1: //12 hour
        expire = 12;
        break;
    case 2: //1 day
        expire = 24;
        break;
    case 3: //2 days
        expire = 48;
        break;
    case 4: //1 week

⌨️ 快捷键说明

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