vdr  1.7.27
menu.c
Go to the documentation of this file.
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 }