summaryrefslogtreecommitdiff
path: root/PLUGINS/src/dvbhddevice/menu.c
blob: e8fd867ab092bce3c12a528918aab5efe4120302 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
 * menu.c: The DVB HD Full Featured device main menu
 *
 * See the README file for copyright information and how to reach the author.
 */

#include "menu.h"
#include "setup.h"

cHdffMenu::cHdffMenu(HDFF::cHdffCmdIf * pHdffCmdIf)
:   cOsdMenu("dvbhddevice"),
    mHdffCmdIf(pHdffCmdIf)
{
    mVideoConversionItem = new cOsdItem("", osUnknown, false);
    Add(mVideoConversionItem);
    SetHelp(tr("Video Conversion"), tr("TV on"));
    SetVideoConversion();
}

cHdffMenu::~cHdffMenu()
{
}

eOSState cHdffMenu::ProcessKey(eKeys key)
{
    eOSState state = cOsdMenu::ProcessKey(key);
    if (state == osUnknown)
    {
        switch (key)
        {
            case kRed:
                gHdffSetup.SetNextVideoConversion();
                SetVideoConversion();
                break;

            case kGreen:
                mHdffCmdIf->CmdHdmiSendCecCommand(HDFF_CEC_COMMAND_TV_ON);
                state = osEnd;
                break;

            case kOk:
                state = osEnd;
                break;

            default:
                break;
        }
    }
    return state;
}

void cHdffMenu::SetVideoConversion(void)
{
    HdffVideoFormat_t videoFormat;
    videoFormat.AutomaticEnabled = true;
    videoFormat.AfdEnabled = false;
    videoFormat.TvFormat = (HdffTvFormat_t) gHdffSetup.TvFormat;
    videoFormat.VideoConversion = (HdffVideoConversion_t) gHdffSetup.VideoConversion;
    mHdffCmdIf->CmdAvSetVideoFormat(0, &videoFormat);

    char str[128];
    sprintf(str, "%s: %s", tr("Video Conversion"), gHdffSetup.GetVideoConversionString());
    mVideoConversionItem->SetText(str);
    Display();
}