📄 textphonecontrol.c
字号:
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
void mmi_ctm_setting_select(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
S16 error;
U16 str_id = STR_GLOBAL_DONE;
pBOOL old;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
old = mmi_ctm_is_tty_on();
ctm_p->mode_setting = (U8) ctm_p->index;
WriteValue(NVRAM_CTM_SETTING, &ctm_p->mode_setting, DS_BYTE, &error);
mmi_ctm_send_set_default_req(ctm_p->status, ctm_p->mode_setting);
if (old == FALSE && mmi_ctm_is_tty_on() == TRUE)
{
/* off -> on */
/* with earphone, take as TTY */
if (isEarphonePlugged == TRUE)
{
str_id = STR_CTM_HEADSET_TO_TTY;
/* deactivate earphone mode, Tim */
mmi_profiles_earphone_plug_out_callback();
#if (defined (__MMI_STATUS_ICON_EN_EARPHONE__) || defined(__MMI_BT_SUPPORT__))
IdleResetStatusIcon(STATUS_ICON_EARPHONE_INDICATOR);
#endif
}
}
else if (old == TRUE && mmi_ctm_is_tty_on() == FALSE)
{
/* on -> off */
if (isEarphonePlugged == TRUE)
{
str_id = STR_CTM_TTY_TO_HEADSET;
/* activate earphone mode, Tim */
mmi_profiles_earphone_plug_in_callback();
#if (defined (__MMI_STATUS_ICON_EN_EARPHONE__) || defined(__MMI_BT_SUPPORT__))
IdleSetStatusIcon(STATUS_ICON_EARPHONE_INDICATOR);
#endif
}
}
DisplayPopup((PU8) GetString(str_id), IMG_GLOBAL_ACTIVATED, 1, 2000, SUCCESS_TONE);
DeleteScreenIfPresent(SCR_CTM_SETTING);
}
/*****************************************************************************
* FUNCTION
* mmi_ctm_get_mode
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
pBOOL mmi_ctm_get_mode(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return ctm_p->status;
}
/*****************************************************************************
* FUNCTION
* mmi_ctm_get_setting
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
U8 mmi_ctm_get_setting(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return ctm_p->mode_setting;
}
/*****************************************************************************
* FUNCTION
* mmi_ctm_is_tty_on
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
pBOOL mmi_ctm_is_tty_on(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
/* TTY on depends on status and setting */
/* TTY status depends on status and earphone plug in or not */
if (ctm_p->status == TRUE &&
(ctm_p->mode_setting == MMI_CTM_SETTING_BAUDOT ||
ctm_p->mode_setting == MMI_CTM_SETTING_HCO ||
ctm_p->mode_setting == MMI_CTM_SETTING_VCO))
return TRUE;
else
return FALSE;
}
/*****************************************************************************
* FUNCTION
* mmi_ctm_get_tty_status
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
pBOOL mmi_ctm_get_tty_status(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
return ctm_p->tty_status;
}
/*****************************************************************************
* FUNCTION
* mmi_skip_unicode_char
* DESCRIPTION
*
* PARAMETERS
* str [IN]
* len [IN]
* ch [IN]
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
U16 mmi_skip_unicode_char(PU16 str, U16 len, U16 ch)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U16 length, i;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
length = len;
for (i = 0; i < length; i++)
{
if (str[i] == ch)
{
pfnUnicodeStrcpy((PS8) & str[i], (PS8) & str[i + 1]);
str[length] = 0;
length--;
}
}
return length;
}
/*****************************************************************************
* FUNCTION
* mmi_ctm_set_tty_status
* DESCRIPTION
*
* PARAMETERS
* is_present [IN]
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
void mmi_ctm_set_tty_status(pBOOL is_present)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
if (mmi_ctm_get_mode())
{
ctm_p->tty_status = is_present;
}
else
{
ctm_p->tty_status = FALSE;
}
}
/*****************************************************************************
* FUNCTION
* entry_ctm_menu
* DESCRIPTION
* CTM main menu: Mode, Setting
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
void entry_ctm_menu(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U16 nStrItemList[4];
U16 nNumofItem;
S16 error;
U8 *guiBuffer;
static U8 *PopUpList[4];
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
EntryNewScreen(SCR_CTM_MENU, NULL, entry_ctm_menu, NULL);
ReadValue(NVRAM_CTM_MODE, &ctm_p->status, DS_BYTE, &error);
if (ctm_p->status == 0xff)
{
ctm_p->status = FALSE;
}
ReadValue(NVRAM_CTM_SETTING, &ctm_p->mode_setting, DS_BYTE, &error);
if (ctm_p->mode_setting == 0xff)
{
ctm_p->mode_setting = MMI_CTM_SETTING_MANUAL_DIRECT;
}
guiBuffer = GetCurrGuiBuffer(SCR_CTM_MENU);
RegisterHighlightHandler(ExecuteCurrHiliteHandler);
nNumofItem = GetNumOfChild(MITEM_CTM_MENU);
GetSequenceStringIds(MITEM_CTM_MENU, nStrItemList);
SetParentHandler(MITEM_CTM_MENU);
ConstructHintsList(MITEM_CTM_MENU, PopUpList);
ShowCategory55Screen(
STR_GLOBAL_OPTIONS,
GetRootTitleIcon(MAIN_MENU_SETTINGS_MENUID),
STR_GLOBAL_OK,
IMG_GLOBAL_OK,
STR_GLOBAL_BACK,
IMG_GLOBAL_BACK,
nNumofItem,
nStrItemList,
(U8 **) PopUpList,
0,
guiBuffer);
SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
return;
}
/*****************************************************************************
* FUNCTION
* entry_ctm_setting_selection
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
void entry_ctm_setting_selection(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U16 nStrItemList[20];
U16 nNumofItem;
U8 *guiBuffer;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
EntryNewScreen(SCR_CTM_SETTING, NULL, entry_ctm_setting_selection, NULL);
guiBuffer = GetCurrGuiBuffer(SCR_CTM_SETTING);
RegisterHighlightHandler(highlight_ctm_setting_items);
nNumofItem = GetNumOfChild(MITEM_CTM_SETTING);
GetSequenceStringIds(MITEM_CTM_SETTING, nStrItemList);
SetParentHandler(MITEM_CTM_SETTING);
ShowCategory11Screen(
STR_MITEM_CTM_SETTING,
GetRootTitleIcon(MAIN_MENU_SETTINGS_MENUID),
STR_GLOBAL_OK,
0,
STR_GLOBAL_BACK,
0,
nNumofItem,
nStrItemList,
ctm_p->mode_setting,
guiBuffer);
SetLeftSoftkeyFunction(mmi_ctm_setting_select, KEY_EVENT_UP);
SetKeyHandler(GoBackHistory, KEY_LEFT_ARROW, KEY_EVENT_DOWN);
SetRightSoftkeyFunction(GoBackHistory, KEY_EVENT_UP);
return;
}
/*****************************************************************************
* FUNCTION
* entry_ctm_connect_animation
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
void entry_ctm_connect_animation(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
EntryNewScreen(SCR_CTM_CONNECTING, NULL, entry_ctm_connect_animation, NULL);
DeleteScreenIfPresent(SCR1003_CM_ACTIVECALLOPTIONS);
ShowCategory66Screen(0, 0, 0, 0, 0, 0, (PU8) GetString(STR_CTM_CONNECTING), IMG_GLOBAL_PROGRESS, NULL);
ClearKeyHandler(KEY_END, KEY_EVENT_DOWN);
}
/*****************************************************************************
* FUNCTION
* entry_ctm_talking
* DESCRIPTION
*
* PARAMETERS
* void
* void(?) [IN] *
* RETURNS
* void
*****************************************************************************/
void entry_ctm_talking(void)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
U16 lsk = 0;
/*----------------------------------------------------------------*/
/* Code Body */
/*-----
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -