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

📄 mmisettings.c

📁 GSM手机设计软件代码
💻 C
📖 第 1 页 / 共 2 页
字号:
/*******************************************************************************

					CONDAT (UK)

********************************************************************************                                                                              

 This software product is the property of Condat (UK) Ltd and may not be
 disclosed to any third party without the express permission of the owner.                                 
                                                                              
********************************************************************************

 $Project name:	Basic MMI                                                      
 $Project code:	BMI (6349)                                                           
 $Module:		Settings
 $File:		    MmiSettings.c
 $Revision:		1.0                                                       
                                                                              
 $Author:		Condat(UK)                                                         
 $Date:		    25/10/00                                                      
                                                                               
********************************************************************************
                                                                              
 Description:

	
********************************************************************************
 $History: MmiSounds.c

	   
 $End

*******************************************************************************/


/*******************************************************************************
                                                                              
                                Include Files
                                                                              
*******************************************************************************/

#define ENTITY_MFW

/* includes */
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#if defined (NEW_FRAME)

#include "typedefs.h"
#include "vsi.h"
#include "pei.h"
#include "custom.h"
#include "gsm.h"

#else

#include "stddefs.h"
#include "custom.h"
#include "gsm.h"
#include "vsi.h"

#endif
#include "mfw_sys.h"

#include "p_sim.h"

#include "mfw_mfw.h"
#include "mfw_win.h"
#include "mfw_kbd.h"
/* SPR#1428 - SH - New Editor changes */
#ifndef NEW_EDITOR
#include "mfw_edt.h"
#endif
#include "mfw_lng.h"
#include "mfw_tim.h"
#include "mfw_icn.h"
#include "mfw_mnu.h"
#include "mfw_phb.h"
#include "mfw_cm.h"
#include "mfw_sim.h"
#include "mfw_nm.h"
#include "mfw_sat.h"
#include "mfw_phb.h"
#include "ksd.h"
#include "psa.h"
#include "mfw_sms.h"
#include "mfw_cphs.h"
#include "mfw_sat.h"
#include "mfw_td.h"

#include "dspl.h"

#include "MmiMmi.h"
#include "MmiDummy.h"
#include "MmiDialogs.h"
#include "MmiLists.h"
#include "MmiIdle.h"
#include "MmiSoftkeys.h"
#include "MmiIcons.h"
#include "MmiSounds.h"
#include "MmiMenu.h"
#include "MmiMain.h"
#include "MmiStart.h"
#include "MmiPins.h"
#include "MmiSettings.h"
#include "MmiVoiceMemo.h"
#include "mfw_ffs.h"
#include "MmiTimers.h"
#include "MmiResources.h"

#include "cus_aci.h"
#include "p_sim.h"

#include "mmicolours.h"

#define CLEAR_BOTTOM_ZONE dspl_Clear( KEY_AREA );
T_MFW_SMS_INFO SmsConfigData;

static int winEvent (MfwEvt e, MfwWin *w);

void confirm (T_MFW_HND win, USHORT event, SHORT value, void * parameter);
void confirm_dialog_cb(T_MFW_HND win, UBYTE identifier, UBYTE reason);
static void confirm_dialog(void);
static int confirm_win_cb (T_MFW_EVENT event, T_MFW_WIN * win);
void confirm_destroy (T_MFW_HND own_window);
T_MFW_HND confirm_create (T_MFW_HND parent_window);
void confirm_Exit (T_MFW_HND own_window);
T_MFW_HND confirm_Init (T_MFW_HND parent_window);
void setUserSettings2Default (void);


static void (*show) (void);

static MfwHnd win;                      /* our window               */
static MmiState nextState;              /* next state when finished */
static DisplayData DisplayInfo;



#define SHOW_CONFIRM           3
#define ACTIVATE_CONFIRM       4
#define DEACTIVATE_CONFIRM     5
#define FACTORY_RESET          6



typedef struct
{
  T_MMI_CONTROL    mmi_control;
  T_MFW_HND        confirm_win;        /* MFW win handler      */
  UBYTE 		   local_status;
} T_confirm;

T_confirm confirm_data;


/*
 * Settings menu subs:
 */




#define ON  	0
#define OFF		1
#define CLEAR	2

typedef struct 
{
    UBYTE setting;
    UBYTE status;
} T_settings;


typedef enum 
{
    ENGLISH = 0,
    GERMAN,
    AUTOREDIAL,
    AUTOANSWER,
    ANYKEYANSWER,
    CALLTIMERS,
    KEYPAD_CLICK,
 	KEYPAD_DTMF,
    KEYPAD_SILENT,
    VOICE_MEMO,
    MAX
}T_FACTORY_RESET_LIST;

  

T_settings DEFAULT_SETTINGS[] = 
{ 
	{ENGLISH,		ON},		//select the Language:English as a default
	{GERMAN,		OFF},   
	{AUTOREDIAL,	OFF},		
	{AUTOANSWER,	OFF},		
	{ANYKEYANSWER,	OFF},		
	{CALLTIMERS,	CLEAR},		
	{KEYPAD_CLICK,	ON},		//only one of the Keypads are eligible
	{KEYPAD_DTMF,	OFF},		
	{KEYPAD_SILENT,	OFF},		
	{VOICE_MEMO,	CLEAR},		
	{MAX,			0xFF}     
};

