plxmms_setting.c

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

C
1,973
字号
        expire = 168;
        break;
    case 5: //max
    default:
        expire = 0;
    }

    //pri
    switch(g_sendsetting_data.pri_index)
    {
    case 0: //low
        SendFlag |= MMSF_LOWPRIORITY;
        break;
    case 1: //normal
        SendFlag |= MMSF_NORMALPRIORITY;
        break;
    case 2: //high
        SendFlag |= MMSF_HIGHPRIORITY;
        break;
    default:
        SendFlag |= MMSF_NORMALPRIORITY;
    }

    //send
    switch(g_sendsetting_data.send_index)
    {
    case 0: //on
        SendFlag |= MMSF_DELIVERYREPORT;
        break;
    case 1: //off
        break;
    default:;
    }

    //read
    switch(g_sendsetting_data.read_index)
    {
    case 0: //on
        SendFlag |= MMSF_READREPORT;
        break;
    case 1: //off
        break;
    default:;
    }

    //dur
    UnicodeToAnsii((S8*)dur_buf, (S8*)g_sendsetting_data.dur);
    dur = atoi(dur_buf);

    if(dur > 60)
        dur = 60;

    SlideDuration = (unsigned long)(dur*1000);

    //if changed
    if(g_sendsetting_data.option.SendFlag == SendFlag &&
       g_sendsetting_data.option.expire == expire &&
       g_sendsetting_data.option.SlideDuration == SlideDuration)
    {
        GoBackHistory();
        MMS_Memset((void*)&g_sendsetting_data, 0, sizeof(g_sendsetting_data));
    }
    else //changed
    {
        //save new settings
        g_sendsetting_data.option.SendFlag = SendFlag;
        g_sendsetting_data.option.expire = expire;
        g_sendsetting_data.option.SlideDuration = SlideDuration;

        //confirm
        PLIB_ConfirmBox(NULL, 
            (WCHAR*)GetString(STR_ID_PLX_MMS_NET_IFSAVE),
            (WCHAR*)GetString(STR_GLOBAL_YES), 
            (WCHAR*)GetString(STR_GLOBAL_NO), 
            NULL, 0, NULL, 0, IfSaveSendSetCallback);
        SetKeyHandler(PlxMmsGoBackToIdle, KEY_END, KEY_EVENT_DOWN);
    }
}
*/
/***************************************************************************
* Function	IfSaveSendSetCallback
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void IfSaveSendSetCallback(PLIBEVENT event)
{
    switch(event)
    {
    case PEVENT_POSITIVE:
        SendConfirmOk();
        break;
    case PEVENT_NEGTIVE:
        SendConfirmCancel();
        break;
    }
}

/***************************************************************************
* Function	SaveSendSetting
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void SaveSendSetting(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();

    //dur
    UnicodeToAnsii((S8*)dur_buf, (S8*)g_sendsetting_data.dur);
    dur = atoi(dur_buf);

	//invalid dur
	if(pfnUnicodeStrlen((S8*)g_sendsetting_data.dur) == 0 || 
        dur < 1 || dur > (MAX_MMS_SLIDE_DUR/1000))
	{
		PLIB_MessageBox(PMBTYPE_ERROR, NULL, 
			(WCHAR*)GetString(STR_ID_PLX_MMS_EDIT_INVALIDINPUT), 0);
		return;
	}

    //reset all
    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
        expire = 168;
        break;
    case 5: //max
    default:
        expire = 0;
    }

    //pri
    switch(g_sendsetting_data.pri_index)
    {
    case 0: //low
        SendFlag |= MMSF_LOWPRIORITY;
        break;
    case 1: //normal
        SendFlag |= MMSF_NORMALPRIORITY;
        break;
    case 2: //high
        SendFlag |= MMSF_HIGHPRIORITY;
        break;
    default:
        SendFlag |= MMSF_NORMALPRIORITY;
    }

    //send
    switch(g_sendsetting_data.send_index)
    {
    case 0: //on
        SendFlag |= MMSF_DELIVERYREPORT;
        break;
    case 1: //off
        break;
    default:;
    }

    //read
    switch(g_sendsetting_data.read_index)
    {
    case 0: //on
        SendFlag |= MMSF_READREPORT;
        break;
    case 1: //off
        break;
    default:;
    }

    SlideDuration = (unsigned long)(dur*1000);

	//if changed
#ifdef MMS_UISETTINGFILE
    if(g_sendsetting_data.option.option.SendFlag == SendFlag &&
       g_sendsetting_data.option.option.expire == expire &&
       g_sendsetting_data.option.option.SlideDuration == SlideDuration)
#else
    if(g_sendsetting_data.option.SendFlag == SendFlag &&
       g_sendsetting_data.option.expire == expire &&
       g_sendsetting_data.option.SlideDuration == SlideDuration)
#endif
    {
        GoBackHistory();
        MMS_Memset((void*)&g_sendsetting_data, 0, sizeof(g_sendsetting_data));
		return;
    }
    else //changed
    {
		//save new settings
#ifdef MMS_UISETTINGFILE
        g_sendsetting_data.option.option.SendFlag = SendFlag;
        g_sendsetting_data.option.option.expire = expire;
        g_sendsetting_data.option.option.SlideDuration = SlideDuration;
#else
        g_sendsetting_data.option.SendFlag = SendFlag;
        g_sendsetting_data.option.expire = expire;
        g_sendsetting_data.option.SlideDuration = SlideDuration;
#endif
        SendConfirmOk();
		PLIB_MessageBox(PMBTYPE_SUCCESS, NULL, 
				(WCHAR*)GetString(STR_GLOBAL_DONE), 0);
    }
}

/***************************************************************************
* Function	InitSendInlineListStruct
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void InitSendInlineListStruct(void)
{
//    int index;

    //validity
    //text item
    SetInlineItemCaption(&wgui_inline_items[MMS_SENDSETTING_VALID],
        (U8*)GetString(g_sendsetting_entry_table[MMS_SENDSETTING_VALID].string));
//    RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_VALID], 
//        SendSettingHiliteHandler);

    //ctrl item
    SetInlineItemActivation(&wgui_inline_items[MMS_SENDSETTING_VALIDCTRL], 
        INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, KEY_EVENT_UP);

#ifdef MMS_UISETTINGFILE
    switch(g_sendsetting_data.option.option.expire)
#else
    switch(g_sendsetting_data.option.expire)
#endif
    {
    case 1: //1 hour
        g_sendsetting_data.valid_index = 0;
        break;
    case 12: //12 hour
        g_sendsetting_data.valid_index = 1;
        break;
    case 24: //1 day
        g_sendsetting_data.valid_index = 2;
        break;
    case 48: //2 days
        g_sendsetting_data.valid_index = 3;
        break;
    case 168: //1 week
        g_sendsetting_data.valid_index = 4;
        break;
    default: //max
        g_sendsetting_data.valid_index = 5;
    }
	SetInlineItemSelect(&wgui_inline_items[MMS_SENDSETTING_VALIDCTRL], 
        g_sendsetting_entry_table[MMS_SENDSETTING_VALIDCTRL].item_count,
        g_sendsetting_entry_table[MMS_SENDSETTING_VALIDCTRL].item_string, 
        &(g_sendsetting_data.valid_index));
	CenterJustifyInlineItem(&wgui_inline_items[MMS_SENDSETTING_VALIDCTRL]);
//    RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_VALIDCTRL], 
//        SendSettingHiliteHandler);

    //pri
    //text item
    SetInlineItemCaption(&wgui_inline_items[MMS_SENDSETTING_PRI],
        (U8*)GetString(g_sendsetting_entry_table[MMS_SENDSETTING_PRI].string));
//    RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_PRI], 
//        SendSettingHiliteHandler);
    //ctrl item
    SetInlineItemActivation(&wgui_inline_items[MMS_SENDSETTING_PRICTRL], 
        INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, KEY_EVENT_UP);

#ifdef MMS_UISETTINGFILE
    if( (g_sendsetting_data.option.option.SendFlag & MMSF_LOWPRIORITY) == MMSF_LOWPRIORITY )
        g_sendsetting_data.pri_index = 0;
    else if( (g_sendsetting_data.option.option.SendFlag & MMSF_NORMALPRIORITY) == MMSF_NORMALPRIORITY )
        g_sendsetting_data.pri_index = 1;
    else if( (g_sendsetting_data.option.option.SendFlag & MMSF_HIGHPRIORITY) == MMSF_HIGHPRIORITY )
        g_sendsetting_data.pri_index = 2;
    else
        g_sendsetting_data.pri_index = 1;
#else
    if( (g_sendsetting_data.option.SendFlag & MMSF_LOWPRIORITY) == MMSF_LOWPRIORITY )
        g_sendsetting_data.pri_index = 0;
    else if( (g_sendsetting_data.option.SendFlag & MMSF_NORMALPRIORITY) == MMSF_NORMALPRIORITY )
        g_sendsetting_data.pri_index = 1;
    else if( (g_sendsetting_data.option.SendFlag & MMSF_HIGHPRIORITY) == MMSF_HIGHPRIORITY )
        g_sendsetting_data.pri_index = 2;
    else
        g_sendsetting_data.pri_index = 1;
#endif

    SetInlineItemSelect(&wgui_inline_items[MMS_SENDSETTING_PRICTRL], 
        g_sendsetting_entry_table[MMS_SENDSETTING_PRICTRL].item_count,
        g_sendsetting_entry_table[MMS_SENDSETTING_PRICTRL].item_string, &(g_sendsetting_data.pri_index));
	CenterJustifyInlineItem(&wgui_inline_items[MMS_SENDSETTING_PRICTRL]);
//    RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_PRICTRL], 
//        SendSettingHiliteHandler);

    //send report
    //text item
    SetInlineItemCaption(&wgui_inline_items[MMS_SENDSETTING_SENDREPORT],
        (U8*)GetString(g_sendsetting_entry_table[MMS_SENDSETTING_SENDREPORT].string));
//    RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_SENDREPORT], 
//        SendSettingHiliteHandler);
    //ctrl item
    SetInlineItemActivation(&wgui_inline_items[MMS_SENDSETTING_SENDREPORTCTRL], 
        INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, KEY_EVENT_UP);

#ifdef MMS_UISETTINGFILE
    if( (g_sendsetting_data.option.option.SendFlag & MMSF_DELIVERYREPORT) == MMSF_DELIVERYREPORT )
#else
    if( (g_sendsetting_data.option.SendFlag & MMSF_DELIVERYREPORT) == MMSF_DELIVERYREPORT )
#endif
        g_sendsetting_data.send_index = 0; //on
    else
        g_sendsetting_data.send_index = 1; //off
    SetInlineItemSelect(&wgui_inline_items[MMS_SENDSETTING_SENDREPORTCTRL], 
        g_sendsetting_entry_table[MMS_SENDSETTING_SENDREPORTCTRL].item_count,
        g_sendsetting_entry_table[MMS_SENDSETTING_SENDREPORTCTRL].item_string, &(g_sendsetting_data.send_index));
	CenterJustifyInlineItem(&wgui_inline_items[MMS_SENDSETTING_SENDREPORTCTRL]);
//    RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_SENDREPORTCTRL], 
//        SendSettingHiliteHandler);

    //read report
    SetInlineItemCaption(&wgui_inline_items[MMS_SENDSETTING_READREPORT],
        (U8*)GetString(g_sendsetting_entry_table[MMS_SENDSETTING_READREPORT].string));
//    RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_READREPORT], 
//        SendSettingHiliteHandler);
    //ctrl item
    SetInlineItemActivation(&wgui_inline_items[MMS_SENDSETTING_READREPORTCTRL], 
        INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, KEY_EVENT_UP);
    
#ifdef MMS_UISETTINGFILE
    if( (g_sendsetting_data.option.option.SendFlag & MMSF_READREPORT) == MMSF_READREPORT )
#else
    if( (g_sendsetting_data.option.SendFlag & MMSF_READREPORT) == MMSF_READREPORT )
#endif
        g_sendsetting_data.read_index = 0; //on
    else
        g_sendsetting_data.read_index = 1; //off
    SetInlineItemSelect(&wgui_inline_items[MMS_SENDSETTING_READREPORTCTRL], 
        g_sendsetting_entry_table[MMS_SENDSETTING_READREPORTCTRL].item_count,
        g_sendsetting_entry_table[MMS_SENDSETTING_READREPORTCTRL].item_string, &(g_sendsetting_data.read_index));
	CenterJustifyInlineItem(&wgui_inline_items[MMS_SENDSETTING_READREPORTCTRL]);
//    RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_READREPORTCTRL], 
//        SendSettingHiliteHandler);

    //dur
    //text item
    SetInlineItemCaption(&wgui_inline_items[MMS_SENDSETTING_DUR],
        (U8*)GetString(g_sendsetting_entry_table[MMS_SENDSETTING_DUR].string));
//    RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_DUR], 
//        SendSettingHiliteHandler);
    //ctrl item
    SetInlineItemActivation(&wgui_inline_items[MMS_SENDSETTING_DURCTRL], 
        INLINE_ITEM_ACTIVATE_WITHOUT_KEY_EVENT, KEY_EVENT_UP);
    SetInlineItemTextEdit(&wgui_inline_items[MMS_SENDSETTING_DURCTRL],
        g_sendsetting_data.dur, DUR_LEN, INPUT_TYPE_NUMERIC);
    CenterJustifyInlineItem(&wgui_inline_items[MMS_SENDSETTING_DURCTRL]);
//    RegisterInlineSelectHighlightHandler(&wgui_inline_items[MMS_SENDSETTING_DURCTRL], 
//        SendSettingHiliteHandler);
}

/***************************************************************************
* Function	SendSettingHiliteHandler
* Purpose	
* Params	
* Return	
* Remarks	
\**************************************************************************/
void SendSettingHiliteHandler(S32 index)

⌨️ 快捷键说明

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