📄 mmisettings.c
字号:
FFS_flashData.settings_status |= SettingsAutoAnswerOn;
flash_write();
confirm_data.local_status = ACTIVATE_CONFIRM;
SEND_EVENT (confirm_data.confirm_win, SHOW_CONFIRM, 0, 0);
return 0;
}
/*******************************************************************************
$Function: settingsAutoAnswerOff
$Description:
$Returns:
$Arguments:
*******************************************************************************/
int settingsAutoAnswerOff(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfw_parent(mfw_header());
confirm_Init(win);
FFS_flashData.settings_status &= ~SettingsAutoAnswerOn;
flash_write();
confirm_data.local_status = DEACTIVATE_CONFIRM;
SEND_EVENT (confirm_data.confirm_win, SHOW_CONFIRM, 0, 0);
return 0;
}
/*******************************************************************************
$Function: settingsAnyKeyAnswerOn
$Description:
$Returns:
$Arguments:
*******************************************************************************/
int settingsAnyKeyAnswerOn(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfw_parent(mfw_header());
confirm_Init(win);
FFS_flashData.settings_status |= SettingsAnyKeyAnswerOn;
flash_write();
confirm_data.local_status = ACTIVATE_CONFIRM;
SEND_EVENT (confirm_data.confirm_win, SHOW_CONFIRM, 0, 0);
return 0;
}
/*******************************************************************************
$Function: settingsAnyKeyAnswerOff
$Description:
$Returns:
$Arguments:
*******************************************************************************/
int settingsAnyKeyAnswerOff(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfw_parent(mfw_header());
confirm_Init(win);
FFS_flashData.settings_status &= ~SettingsAnyKeyAnswerOn;
flash_write();
confirm_data.local_status = DEACTIVATE_CONFIRM;
SEND_EVENT (confirm_data.confirm_win, SHOW_CONFIRM, 0, 0);
return 0;
}
/*******************************************************************************
$Function: factoryReset
$Description: Reset all the user-settings,
At first it show up a confirmation screen
$Returns:
$Arguments:
*******************************************************************************/
int factoryReset(MfwMnu* m, MfwMnuItem* i)
{
T_MFW_HND win = mfw_parent(mfw_header());
confirm_Init(win);
confirm_data.local_status = FACTORY_RESET;
SEND_EVENT (confirm_data.confirm_win, FACTORY_RESET, 0, 0);
return 0;
}
/*******************************************************************************
$Function: setUserSettings2Default
$Description: The user confirm to delete the user-settings.
$Returns:
$Arguments:
*******************************************************************************/
void setUserSettings2Default (void)
{
char buf[30];
if (DEFAULT_SETTINGS[ENGLISH].status EQ ON)
{
// set the language :ENGLISH
MmiRsrcSetLang(ENGLISH_LANGUAGE);/*MC, SPR 1242 - changed to new function*/
}
if (DEFAULT_SETTINGS[GERMAN].status EQ ON)
{
// set the language :GERMAN
MmiRsrcSetLang(GERMAN_LANGUAGE); /*MC, SPR 1242 - changed to new function*/
}
if (DEFAULT_SETTINGS[AUTOREDIAL].status EQ ON)
{
// set the Auto-redial
cm_set_redial(CM_REDIAL_AUTO);
}
else
{
cm_set_redial(CM_REDIAL_OFF);
}
if (DEFAULT_SETTINGS[AUTOANSWER].status EQ ON)
{
// set the Autoanswer
FFS_flashData.settings_status |= SettingsAutoAnswerOn;
}
else
{
//switch off the Autoanswer
FFS_flashData.settings_status &= ~SettingsAutoAnswerOn;
}
if (DEFAULT_SETTINGS[ANYKEYANSWER].status EQ ON)
{
// set the Anykeyanswer
FFS_flashData.settings_status |= SettingsAnyKeyAnswerOn;
}
else
{
//switch off the Anykeyanswer
FFS_flashData.settings_status &= ~SettingsAnyKeyAnswerOn;
}
if (DEFAULT_SETTINGS[CALLTIMERS].status EQ CLEAR)
{
//reset here the call timers
//incoming, outgoing & last calls
}
if (DEFAULT_SETTINGS[KEYPAD_CLICK].status EQ ON)
{
// set the Keypad click
if (FFS_flashData.settings_status & SettingsKeypadDTMF)
{
FFS_flashData.settings_status &= ~SettingsKeypadDTMF;
}
FFS_flashData.settings_status |= SettingsKeypadClick;
}
if (DEFAULT_SETTINGS[KEYPAD_DTMF].status EQ ON)
{
// set the Keypad DTMF
if (FFS_flashData.settings_status & SettingsKeypadClick)
{
FFS_flashData.settings_status &= ~SettingsKeypadClick;
}
FFS_flashData.settings_status |= SettingsKeypadDTMF;
}
if (DEFAULT_SETTINGS[KEYPAD_SILENT].status EQ ON)
{
// set the Keypad silence
if (FFS_flashData.settings_status & SettingsKeypadClick)
{
FFS_flashData.settings_status &= ~SettingsKeypadClick;
}
else if (FFS_flashData.settings_status & SettingsKeypadDTMF)
{
FFS_flashData.settings_status &= ~SettingsKeypadDTMF;
}
}
//GW-SPR#1018- Trace is too big for the buffer and is causing a crash.
// sprintf (buf, " FFS_flashData.settings_status %d", FFS_flashData.settings_status);
// TRACE_EVENT (buf);
if (DEFAULT_SETTINGS[VOICE_MEMO].status EQ CLEAR)
{
// clear the voice memo
FFS_flashData.voice_memo_position = 0;
}
//reset the call timers
setLastCallDuration(0, INVALID);
resetIncomingCallsDuration();
resetOutgoingCallsDuration();
//set clock format to twenty-four hour
setClockFormat(MFW_TIME_FORMAT_24HOUR);/*SPR 1725, changed macro*/
// API/GW - On factory reset save the original colours to the flash.
resetFactoryColour();
//API - 1550 - Added code to reset the backgrounds to defaults
resetFactoryBackground();
// PCM
// here should also update the user-data-settings !!
// in PCM
flash_write();
}
/*******************************************************************************
$Function: confirm_Init
$Description:
$Returns:
$Arguments:
*******************************************************************************/
T_MFW_HND confirm_Init (T_MFW_HND parent_window)
{
return (confirm_create (parent_window));
}
/*******************************************************************************
$Function: confirm_Exit
$Description:
$Returns:
$Arguments:
*******************************************************************************/
void confirm_Exit (T_MFW_HND own_window)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)own_window)->data;
T_confirm * data = (T_confirm *)win_data->user;
confirm_destroy (data->confirm_win);
}
/*******************************************************************************
$Function: confirm_create
$Description:
$Returns:
$Arguments:
*******************************************************************************/
T_MFW_HND confirm_create (T_MFW_HND parent_window)
{
T_confirm * data = &confirm_data;
T_MFW_WIN * win;
TRACE_FUNCTION ("confirm_create()");
data->confirm_win = win_create (parent_window, 0, 0, (T_MFW_CB)confirm_win_cb);
if (data->confirm_win EQ 0)
return 0;
/*
* Create window handler
*/
data->mmi_control.dialog = (T_DIALOG_FUNC)confirm;
data->mmi_control.data = data;
win = ((T_MFW_HDR *)data->confirm_win)->data;
win->user = (void *) data;
winShow(data->confirm_win);
/*
* return window handle
*/
return data->confirm_win;
}
/*******************************************************************************
$Function: confirm_destroy
$Description:
$Returns:
$Arguments:
*******************************************************************************/
void confirm_destroy (T_MFW_HND own_window)
{
T_MFW_WIN * win;
T_confirm * data;
TRACE_FUNCTION ("confirm_destroy()");
if (own_window)
{
win = ((T_MFW_HDR *)own_window)->data;
data = (T_confirm *)win->user;
if (data)
{
/*
* Delete WIN handler
*/
win_delete (data->confirm_win);
data->confirm_win = 0;
}
}
}
/*******************************************************************************
$Function: confirm_win_cb
$Description:
$Returns:
$Arguments:
*******************************************************************************/
static int confirm_win_cb (T_MFW_EVENT event, T_MFW_WIN * win)
{
/*
* Top Window has no output
*/
return 1;
}
/*******************************************************************************
$Function: confirm_dialog
$Description:
$Returns:
$Arguments:
*******************************************************************************/
static void confirm_dialog(void)
{
T_DISPLAY_DATA display_info;
TRACE_FUNCTION ("confirm_dialog()");
dlg_initDisplayData_TextId( &display_info, TxtNull, TxtNull,TxtNull, TxtNull , COLOUR_STATUS);
dlg_initDisplayData_events( &display_info, (T_VOID_FUNC)confirm_dialog_cb, THREE_SECS, KEY_CLEAR | KEY_RIGHT | KEY_LEFT );
if (confirm_data.local_status EQ ACTIVATE_CONFIRM)
{
display_info.TextId = TxtActivated;
}
else if (confirm_data.local_status EQ DEACTIVATE_CONFIRM)
{
display_info.TextId = TxtDeActivated;
}
else if (confirm_data.local_status EQ FACTORY_RESET)
{
display_info.TextId = TxtPressOk;
display_info.TextId2 = TxtReset;
display_info.Time = TEN_SECS;
display_info.LeftSoftKey = TxtSoftOK;
display_info.RightSoftKey = TxtSoftBack;
}
/*
* Call Info Screen
*/
info_dialog (confirm_data.confirm_win, &display_info);
}
/*******************************************************************************
$Function: confirm_dialog_cb
$Description:
$Returns:
$Arguments:
*******************************************************************************/
void confirm_dialog_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason)
{
TRACE_FUNCTION ("confirm_dialog_cb()");
switch (reason)
{
case INFO_KCD_LEFT:
// user confirm to reset all the user settings !
setUserSettings2Default ();
confirm_Exit(win);
break;
case INFO_TIMEOUT:
/* no break; */
case INFO_KCD_HUP:
/* no break; */
case INFO_KCD_RIGHT:
/* no break; */
case INFO_KCD_CLEAR:
confirm_Exit(win);
break;
}
}
/*******************************************************************************
$Function: confirm
$Description:
$Returns:
$Arguments:
*******************************************************************************/
void confirm (T_MFW_HND win, USHORT event, SHORT value, void * parameter)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *) win)->data;
T_confirm * data = (T_confirm *)win_data->user;
TRACE_FUNCTION("confirm()");
switch (event)
{
case SHOW_CONFIRM:
confirm_dialog();
break;
case FACTORY_RESET:
confirm_dialog();
break;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -