📄 set_a_talkfun.c
字号:
#ifdef _MNT_
#include <assert.h>
#else
#define assert(x)
#endif
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "datatype.h"
#include "mmalloc.h"
#include "at.h"
#include "METAWNDO1.H"
#include "paramanage.h"
#include "windows.h"
#include "translate.h"
#include "debug_out.h"
#include "selectwnd.h"
#include "Message.h"
extern int Waiting(int a);
#define COMPILE_OK 0
#define COMPILING 1
#if COMPILING
void u_Talk_set(void);
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//--------1
typedef struct {
window_t wnd;
listbox_t lbox;
int sel;
} cfg_param_t;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
#define MAX_CFG_ITEM 3
const static char *cfgName[] = {
"呼叫转移",
"呼叫限制",
"语音信箱"//"呼叫等待",
//"号码保密",
//"区号设置",
//"IP设置",
//"拨号方式",
};
extern void Talk_Call_transfer(void);
extern void Talk_Call_Barring(void);
extern int SetAudioMessageNum(void);
/*
extern void __Talk_Call_WaitingSet(void);
extern void __Talk_Call_PrivacySet(void);
*/
void u_Talk_set(void)
{//rect area;
//char Numberbf[24];
int selMenu, id = 1;
selMenu = 0;
while (id) {
//id = cfgMainWnd(selMenu);// yu 显示所有菜单
id = XSelectWindow((char**)cfgName, MAX_CFG_ITEM, selMenu);//,TRUE);
if (id < 0)
break;
selMenu = id;
switch (id) {
case 0:// "呼叫转移",
Talk_Call_transfer();
id = 1;
break;
case 1:// "呼叫限制",
Talk_Call_Barring();
id = 1;
break;
case 2:
SetAudioMessageNum();
id = 1;
break;
break;
default:
id = 0;
break;
}
}
}
#endif
#if 1
#define MAX_Dis_En_able 2
const static char *YNcfgName[] = {
"禁用",
"启用",//TRUE
};
void u_LowP_alarm_set()
{
int selMenu, id = 1;
selMenu = gDevicePara.dev.LowPoAlarm;
while (id) {
id = XSelectWindow((char**)YNcfgName, MAX_Dis_En_able, selMenu);//,TRUE
if (id < 0)
break;
selMenu = id;
if((id>=0)&&(id<MAX_Dis_En_able))
{
gDevicePara.dev.LowPoAlarm=id;
Para_Store(&gDevicePara);
XTipWndShow(TranslateChar("设置成功"),1);
id = 0;
}
else
id = 0;
}
}
extern int setSelectCallring(int *data);
static int u_ring_set()
{int sel ,data;
data = gDevicePara.dev.ringType;
sel = setSelectCallring(&data);
if (sel == -1)
return -1;
if (sel == -2)
return -2;
gDevicePara.dev.ringType= (BYTE)data;
Para_Store(&gDevicePara);
XTipWndShow(TranslateChar("设置成功"),1);
return 0;
}
//void u_NET_set()
//{
//
//}
#if 1
extern int setSelectSmsLife(int *data);
int u_SMSFUN_set()
{int sel ,data;
data = gDevicePara.dev.SmsLifetime;
sel = setSelectSmsLife(&data);
if (sel == -1)
return -1;
if (sel == -2)
return -2;
gDevicePara.dev.SmsLifetime= (BYTE)data;
Para_Store(&gDevicePara);
XTipWndShow(TranslateChar("设置成功"),1);
return 0;
}
#endif
#endif
#define USESETDATA
#ifdef USESETDATA
//#define MAX_CFG_ITEM_ 8
enum use_set_t
{
RING_set,
RINGVOL_set,
KeyBeep_set,
TIME_set,
TIME_FORMAT_set,
AlarmClock_set,
KeyJJ_send_set,
LOWPOWER_set,
// NET_set,
SERVICE_set,
SMSFUN_set,
CONTRAST_set,
LEDTIME_set,
MAX_CFG_ITEM_
};
const static char *cfgName_[] = {
"铃声模式",
"铃声音量",
"按键提示音",
"时间设置",
"日期格式",
"闹钟设置",
"# 呼叫设置",
"低电量报警",
// "网络设定功能",
"设置扩展服务",
"短消息选项",
"对比度设置",
"背景灯时间",
};
void manage_set(void);
extern int ParaSetWindow(void *argv);
extern int timeSetWindow(void);
extern void SetAlarmClock(int AlarID);
extern int ContrastAdjust(void);
extern int RingVOlAdjust(void);
#if 1
#define MAX_CFG_ITEM_4 3
const char *cfgName_4[]={
"日/月/年",
"月/日/年",
"年/月/日",
} ;
static void timeFormatSet(void)
{
int selMenu, id = 1;
selMenu = gDevicePara.sysdata.DateFormat;
while (id)
{
id = XSelectWindow((char**)cfgName_4, MAX_CFG_ITEM_4, selMenu);//,FALSE
if (id < 0)
break;
selMenu = id;
if((id>=0)&&(id<MAX_CFG_ITEM_4))
{
gDevicePara.sysdata.DateFormat=id;
Para_Store(&gDevicePara);
XTipWndShow(TranslateChar("设置成功"),1);
id = 0;
}
else
id = 0;
}
}
#endif
#if 1
static void KeyBeepSetWindow(void)
{
int selMenu, id = 1;
selMenu = gDevicePara.sysdata.EnKeyBeep;
while (id) {
id = XSelectWindow((char**)YNcfgName, MAX_Dis_En_able, selMenu);//,TRUE
if (id < 0)
break;
selMenu = id;
if((id>=0)&&(id<MAX_Dis_En_able))
{
gDevicePara.sysdata.EnKeyBeep=id;
Para_Store(&gDevicePara);
XTipWndShow(TranslateChar("设置成功"),1);
id = 0;
}
else
id = 0;
}
}
#endif
#if 1
static void KeyJJSnedSet(void)
{
int selMenu, id = 1;
selMenu = gDevicePara.sysdata.KeyJJSend;
while (id) {
id = XSelectWindow((char**)YNcfgName, MAX_Dis_En_able, selMenu);//,TRUE
if (id < 0)
break;
selMenu = id;
if((id>=0)&&(id<MAX_Dis_En_able))
{
gDevicePara.sysdata.KeyJJSend=id;
Para_Store(&gDevicePara);
XTipWndShow(TranslateChar("设置成功"),1);
id = 0;
}
else
id = 0;
}
}
#endif
#if 1
#define MAX_CFG_ITEM_3 3
const char *cfgName_3[]={
"闹钟1",
"闹钟2",
"闹钟3",
} ;
#if 1
// for logo set
typedef struct {
window_t wnd;
listbox_t lbox;
char *item[20];
int num;
int sel;
} alarmsel_window_t;
static alarmsel_window_t *gAlarmSelectWnd;
static int AlarmOnDrawMainItem(listbox_t *lb, rect *rc, int num)
{char ashowstr[20];
if (num >= gAlarmSelectWnd->num)
return -1;
MoveTo(rc->Xmin + 1, rc->Ymax);
DrawString((BYTE*)TranslateChar(cfgName_3[num]));
//---
MoveTo(rc->Xmin + 1+(6*6), rc->Ymax);
DrawString((BYTE*)": ");
//---
MoveTo(rc->Xmin + 1+(6*8), rc->Ymax);
if(0<gDevicePara.AlarmClk[num].enFLAG)
{
sprintf(ashowstr, "%02d:%02d", gDevicePara.AlarmClk[num].hour,gDevicePara.AlarmClk[num].min);
DrawString((BYTE*)ashowstr);
}
else
DrawString((BYTE*)TranslateChar("关"));
//---
return 0;
}
static int AlarmselMainProc(XMSG *msg)
{
switch (msg->message) {
case MSG_KEYDOWN:
switch (msg->param1) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -