📄 tidtv_menusetupproc.c
字号:
/*******************************************************************************
* @RoutineName:: DtvSetupScreenFormatInitFuct
*
* @Description:: screen format Init
*
* @Input ::
* TI_DTV_MENU_ITEM *pMenuItem
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvSetupScreenFormatInitFuct(TI_DTV_MENU_ITEM *pMenuItem)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPSCREENFORMAT_INDEX));
TiDTV_MenuRadioBoxInitFuct(pMenuItem, UserPreferOffset, TiDTV_SetupScreenFormatStrings );
}
/*******************************************************************************
* @RoutineName:: DtvSetupScreenFormatActFuct
*
* @Description:: screen format action
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int DtvSetupScreenFormatActFuct(void)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPSCREENFORMAT_INDEX));
TiDTV_MenuRadioBoxActFuct(&DtvMainMenu, pCurDtvMenu->pCurItem, UserPreferOffset, (USHORT *) TiDTV_SetupScreenFormatStrings);
return 1;
}
/*******************************************************************************
* @RoutineName:: DtvSetupTimeInitFuct
*
* @Description:: time Init
*
* @Input ::
* TI_DTV_MENU_ITEM *pMenuItem
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvSetupTimeInitFuct(TI_DTV_MENU_ITEM *pMenuItem)
{
TiDTV_MenuPageEndInitFuct(pMenuItem);
}
/*******************************************************************************
* @RoutineName:: DtvSetupTimeActFuct
*
* @Description:: time action
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int DtvSetupTimeActFuct(void)
{
TiDTV_MenuPageActFuct(&DtvMainMenu, &TiDtvMenuSetupTime);
return 1;
}
/*******************************************************************************
* @RoutineName:: DtvSetupClosedCaptionInitFuct
*
* @Description:: closed caption Init
*
* @Input ::
* TI_DTV_MENU_ITEM *pMenuItem
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvSetupClosedCaptionInitFuct(TI_DTV_MENU_ITEM *pMenuItem)
{
TiDTV_MenuPageEndInitFuct(pMenuItem);
}
/*******************************************************************************
* @RoutineName:: DtvSetupClosedCaptionActFuct
*
* @Description:: closed caption action
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int DtvSetupClosedCaptionActFuct(void)
{
TiDTV_MenuPageActFuct(&DtvMainMenu, &TiDtvMenuSetupClosedCaption);
return 1;
}
/*******************************************************************************
* @RoutineName:: DtvSetupVChipInitFuct
*
* @Description:: v-chip Init
*
* @Input ::
* TI_DTV_MENU_ITEM *pMenuItem
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvSetupVChipInitFuct(TI_DTV_MENU_ITEM *pMenuItem)
{
TiDTV_MenuPageEndInitFuct(pMenuItem);
}
/*******************************************************************************
* @RoutineName:: DtvSetupVChipActFuct
*
* @Description:: v-chip action
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int DtvSetupVChipActFuct(void)
{
TI_DTV_MENU_ITEM *pNextItem;
USHORT j;
USHORT PassWordMatch;
USHORT *Pt;
PassWordMatch = 0;
switch (TiDTV_KeyBuf.CurKeyCodeMenu) {
case TI_DTV_IR_KEY_UP:
if(PassWordInputing == 0)
{
pNextItem = pCurDtvMenu->pCurItem->pUpItem;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_BACKCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
// Display the Cursor (current position)
pCurDtvMenu->pCurItem = pNextItem;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_SEL_FRONTCOLOR);
}
break;
case TI_DTV_IR_KEY_DOWN:
if(PassWordInputing == 0)
{
pNextItem = pCurDtvMenu->pCurItem->pDownItem;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_BACKCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
// Display the Cursor (current position)
pCurDtvMenu->pCurItem = pNextItem;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_SEL_FRONTCOLOR);
}
break;
case TI_DTV_IR_KEY_EXIT:
case TI_DTV_IR_KEY_LEFT:
if(PassWordInputing == 0)
{
PassWordInputing = 0;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_BACKCOLOR, SUB_MENU_CHARACTER_BACKCOLOR);
pCurDtvMenu->pCurItem = &pCurDtvMenu->pItemList[0];
pCurDtvMenu->pNextMenu = (TI_DTV_MENU *) &DtvMainMenu;
pCurDtvMenu = pCurDtvMenu->pNextMenu;
}
else
{
PassWordInputing = 0;
PassWordCursor = 0;
pCurDtvMenu->pNextMenu = (TI_DTV_MENU *) &TiDtvMenuSetup;
DtvDispSubMenu(); // Display the Sub Menu as Notes
pCurDtvMenu = pCurDtvMenu->pNextMenu;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_SEL_FRONTCOLOR);
}
break;
case TI_DTV_IR_KEY_RIGHT:
case TI_DTV_IR_KEY_SELECT:
if(PassWordInputing == 0)
{
PassWordCursor = 0;
PassWordInputing = 1;
TiDTV_VChipPassWordInputingHandler();
}
break;
case TI_DTV_IR_KEY_0:
case TI_DTV_IR_KEY_1:
case TI_DTV_IR_KEY_2:
case TI_DTV_IR_KEY_3: // Numeric 3
case TI_DTV_IR_KEY_4: // Numeric 4
case TI_DTV_IR_KEY_5: // Numeric 5
case TI_DTV_IR_KEY_6: // Numeric 6
case TI_DTV_IR_KEY_7: // Numeric 7
case TI_DTV_IR_KEY_8: // Numeric 8
case TI_DTV_IR_KEY_9: // Numeric 9
if(PassWordCursor < 4)
{
// digital '0' position is 0x18.
PassWordPool[PassWordCursor] = TiDTV_KeyBuf.CurKeyCodeMenu - TI_DTV_IR_KEY_0;
PassWordCursor ++;
}
if(PassWordCursor == 4)
{
// reset the cursor
PassWordInputing = 0;
PassWordCursor = 0;
// check password match
Pt = (USHORT*)&UserPreferSetting.UserPrefer_SetupVChipPassWordFirstNumber;
for(j = 0; j < 4; j++)
{
if(PassWordPool[j] != *(Pt + j))
{
PassWordMatch = 1;
break;
}
}
// if not match, go back to father node
if(PassWordMatch != 0)
{
pCurDtvMenu->pNextMenu = (TI_DTV_MENU *) &TiDtvMenuSetup;
DtvDispSubMenu(); // Display the Sub Menu as Notes
pCurDtvMenu = pCurDtvMenu->pNextMenu;
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_SEL_FRONTCOLOR);
}
// if match, go to leaf node
else
{
pCurDtvMenu->pNextMenu = (TI_DTV_MENU *) &TiDtvMenuSetupVChip;
DtvDispSubMenu(); // Display the Sub Menu as Notes
pCurDtvMenu = pCurDtvMenu->pNextMenu;
pCurDtvMenu->pCurItem = &pCurDtvMenu->pItemList[0];
DtvDispSubMenuItem(pCurDtvMenu->pCurItem, SUB_MENU_CHARACTER_SEL_FRONTCOLOR, SUB_MENU_CHARACTER_SEL_FRONTCOLOR);
}
TiDTV_UpdateNavigationBar((TI_DTV_MENU_NODE_NAVIGATION *) &TiDTV_Basic_Navigation, 0);
break;
}
if(PassWordInputing == 1)
{
TiDTV_VChipPassWordInputingHandler();
}
break;
default:
break;
}
return 1;
}
/*******************************************************************************
* @RoutineName:: DtvSetupTimeModeInitFuct
*
* @Description:: Time Mode Init
*
* @Input ::TI_DTV_MENU_ITEM *pMenuItem
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvSetupTimeModeInitFuct(TI_DTV_MENU_ITEM *pMenuItem)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPTIMEMODE_INDEX));
TiDTV_MenuRadioBoxInitFuct(pMenuItem, UserPreferOffset, TiDTV_SetupTimeModeStrings );
}
/*******************************************************************************
* @RoutineName:: DtvSetupTimeModeActFuct
*
* @Description:: Time mode action
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int DtvSetupTimeModeActFuct(void)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPTIMEMODE_INDEX));
TiDTV_MenuRadioBoxActFuct(&TiDtvMenuSetup, pCurDtvMenu->pCurItem, UserPreferOffset, (USHORT *) TiDTV_SetupTimeModeStrings);
return 1;
}
/*******************************************************************************
* @RoutineName:: DtvSetupTimeZoneInitFuct
*
* @Description:: Time Zone Init
*
* @Input ::
* TI_DTV_MENU_ITEM *pMenuItem
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvSetupTimeZoneInitFuct(TI_DTV_MENU_ITEM *pMenuItem)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPTIMETIMEZONE_INDEX));
TiDTV_MenuRadioBoxInitFuct(pMenuItem, UserPreferOffset, TiDTV_SetupTimeZoneStrings );
}
/*******************************************************************************
* @RoutineName:: DtvSetupTimeZoneActFuct
*
* @Description:: Time Zone
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int DtvSetupTimeZoneActFuct(void)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPTIMETIMEZONE_INDEX));
TiDTV_MenuRadioBoxActFuct(&TiDtvMenuSetup, pCurDtvMenu->pCurItem, UserPreferOffset, (USHORT *) TiDTV_SetupTimeZoneStrings);
return 1;
}
/*******************************************************************************
* @RoutineName:: DtvSetupTimeAutoShutdownInitFuct
*
* @Description:: auto shutdown Init
*
* @Input ::
* TI_DTV_MENU_ITEM *pMenuItem
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvSetupTimeAutoShutdownInitFuct(TI_DTV_MENU_ITEM *pMenuItem)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPTIMEAUTOSHUTDOWN_INDEX));
TiDTV_MenuRadioBoxInitFuct(pMenuItem, UserPreferOffset, TiDTV_SetupTimeAutoShutdownStrings );
}
/*******************************************************************************
* @RoutineName:: DtvSetupTimeAutoShutdownActFuct
*
* @Description:: auto shutdown
*
* @Input ::None
*
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
int DtvSetupTimeAutoShutdownActFuct(void)
{
short * UserPreferOffset;
UserPreferOffset = (short *)((UINT32)(&UserPreferSetting) + (UINT32)(sizeof(USHORT) * USERPREFER_SETUPTIMEAUTOSHUTDOWN_INDEX));
TiDTV_MenuRadioBoxActFuct(&TiDtvMenuSetup, pCurDtvMenu->pCurItem, UserPreferOffset, (USHORT *) TiDTV_SetupTimeAutoShutdownStrings);
return 1;
}
/*******************************************************************************
* @RoutineName:: DtvSetupTimeManualClockInitFuct
*
* @Description:: Manual Clock init
*
* @Input ::
* TI_DTV_MENU_ITEM *pMenuItem
*
* @Output :: none
*
* @Return :: none
*******************************************************************************/
void DtvSetupTimeManualClockInitFuct(TI_DTV_MENU_ITEM *pMenuItem)
{
TiDTV_MenuPageEndInitFuct(pMenuItem);
}
/*******************************************************************************
* @RoutineName:: DtvSetupTimeManualClockActFuct
*
* @Description:: Manual Clock action
*
* @Input ::None
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -