⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mmisettings.c

📁 是一个手机功能的模拟程序
💻 C
📖 第 1 页 / 共 5 页
字号:

    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 + -