📄 mmienvironment.c
字号:
* Create window handler
*/
data->mmi_control.dialog = (T_DIALOG_FUNC)envconfirms;
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: envconfirm_destroy
$Description: mute confirm
$Returns:
$Arguments:
*******************************************************************************/
void envconfirm_destroy (T_MFW_HND own_window)
{
T_MFW_WIN * win;
T_Envconfirm * data;
TRACE_FUNCTION ("envconfirm_destroy()");
if(own_window)
{
win = ((T_MFW_HDR *)own_window)->data;
data = (T_Envconfirm *)win->user;
if(data)
{
/*
* Delete WIN handler
*/
win_delete (data->confirm_win);
data->confirm_win = 0;
}
}
}
/*******************************************************************************
$Function: envconfirm_Init
$Description: call by scenemode_mute
$Returns:
$Arguments:
*******************************************************************************/
T_MFW_HND envconfirm_Init (T_MFW_HND parent_window)
{
return(envconfirm_create (parent_window));
}
/*******************************************************************************
$Function: envconfirm_Exit
$Description:
$Returns:
$Arguments:
*******************************************************************************/
void envconfirm_Exit (T_MFW_HND own_window)
{
T_MFW_WIN * win_data = ((T_MFW_HDR *)own_window)->data;
T_Envconfirm * data = (T_Envconfirm *)win_data->user;
envconfirm_destroy (data->confirm_win);
}
/*******************************************************************************
$Function: envconfirm_dialog_cb
$Description:
$Returns:
$Arguments:
*******************************************************************************/
void envconfirm_dialog_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason)
{
TRACE_FUNCTION ("envconfirm_dialog_cb()");
switch(reason)
{
case INFO_TIMEOUT:
/* no break; */
case INFO_KCD_HUP:
/* no break; */
case INFO_KCD_RIGHT:
/* no break; */
case INFO_KCD_CLEAR:
case INFO_KCD_LEFT: //xsf add 2003.02.13
envconfirm_Exit(win);
break;
default :
break;
}
}
/*******************************************************************************
$Function: confirm_dialog
$Description:
$Returns:
$Arguments:
*******************************************************************************/
static void envconfirm_dialog(void)
{
T_DISPLAY_DATA display_info;
TRACE_FUNCTION ("envconfirm_dialog()");
dialog_info_init(&display_info);
display_info.KeyEvents = KEY_CLEAR | KEY_RIGHT | KEY_LEFT;
display_info.LeftSoftKey = '\0';
display_info.RightSoftKey = '\0';
display_info.TextString = '\0';
display_info.TextString2 = '\0';
display_info.TextId = 0;
display_info.Time = TWO_SECS;
display_info.iconindex=REMIND_COMPLETE;
if(envconfirm.local_status EQ ACTIVATE_CONFIRM)
{
display_info.TextId2 = TxtActivated;
}
else if(envconfirm.local_status EQ DEACTIVATE_CONFIRM)
{
display_info.TextId2 = TxtDeActivated;
}
display_info.Callback = (T_VOID_FUNC)envconfirm_dialog_cb;
/*
* Call Info Screen
*/
info_dialog (envconfirm.confirm_win, &display_info);
}
/* handler of menu menuScene */
int scenemode_normal (MfwMnu *m, MfwMnuItem *i)
{
//TRACE_EVENT("NORMAL MODE");
Gu8_Envio_num=NORMAL_ENV;
return 0;
}
/* handler of menu menuScene */
int scenemode_out(MfwMnu *m, MfwMnuItem *i)
{
//TRACE_EVENT("OUT MODE");
Gu8_Envio_num=OUTDOOR_ENV;
return 0;
}
/* handler of menu menuScene */
int scenemode_meeting(MfwMnu *m, MfwMnuItem *i)
{
//TRACE_EVENT("MEETING MODE");
Gu8_Envio_num=MEETING_ENV;
return 0;
}
/* handler of menu menuScene */
int scenemode_incar(MfwMnu *m, MfwMnuItem *i)
//USHORT scenemode_incar (struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *mi)
{
//TRACE_EVENT("INCAR MODE");
Gu8_Envio_num=INCAR_ENV;
return 0;
}
/* handler of menu menuScene */
void scenemode_mute(void)
//USHORT scenemode_mute (struct MfwMnuTag *m, struct MfwMnuAttrTag *ma, struct MfwMnuItemTag *mi)
{
T_MFW_HND win = mfw_parent(mfw_header());
envconfirm_Init(win);
if(FlashEnvironmentData.CurrentEnv== MUTE_ENV)
envconfirm.local_status = ACTIVATE_CONFIRM;
else
{
envconfirm.local_status = ACTIVATE_CONFIRM;
FlashEnvironmentData.CurrentEnv= MUTE_ENV;
flash_environmentwrite();
}
SEND_EVENT (envconfirm.confirm_win, SHOW_CONFIRM, 0, 0);
}
/* 开启 */
int SetEnvironmentmode( MfwMnu *m, MfwMnuItem *i )
{
//T_MFW_HND win = mfw_parent(mfw_header());
//envconfirm_Init(win);
if(FlashEnvironmentData.CurrentEnv!= Gu8_Envio_num)
//envconfirm.local_status = ACTIVATE_CONFIRM;
//else
{
//envconfirm.local_status = ACTIVATE_CONFIRM;
FlashEnvironmentData.CurrentEnv= Gu8_Envio_num;
flash_environmentwrite();
}
//SEND_EVENT (envconfirm.confirm_win, SHOW_CONFIRM, 0, 0);
mnuUpdate(m); //xsf add 2002.11.07
return 0;
}
//SetRingmode
// -----------------------------------------------------------------------
// Function :SetRingmode
// Description : incoming call ring mode activate
// Input :
// Output :
// Notes :
// Last Modified: 2004.1.6 WYJ
// ------------------------------------------------------------------------
//
void SetRingmode(MfwMnu* m, MfwMnuItem* i)
{
StopPlayingMelody2();
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].prompttype=RING;
flash_environmentwrite();
mnuUpdate(m); //xsf add 2002.08.16
//StartMelody(0); //xsf add 2002.08.12
StartPlayByReason(MENUSETPLAY,0); //xsf add 2002.09.06
isKeyRing = 1;
}//SetRingmode
/* alarm ring activate */
void SetAlarmRingmode(MfwMnu* m, MfwMnuItem* i)
{
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].alarmprompt=RING;
flash_environmentwrite();
mnuUpdate(m); //add 2002.09.24
//StartPlayByReason(MENUALARMPLAY,0);
if(FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].alarmvolume < 1)
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].alarmvolume = 3;
SetMVol_DownLinkPGA(FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].alarmvolume);
if(melody_status==MELODY_IDLE) //&& (tone_status == TONE_IDLE))
{
StartPlayingMelody2( FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].alarmtype, 0);
}
isKeyRing = 1;
}//SetAlarmRingmode
// -----------------------------------------------------------------------
// Function :SetRingAndVib
// Description : incoming call ring & Vibra activate
// Input :
// Output :
// Notes :
// Last Modified: 2004.1.6 WYJ
// ------------------------------------------------------------------------
//
void SetRingAndVib(MfwMnu* m, MfwMnuItem* i)
{
StopPlayingMelody2();
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].prompttype=RINGANDVIBRA;
flash_environmentwrite();
mnuUpdate(m);
//StartMelody(0); //xsf add 2002.08.12
StartPlayByReason(MENUSETPLAY,0);
StartVibrator();
l_playing=SMSPLAYVIB;
//TIMCREATE_SETFLLAG( hRingVibStartTimer = timCreate( 0, TIM4SECOND, (MfwCb)stopvib2playmelody);)// 2004.4.1 wyj call no win
timStart( hRingVibStartTimer );
isKeyRing = 1;
}
// -----------------------------------------------------------------------
// Function :SetVibramode
// Description : incoming call Vibra mode activate
// Input :
// Output :
// Notes :
// Last Modified:
// ------------------------------------------------------------------------
//
void SetVibramode(MfwMnu* m, MfwMnuItem* i)
{
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].prompttype=VIBRA;
flash_environmentwrite();
mnuUpdate(m); //xsf add 2002.08.16
StartVibrator();
l_playing=SMSPLAYVIB;
//TIMCREATE_SETFLLAG (hRingVibStartTimer = timCreate( 0, TIM4SECOND, (MfwCb)stopvib2playmelody);)// 2004.4.1 wyj call no win
timStart( hRingVibStartTimer );
}//SetVibramode
/* alarm vibra activate */
void SetAlarmVibramode(MfwMnu* m, MfwMnuItem* i)
{
FlashEnvironmentData.EnviroProfile[Gu8_Envio_num].alarmprompt=VIBRA;
flash_environmentwrite();
mnuUpdate(m); //xsf add 2002.09.24
StartVibrator();
l_playing=SMSPLAYVIB;
//TIMCREATE_SETFLLAG( hRingVibStartTimer = timCreate( 0, TIM4SECOND, (MfwCb)stopvib2playmelody);)// 2004.4.1 wyj call no win
timStart( hRingVibStartTimer );
}//SetAlarmVibramode
/*******************************************************************************
$Function: stopvib2playmelody
$Description: stop vibrator then play melody , this event handler
is invoked when the hRingVibStartTimer event completes
$Returns: MFW_EVENT_CONSUMED always
$Arguments: e, event, tc timer context
*******************************************************************************/
int stopvib2playmelody( MfwEvt e, MfwTim *tc )
{
//CurrentMode = CurrentMode & (~ModeSms); 2004.3.30 wyj MI18800000128
if(vibra_status == VIBRA_BUSY)
StopVibrator();
else if((vibra_status == VIBRA_IDLE)&&(l_playing==INCALLVIBRA))
StartVibrator();
else if((vibra_status == VIBRA_IDLE)&&(l_playing==INCALLPLAY)) //xsf add for vibra 12s(old is 4s) first then ring 2003.04.09
{
StartVibrator();
l_playing=INCALLVIBRING;
timStart(hRingVibStartTimer);
return MFW_EVENT_CONSUMED;
}
// stop running timer
if(hRingVibStartTimer != NULL)
timStop(hRingVibStartTimer);
//if((melody_status == MELODY_BUSY) && ( l_playing==SMSPLAYMELODY)) //XSF add 2002.10.15
//StopMelody2(MelodyTablestr[3]);
if( l_playing==SMSPLAYMELODY) //glowing, 2003-12-15
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -