diff g23m/condat/ms/src/bmi/mmimmssetting.c @ 0:509db1a7b7b8

initial import: leo2moko-r1
author Space Falcon <falcon@ivan.Harhan.ORG>
date Mon, 01 Jun 2015 03:24:05 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/g23m/condat/ms/src/bmi/mmimmssetting.c	Mon Jun 01 03:24:05 2015 +0000
@@ -0,0 +1,238 @@
+/*******************************************************************************
+
+					TI (Shanghai)
+
+********************************************************************************                                                                              
+
+ This software product is the property of TI (Shanghai) Ltd and may not be
+ disclosed to any third party without the express permission of the owner.                                 
+                                                                              
+********************************************************************************
+
+ $Project name:	TISHMMS Project                                                     
+ $Project code:	BMI (6349)                                                           
+ $Module:		MMS
+ $File:		    MmiMMSSetting.c
+ $Revision:		1.0                                                       
+                                                                              
+ $Author:		Yan Bin(bin-yan@ti.com)                                                          
+ $Date:		    26/08/03                                                     
+                                                                               
+********************************************************************************
+                                                                              
+ Description:
+ 
+    This module provides definitions of the types and
+    constants which are shared across the MMS
+    application modules.
+   
+********************************************************************************
+ $History: MmiMMSSetting.c
+ 
+    Bug Id 26: 16 Aug 2004
+    Description: The MMSc Address is changed pressing the delete sokftkey / the hangup key
+    Solution: The change is stored onto a temporary buffer and updated only when the user confirms
+    
+	17/01/04			Replace mfw edit with AUI edit.	
+
+	29/10/03			Original TI(Shanghai) BMI version.	
+	   
+ $End
+
+*******************************************************************************/
+
+#define MMI_MMSSETTING_C
+
+#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 "prim.h"
+
+#include "mfw_mfw.h"
+#include "mfw_win.h"
+
+#include "mfw_tim.h"
+#include "mfw_phb.h"
+#include "ksd.h"
+#include "psa.h"
+#include "mfw_sms.h"
+#include "mfw_smsi.h"
+#include "mfw_icn.h"
+#include "mfw_mnu.h"
+#include "mfw_lng.h"
+#include "mfw_sat.h"
+#include "mfw_kbd.h"
+#include "mfw_nm.h"
+
+
+#include "dspl.h"
+
+#include "MmiMain.h"
+#include "MmiDummy.h"
+#include "MmiMmi.h"
+
+#include "MmiDialogs.h"
+#include "MmiLists.h"
+#include "MmiMenu.h"
+#include "MmiSoftKeys.h"
+
+#ifdef NEW_EDITOR
+#include "ATBCommon.h"
+#include "ATBDisplay.h"
+#include "ATBEditor.h"
+#include "AUIEditor.h"
+#else /* NEW_EDITOR */
+#ifdef EASY_TEXT_ENABLED
+#include "MmiLatinPredText.h"
+#endif /* EASY_TEXT_ENABLED */
+#include "MmiEditor.h"
+#endif /* NEW_EDITOR */
+
+#include "MmiBookShared.h"
+#include "mmimmsmenu.h"
+#include "mmimmssetting.h"
+#include "mmiwindow.h"
+
+#include "mmiSmsMenu.h"
+#include "mmismssend.h"
+
+#include "cus_aci.h"
+
+#include "mfw_ffs.h"
+//#include "pcm.h"
+
+#include "mmiColours.h"
+
+//Bug ID 26: 16 Aug 2004 - xpradipg
+//the maximum length of the MMSc Address
+#define MMS_ADDR_MAX_LEN 150
+
+
+static char scenter[32]="\0";
+static T_MFW_HND	    editor=NULL;
+   //Bug Id 26: 16 Aug 2004 - xpradipg
+   //Temporary buffer added to hold the MMSc address, the address is updated only
+   //when the user confirms 
+UBYTE *Temp_MMSC_Addr;
+static void MMSSetting_edit_cb( T_MFW_HND win, USHORT Identifier,UBYTE reason)
+{
+	T_MFW_WIN	        * win_data = ((T_MFW_HDR *) win)->data;
+	T_DISPLAY_DATA display_info;
+       char* pMmscAddress = NULL;
+	TRACE_EVENT_P1("MMSSetting_edit_cb() %d", Identifier);
+
+
+	switch (reason)
+    {
+	case INFO_KCD_LEFT:  // confirm (press LEFT soft key)
+        	TRACE_EVENT_P1("scenter: %s",scenter);
+		//Bug Id 26: 16 Aug 2004 - xpradipg
+		//retrieve the original buffer to which the MMSc address is to be updated
+		//and update and save it with the temprorary buffer contents
+		pMmscAddress =(char*) ATB_mms_get_MmscAddress();
+		strcpy(pMmscAddress,(char*)Temp_MMSC_Addr);
+              ATB_mms_profile_save();
+              /* save mmsc profile */
+        	MMI_DestoryWindow(win);
+    	break;
+
+	case INFO_KCD_RIGHT:
+	case INFO_KCD_HUP:
+	    	MMI_DestoryWindow(win);
+    	break;
+	default:
+	    	TRACE_EVENT("Err: Default");
+    	break;
+    }
+	
+}
+
+/*******************************************************************************
+
+ $Function:    	MMSSetting_exec_cb
+
+ $Description:	Callback handler for events sent by the window itself
+ 
+ $Returns:    	none
+
+ $Arguments:	win - current window
+             	event - event id
+             	parameter - optional data.
+*******************************************************************************/
+extern char* ATB_mms_get_MmscAddress(void);
+static void MMSSetting_exec_cb(T_MFW_HND win, USHORT event, void *parameter)
+{
+	T_MFW_WIN      * win_data = ((T_MFW_HDR *) win)->data;
+	//T_EDITOR_DATA	editor_data;
+	T_AUI_EDITOR_DATA editor_data;
+	char* pMmscAddress = NULL;
+
+	
+	TRACE_FUNCTION ("MMSSetting_exec_cb()");
+
+	switch (event)
+	{
+	case MWM_CREATE:
+		//MMSSetting_loadEditDefault(&editor_data);
+		//Bug Id 26: 16 Aug 2004 - xpradipg
+		//Allocate memory to hold the MMSc Address
+		Temp_MMSC_Addr=(UBYTE*)mfwAlloc(MMS_ADDR_MAX_LEN+1);
+		memset(Temp_MMSC_Addr,'\0',MMS_ADDR_MAX_LEN+1);
+		pMmscAddress = ATB_mms_get_MmscAddress();
+		//Bug Id 26: 16 Aug 2004 - xpradipg
+		//and retrieve the current MMSc address to the temp buffer
+		strcpy((char*)Temp_MMSC_Addr,pMmscAddress);
+		AUI_edit_SetDefault(&editor_data);
+		AUI_edit_SetDisplay(&editor_data, PHNO_EDITOR, COLOUR_EDITOR_XX, EDITOR_FONT);
+		AUI_edit_SetEvents(&editor_data, SMSSEND_ID_NBEDIT, TRUE, FOREVER, (T_AUI_EDIT_CB)MMSSetting_edit_cb);
+		AUI_edit_SetTextStr(&editor_data, TxtSoftOK, TxtDelete, TxtServiceCentre, NULL);
+		AUI_edit_SetAltTextStr(&editor_data, 0, NULL, TRUE, TxtSoftBack);
+		AUI_edit_SetMode(&editor_data,ED_MODE_ALPHA, ED_CURSOR_UNDERLINE);
+		//Bug Id 26: 16 Aug 2004 - xpradipg
+		//pass the temporary buffer to the editor
+		AUI_edit_SetBuffer(&editor_data, ATB_DCS_ASCII, (UBYTE *)Temp_MMSC_Addr, 50);
+		editor = AUI_edit_Start(win, &editor_data);
+	    	break;
+	case MWM_ONDRAW:
+		break;
+	case MWM_DESTORY:
+		//Bug Id 26: 16 Aug 2004 - xpradipg
+		//free the memory allocated for the temp buffer
+		mfwFree(Temp_MMSC_Addr,MMS_ADDR_MAX_LEN+1);
+		break;
+	default:
+	    	TRACE_EVENT("Err: Default");
+    	break;
+    }
+}
+
+
+T_MFW_HND MMSSetting_start(T_MFW_HND parent_window, MfwMnuAttr *menuAttr)
+{
+	MMI_CreateWindow(parent_window, (T_DIALOG_FUNC) MMSSetting_exec_cb, (void *) menuAttr, 0, 0, 0);
+}
+
+
+#undef MMI_MMSSETTING_C
+
+