/*******************************************************************************

 $Function:    	SmsValidityPeriod

 $Description:	Store the validity period information, selected by the user.
			
 
 $Returns:		Execution status
 
 $Arguments:	m - menu handler
 				i - Menu item selected
 
*******************************************************************************/
int SmsValidityPeriod(MfwMnu* m, MfwMnuItem* i)
{
	int index;
	T_DISPLAY_DATA DisplayInfo;
		
    T_MFW_HND win  = mfwParent(mfw_header());
	
    TRACE_FUNCTION(">>>> SmsValidityPeriod()");

	index= m->lCursor[m->level];
	// Use Index to store the selected validity period in NVM.
	
	dlg_initDisplayData_TextId( &DisplayInfo, TxtNull, TxtCancel,TxtSmsValidityPeriodSet, TxtNull , COLOUR_STATUS);
	dlg_initDisplayData_events( &DisplayInfo, (T_VOID_FUNC)NULL, THREE_SECS, KEY_RIGHT|KEY_CLEAR );
	
	// Display confirmation screen.
	info_dialog(win,&DisplayInfo);
	
	return 1;
}




/*******************************************************************************

 $Function:    	settingsVoiceMail

 $Description:	menu entry function

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
int settingsVoiceMail(MfwMnu* m, MfwMnuItem* i)

{

	cphs_get_mailbox ();


    return 0;
}

/*******************************************************************************

 $Function:    	settingsVoiceMail

 $Description:	menu entry function

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
int settingsScNumber(MfwMnu* m, MfwMnuItem* i)
{

    return 0;
}
/*******************************************************************************

 $Function:    	settingsInit

 $Description:	init settings handling

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
void settingsInit (void)
{

    TRACE_EVENT ("settingsInit()");

    nextState = 0;

    win = winCreate(0,0,MfwWinVisible,(MfwCb)winEvent);
    winShow(win);
}

/*******************************************************************************

 $Function:    	settingsExit

 $Description:	exit settings handling

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
void settingsExit (void)
{
    TRACE_FUNCTION ("settingsExit()");

    nextState = 0;
    winDelete(win); win = 0;
}


/*******************************************************************************

 $Function:    	winEvent

 $Description:	window event handler

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
static int winEvent (MfwEvt e, MfwWin *w)
{
    TRACE_EVENT ("MmiSettings :: winEvent()");

    switch (e)
    {
        case MfwWinVisible:
            if (w->flags & MfwWinVisible)
                show();
            break;
        default:
            return 0;
    }

    return 1;
}
/*******************************************************************************

 $Function:    	settingsAutoRedialOn

 $Description:	auto redial switch on

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
int settingsAutoRedialOn(MfwMnu* m, MfwMnuItem* i)
{

   T_MFW_HND win = mfw_parent(mfw_header());

	confirm_Init(win);

	cm_set_redial(CM_REDIAL_AUTO);


    confirm_data.local_status = ACTIVATE_CONFIRM;

	SEND_EVENT (confirm_data.confirm_win, SHOW_CONFIRM, 0, 0);

	return 0;
}
/*******************************************************************************

 $Function:    	settingsAutoRedialOff

 $Description:	auto redial switch off

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
int settingsAutoRedialOff(MfwMnu* m, MfwMnuItem* i)
{
    T_MFW_HND win = mfw_parent(mfw_header());
 	confirm_Init(win);

	cm_set_redial(CM_REDIAL_OFF);

    confirm_data.local_status = DEACTIVATE_CONFIRM;

	SEND_EVENT (confirm_data.confirm_win, SHOW_CONFIRM, 0, 0);



	return 0;
}
/*******************************************************************************

 $Function:    	settingsSilentModeOn

 $Description:    Activate the silent Mode

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
int settingsSilentModeOn(void)
{
	TRACE_FUNCTION(">> settingsSilentModeOn()");
	FFS_flashData.settings_status |= SettingsSilentMode;
	flash_write();
	setSilentModeVolume();
	iconsSetState(iconIdSilRin);
	return 0;
}
/*******************************************************************************

 $Function:    	settingsSilentModeOff

 $Description:	Deactivate the silent Mode

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
int settingsSilentModeOff(void)
{
	TRACE_EVENT(">> settingsSilentModeOff()");
	FFS_flashData.settings_status &= ~SettingsSilentMode;
	flash_write();
	restoreSilentModeVolume();
	iconsDeleteState(iconIdSilRin);
	return 0;
}

/*******************************************************************************

 $Function:    	settingsKeyPadLockOn

 $Description:	

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
int settingsKeyPadLockOn(void)
{
	FFS_flashData.settings_status |= SettingsKeyPadLockOn;
	iconsSetState(iconIdKeyplock);
	idleEvent(IdleActiveKeyPadLocked);
	return 0;
}
/*******************************************************************************

 $Function:    	settingsKeyPadLockOff

 $Description:	

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
int settingsKeyPadLockOff(void)
{
	FFS_flashData.settings_status &= ~SettingsKeyPadLockOn;
	iconsDeleteState(iconIdKeyplock);

	return 0;
}
/*******************************************************************************

 $Function:    	settingsAutoAnswerOn

 $Description:	

 $Returns:		

 $Arguments:	
 
*******************************************************************************/
int settingsAutoAnswerOn(MfwMnu* m, MfwMnuItem* i)
{
    T_MFW_HND win = mfw_parent(mfw_header());

	confirm_Init(win);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -