📄 setup.c
字号:
#include <comsub.h>
#if ( _SETUP_MODE==_SETUP_MENU_Enable )
#include <ui_sub.h>
#include <nv.h>
#include <gui.h>
#include <ui.h>
#include <setupfunc.h>
#include <setupdefine.h>
#include <setup_cfg.h>
#include "setupshow.h"
#include "../normal/nmosd.h"
#include "setup.h"
#include "..\fileopenmenu\MediaPlayerOutlook.h"
#include "../cstm/fend/frntp.h"
#include "../normal/nmscreen.h"
extern BYTE internalOrform;
BYTE bCurValueInCurChoice[2];
BYTE bRecordInputPswTime = 0;
BYTE bConfirmKey;//true means "ENTER";FALSE means "CANCEL"
BYTE InputPass[4] = " ";
BYTE PassCnt = 0;
BYTE InputNum[4] = {0xff,0xff,0xff,0xff};
void SetSpeakerTimer(void);
void SetWarningTimer(void);
void WarningTimerAct(void);
//
SETUP_GLOBALVAR Setup_g_Var;
const CountryCode_S bCountryCode[26]=
{
/*0*/ {'A',{'D','E','F','G','I','L','M','N','O','Q','R','S','T','U','W','Z'}},
/*1*/ {'B',{'A','B','D','E','F','G','H','I','J','M','N','O','R','S','T','V','W','Y','Z'}},
/*2*/ {'C',{'A','C','F','G','H','I','K','L','M','N','O','R','S','U','V','X','Y','Z'}},
/*3*/ {'D',{'E','J','K','M','O','Z'}},
/*4*/ {'E',{'C','E','G','H','R','S','T'}},
/*5*/ {'F',{'I','J','K','M','O','R','X'}},
/*6*/ {'G',{'A','B','D','E','F','H','I','L','M','N','P','Q','R','S','T','U','W','Y'}},
/*7*/ {'H',{'K','M','N','R','T','U'}},
/*8*/ {'I',{'D','E','L','N','O','Q','R','S','T'}},
/*9*/ {'J',{'M','O','P'}},
/*10*/ {'K',{'E','G','H','I','M','N','P','R','W','Y','Z'}},
/*11*/ {'L',{'A','B','O','I','K','R','S','T','U','V','Y',}},
/*12*/ {'M',{'A','C','D','G','H','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}},
/*13*/ {'N',{'A','C','E','F','G','I','L','O','P','R','U','Z'}},
/*14*/ {'O',{'M'}},
/*15*/ {'P',{'A','E','F','G','H','K','L','M','N','R','T','W','Y'}},
/*16*/ {'Q',{'A'}},
/*17*/ {'R',{'E','O','U','W'}},
/*18*/ {'S',{'A','B','C','D','E','G','H','I','J','K','L','M','N','O','R','T','U','V','Y','Z'}},
/*19*/ {'T',{'C','D','F','G','H','J','K','M','N','O','P','R','T','V','W','Z'}},
/*20*/ {'U',{'A','G','K','M','S','Y','Z'}},
/*21*/ {'V',{'A','C','E','G','I','N','U'}},
/*22*/ {'W',{'F','S'}},
/*23*/ {'Y',{'E','T','U'}},
/*24*/ {'Z',{'A','M','R','W'}}
};
static T_DWORD_FUNC_PTR SetupObjRespondFPKey[17] =
{
#if (_SETUP_MIXCHOICE_MODE == _SETUP_MIXCHOICE_ENABLE_)
SetupMixChoiceRespondFPKey,
#else
SetupChoiceRespondFPKey/*NULL*/,
#endif
SetupPSWChoiceRespondFPKey,SetupVerifyChoiceRespondFPKey,
SetupChoiceRespondFPKey,
#if (_SETUP_51SPEAKER_MODE == _SETUP_51SPEAKER_ENABLE_)
SetupRActiveChoiceRespondFPKey,SetupRPassiveChoiceRespondFPKey,
SetupTimerCallbackRespondFPKey,
#else
NULL, NULL, NULL,
#endif
SetupCauseHPageRespondFPKey,
#if (_SETUP_51SPEAKER_MODE == _SETUP_51SPEAKER_ENABLE_)
SetupRPassiveSizeRespondFPKEY,SetupRPassiveDisRespondFPKEY,
#else
NULL,NULL,
#endif
SetupPasswordRespondFPKey,
SetupCauseDisaRespomdFPKey,SetupByCauseDisaRespomdFPKey,
#if (_SETUP_PSCAN_MODE == _SETUP_PSCAN_ENABLE_)
SetupPScanRespondFPKey,
#else
NULL,
#endif
SetupOSDLangRespondFPKey,SetupKaraChoiceRespondFPKey,SetupVoutPutChoiceRespondFPKey,
};
#if 0
BYTE GetSetupWarnMode()
{
if(Setup_g_Var.bUnderConfirmMenu)
return TRUE;
else
return FALSE;
}
#endif
#if 0
void InitDiscLang()
{
int i;
#ifdef _LANG_GROUP_0
#define _ORDER_INDEX 0
#endif
#ifdef _LANG_GROUP_1
#define _ORDER_INDEX 1
#endif
#ifdef _LANG_GROUP_2
#define _ORDER_INDEX 2
#endif
#ifdef _LANG_GROUP_3
#define _ORDER_INDEX 3
#endif
#ifdef _LANG_GROUP_4
#define _ORDER_INDEX 4
#endif
#ifdef _LANG_GROUP_5
#define _ORDER_INDEX 5
#endif
#ifdef _LANG_GROUP_6
#define _ORDER_INDEX 6
#endif
#ifdef _LANG_GROUP_7
#define _ORDER_INDEX 7
#endif
#ifdef _LANG_GROUP_8
#define _ORDER_INDEX 8
#endif
#ifdef _LANG_GROUP_9
#define _ORDER_INDEX 9
#endif
#ifdef _LANG_GROUP_10
#define _ORDER_INDEX 10
#endif
#ifdef _LANG_GROUP_11
#define _ORDER_INDEX 11
#endif
#ifdef _LANG_GROUP_12
#define _ORDER_INDEX 12
#endif
#ifdef _LANG_GROUP_13
#define _ORDER_INDEX 13
#endif
#ifdef _LANG_GROUP_14
#define _ORDER_INDEX 14
#endif
#ifdef _LANG_GROUP_100
#define _ORDER_INDEX 14
#endif
DiscAudio.bFuncCmds[0] = SETUPFUNC_NALANG_ORIGINAL;
DiscAudio.wItemChoiceIDs[0]= RS_SETUP_NVLANG_ORIGINAL;
DiscMenu.bFuncCmds[0] = SETUPFUNC_NALANG_ORIGINAL;
DiscMenu.wItemChoiceIDs[0]= RS_SETUP_NVLANG_ORIGINAL;
for(i=1;i<(1+Setup_DiscLang[_ORDER_INDEX].bLanguageNum);i++)
{
DiscAudio.bFuncCmds[i] = Setup_DiscLang[_ORDER_INDEX].bFuncCmd[i-1];
DiscAudio.wItemChoiceIDs[i]= Setup_DiscLang[_ORDER_INDEX].bLangRSCID[i-1];
DiscMenu.bFuncCmds[i] = Setup_DiscLang[_ORDER_INDEX].bFuncCmd[i-1];
DiscMenu.wItemChoiceIDs[i]= Setup_DiscLang[_ORDER_INDEX].bLangRSCID[i-1];
}
DiscAudio.bFuncCmds[1+Setup_DiscLang[_ORDER_INDEX].bLanguageNum] = SETUPFUNC_NALANG_OHTER;
DiscAudio.wItemChoiceIDs[1+Setup_DiscLang[_ORDER_INDEX].bLanguageNum]= RS_SETUP_NVLANG_OTHER_SELECTION;
DiscMenu.bFuncCmds[1+Setup_DiscLang[_ORDER_INDEX].bLanguageNum] = SETUPFUNC_NALANG_OHTER;
DiscMenu.wItemChoiceIDs[1+Setup_DiscLang[_ORDER_INDEX].bLanguageNum]= RS_SETUP_NVLANG_OTHER_SELECTION;
DiscSubtitle.bFuncCmds[0] = SETUPFUNC_NALANG_OFF;
DiscSubtitle.wItemChoiceIDs[0]= RS_SETUP_CONFIRM_OFF;
DiscSubtitle.bFuncCmds[1] = SETUPFUNC_NALANG_ORIGINAL;
DiscSubtitle.wItemChoiceIDs[1]= RS_SETUP_NVLANG_ORIGINAL;
for(i=2;i<(2+Setup_DiscLang[_ORDER_INDEX].bLanguageNum);i++)
{
DiscSubtitle.bFuncCmds[i] = Setup_DiscLang[_ORDER_INDEX].bFuncCmd[i-2];
DiscSubtitle.wItemChoiceIDs[i]= Setup_DiscLang[_ORDER_INDEX].bLangRSCID[i-2];
}
DiscSubtitle.bFuncCmds[2+Setup_DiscLang[_ORDER_INDEX].bLanguageNum] = SETUPFUNC_NALANG_OHTER;
DiscSubtitle.wItemChoiceIDs[2+Setup_DiscLang[_ORDER_INDEX].bLanguageNum]= RS_SETUP_NVLANG_OTHER_SELECTION;
}
#endif
/*added by xianzhong to down size. Aug.3.2004*/
void decrease_by_step(BYTE *op, BYTE Range)
{
if(*op <= 0)
*op = Range - 1;
else
(*op)--;
}
/*added by xianzhong to down size. Aug.3.2004*/
void increase_by_step(BYTE *op, BYTE Range)
{
if(*op >= Range - 1)
*op = 0;
else
(*op)++;
}
/*added by xianzhong to down size. Aug.3.2004*/
void CommonKeyUpOrDown(BOOL bUp)
{
do{
if(bUp)
{
decrease_by_step(&(Setup_g_Var.bCurItem), Setup_Config.pSetupPages[Setup_g_Var.bCurPage]->bItemNums);
}else
{
increase_by_step(&(Setup_g_Var.bCurItem), Setup_Config.pSetupPages[Setup_g_Var.bCurPage]->bItemNums);
}
}while((Setup_Config.pSetupPages[Setup_g_Var.bCurPage]->SetupItems[Setup_g_Var.bCurItem]->bObjectType&0x80)==0x80);
Setup_g_Var.bActiveObj = Setup_Config.pSetupPages[Setup_g_Var.bCurPage]->SetupItems[Setup_g_Var.bCurItem]->bObjectType;
Setup_g_Var.bCurChoice = GetCurChoice(Setup_Config.pSetupPages[Setup_g_Var.bCurPage]->SetupItems[Setup_g_Var.bCurItem]);
}
/*added by xianzhong to down size. Aug.3.2004*/
void Item_CommonKeyUpOrDown(BOOL bUp, BOOL bOrginal)
{
if(bOrginal)HighLightItem(Setup_Config.pSetupPages[Setup_g_Var.bCurPage]->SetupItems[Setup_g_Var.bCurItem], Setup_g_Var.bCurItem, HL_OFF);
CommonKeyUpOrDown(bUp);
HighLightItem(Setup_Config.pSetupPages[Setup_g_Var.bCurPage]->SetupItems[Setup_g_Var.bCurItem], Setup_g_Var.bCurItem, HL_ON);
}
#if (_SETUP_51SPEAKER_MODE == _SETUP_51SPEAKER_ENABLE_)
/*added by xianzhong to down size. Aug.3.2004*/
void Audio_CommonKeyUpOrDown(BOOL bUp, BOOL bOrginal)
{
if(bOrginal) HighLightAudioChoice(Setup_Config.pSetupPages[Setup_g_Var.bCurPage]->SetupItems[Setup_g_Var.bCurItem], Setup_g_Var.bCurItem, Setup_g_Var.bCurChoice, 1);
CommonKeyUpOrDown(bUp);
HighLightAudioChoice(Setup_Config.pSetupPages[Setup_g_Var.bCurPage]->SetupItems[Setup_g_Var.bCurItem], Setup_g_Var.bCurItem, Setup_g_Var.bCurChoice, 0);
}
#endif
BYTE InCurLangGOP(BYTE bLangId)
{
int i;
for(i=0;i<8;i++)
{
if(bLangId == DiscAudio.bFuncCmds[i+1])
return TRUE;
}
return FALSE;
}
void ReorderItems(lpSETUP_PAGE pPage)
{
int i,j;
for(i=0;i<MAX_ITEM_IN_PAGE;i++)
{
if(pPage->SetupItems[i] == NULL)
{
for(j=i;j<(MAX_ITEM_IN_PAGE-1);j++)
{
pPage->SetupItems[j] =pPage->SetupItems[j+1];
}
pPage->SetupItems[MAX_ITEM_IN_PAGE-1] = NULL;
}
}
for(i=0;i<MAX_ITEM_IN_PAGE;i++)
{
if(pPage->SetupItems[i] == NULL)
break;
}
pPage->bItemNums = i;
}
void InitSetupCfg_in()
{
int i,j;
if(GetDefSetupPara(GETCMD_DTS))
Page_Audio.SetupItems[1] = &DTSONItem;
else
Page_Audio.SetupItems[1] = &DTSOFFItem;
if(!GetDefSetupPara(GETCMD_CHANNEL))
{
Page_Audio.SetupItems[4] = NULL;
}
else
{
Page_Audio.SetupItems[4] = &ChannelSwitch;
}
Page_Audio.SetupItems[5] = &DRC;
#ifdef _KARAOKE_ENABLE_
Page_Audio.SetupItems[6] =NULL;
#else
Page_Audio.SetupItems[6] = &Vocal;
#endif
Page_Display.SetupItems[4] = &NpSwitch;
Page_Display.SetupItems[4]->wItemChoiceIDs[0] = RS_GUI_DEINT_MODE_AUTO;
Page_Display.SetupItems[4]->wItemChoiceIDs[1] = RS_SETUP_DISP_PAL;
Page_Display.SetupItems[4]->wItemChoiceIDs[2] = RS_SETUP_DISP_NTSC;
Page_Display.SetupItems[4]-> bFuncCmds[0] = SETUPFUNC_NP_AUTO;
Page_Display.SetupItems[4]-> bFuncCmds[1] = SETUPFUNC_NP_PAL;
Page_Display.SetupItems[4]-> bFuncCmds[2] = SETUPFUNC_NP_NTSC;
if(GetDefSetupPara(GETCMD_VCD))
{
Page_Other.SetupItems[0]=&PBC;
#if (AUTOPLAY_SETUP == AUTOPLAY_SETUP_ENABLE)
Page_Other.SetupItems[1]=&AutoPlaySet;
Page_Other.SetupItems[2]=&BlackLevel;
Page_Other.SetupItems[3]=&LoadDefault;
Page_Other.SetupItems[4]=&ScrsaverV;
Page_Other.SetupItems[5]=&LastPlay;
#else
Page_Other.SetupItems[1]=&BlackLevel;
Page_Other.SetupItems[2]=&LoadDefault;
Page_Other.SetupItems[3]=&ScrsaverV;
Page_Other.SetupItems[4]=&LastPlay;
Page_Other.SetupItems[5]=NULL;
#endif
}
else
{
Page_Other.SetupItems[0]=NULL;
#if (AUTOPLAY_SETUP == AUTOPLAY_SETUP_ENABLE)
Page_Other.SetupItems[1]=&AutoPlaySet;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -