vdr
1.7.27
|
00001 /* 00002 * menu.c: The DVB HD Full Featured device main menu 00003 * 00004 * See the README file for copyright information and how to reach the author. 00005 */ 00006 00007 #include "menu.h" 00008 #include "setup.h" 00009 00010 cHdffMenu::cHdffMenu(HDFF::cHdffCmdIf * pHdffCmdIf) 00011 : cOsdMenu("dvbhddevice"), 00012 mHdffCmdIf(pHdffCmdIf) 00013 { 00014 mVideoConversionItem = new cOsdItem("", osUnknown, false); 00015 Add(mVideoConversionItem); 00016 SetHelp(tr("Video Conversion"), tr("TV on")); 00017 SetVideoConversion(); 00018 } 00019 00020 cHdffMenu::~cHdffMenu() 00021 { 00022 } 00023 00024 eOSState cHdffMenu::ProcessKey(eKeys key) 00025 { 00026 eOSState state = cOsdMenu::ProcessKey(key); 00027 if (state == osUnknown) 00028 { 00029 switch (key) 00030 { 00031 case kRed: 00032 gHdffSetup.SetNextVideoConversion(); 00033 SetVideoConversion(); 00034 break; 00035 00036 case kGreen: 00037 mHdffCmdIf->CmdHdmiSendCecCommand(HDFF_CEC_COMMAND_TV_ON); 00038 state = osEnd; 00039 break; 00040 00041 case kOk: 00042 state = osEnd; 00043 break; 00044 00045 default: 00046 break; 00047 } 00048 } 00049 return state; 00050 } 00051 00052 void cHdffMenu::SetVideoConversion(void) 00053 { 00054 HdffVideoFormat_t videoFormat; 00055 videoFormat.AutomaticEnabled = true; 00056 videoFormat.AfdEnabled = false; 00057 videoFormat.TvFormat = (HdffTvFormat_t) gHdffSetup.TvFormat; 00058 videoFormat.VideoConversion = (HdffVideoConversion_t) gHdffSetup.VideoConversion; 00059 mHdffCmdIf->CmdAvSetVideoFormat(0, &videoFormat); 00060 00061 char str[128]; 00062 sprintf(str, "%s: %s", tr("Video Conversion"), gHdffSetup.GetVideoConversionString()); 00063 mVideoConversionItem->SetText(str); 00064 Display(); 00065 }