📄 mmisettings.c
字号:
T_MFW_HND win = mfw_parent(mfw_header());
if( !CheckHostkey(PRO_RESETALL ) ) //xsf 2002.08.30
{
confirm_Init(win);
confirm_data.local_status = FACTORY_RESET;
SEND_EVENT (confirm_data.confirm_win, FACTORY_RESET, 0, 0);
return 0;
}
return 0;
}
/******************************************************/
/* */
/*Function Name: setUserSettingsDefault */
/*Purpose: The user confirm to delete the user-settings. */
/*Prarmeter: none */
/*return : none */
/* */
/*Author : zhou yue */
/*Date : Aug.4st,2002 */
/******************************************************/
void setUserSettingsDefault (void)
{
flash_PBmkdir("/bmi"); /* 2004/06/14 sunsj modify */
ffs_remove(FFSFILE_GAME_PATH);
ConfigGameInit();
flash_Gamewrite();
ffs_remove(FFSFILE_WAP_PATH);
FlashWapInitialise();
flash_wap_write();
ffs_remove(FFSFILE_DCTB_PATH);
FlashDCTbInitialise();
flash_DCTbwrite();
ffs_remove(FFSFILE_SETTING_PATH);
FlashSettingInitialise();
flash_settingwrite();
ffs_remove(FFSFILE_ENVIR_PATH);
FlashEnviroInitialise(); // xsf add 2 lines for Environment reset 2002.10.15
flash_environmentwrite();
}
/*******************************************************************************
$Function: setUserSettings2Default
$Description: The user confirm to delete the user-settings.
$Returns:
$Arguments:
*******************************************************************************/
void setUserSettings2Default (void)
{
char buf[30];
#if 0
if( DEFAULT_SETTINGS[ENGLISH].status EQ ON )
{
// set the language :ENGLISH
MmiRsrcSetEnglish();
}
if( DEFAULT_SETTINGS[GERMAN].status EQ ON )
{
// set the language :GERMAN
MmiRsrcSetGerman();
}
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;
}
}
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(TWENTYFOUR_HOUR);
// PCM
// here should also update the user-data-settings !!
// in PCM
flash_write();
#endif
}
/*******************************************************************************
$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()");
dialog_info_init(&display_info);//gdy add
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT | KEY_LEFT|KEY_HUP;
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = '\0';
display_info.TextString = '\0';
display_info.TextString2 = '\0';
display_info.TextId = 0;
display_info.Time = FOREVER;
/*************************zy change for show dialog with icon*********************/
if( confirm_data.local_status EQ ACTIVATE_CONFIRM )
{
display_info.iconindex=REMIND_COMPLETE; //hu binhao 2003-1-14
display_info.TextId2 = TxtActivated;
display_info.Callback = (T_VOID_FUNC)confirm_dialog_cb;
// bookShowInformation( confirm_data.confirm_win, display_info.TextId, &Confirm, 0, display_info.Callback);
}
else if( confirm_data.local_status EQ DEACTIVATE_CONFIRM )
{
display_info.iconindex=REMIND_COMPLETE; //hu binhao 2003-1-14
display_info.TextId2 = TxtDeActivated;
display_info.Callback = (T_VOID_FUNC)confirm_dialog_cb;
// bookShowInformation( confirm_data.confirm_win, display_info.TextId, &Confirm, 0, display_info.Callback);
}
else if( confirm_data.local_status EQ FACTORY_RESET )
{
display_info.TextId = TxtPressOk;
display_info.TextId2 = TxtFactoryReset;
display_info.Time = TEN_SECS;
display_info.LeftSoftKey = TxtSoftOK;
display_info.RightSoftKey = TxtSoftBack;
display_info.iconindex =REMIND_REQUIRE;
display_info.Callback = (T_VOID_FUNC)confirm_dialog_cb;
// info_dialog (confirm_data.confirm_win, &display_info);
}
info_dialog (confirm_data.confirm_win, &display_info);
/*************************end of zy change for show dialog with icon*********************/
}
/*******************************************************************************
$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 !
if( confirm_data.local_status EQ FACTORY_RESET )
setUserSettingsDefault(); //zy change use self function 04/08/02
confirm_Exit(win);
break;
/* no break; */
case INFO_KCD_HUP:
/* no break; */
case INFO_KCD_RIGHT:
/* no break; */
case INFO_KCD_CLEAR:
case INFO_TIMEOUT: //zy move here 2003-02-24
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;
}
}
/******************************************************/
/* */
/*Function Name: IntensityShow */
/*Purpose: IntensityShow */
/*Prarmeter: none */
/*return : none */
/* */
/*Author : zhou yue */
/*Date : Aug.4st,2002 */
/******************************************************/
static void IntensityShow (void)
{
dspl_TextOut(20,12,DSPL_TXTATTR_NORMAL,"INTENSITY");
dspl_DrawRect(10,22,70,22+5);
dspl_DrawFillRect(10,22,10+curIntensity*6,22+5);
}
/* 2004/05/25 sunsj modify */
/******************************************************/
/* */
/*Function Name: intensityEventWin */
/*Purpose: intensityEventWin */
/*Prarmeter: MfwEvt e, MfwWin *w */
/*return : int */
/* */
/*Author : zhou yue */
/*Date : Aug.4st,2002
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -