summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Blickle <rblickle@gmx.de>2010-07-19 11:44:42 +0200
committerRainer Blickle <rblickle@gmx.de>2010-07-19 11:44:42 +0200
commite0d676518240561f66d26cb22371de70508dbfbf (patch)
tree43075cf9b06a623914d2bb30b47bc86208407da3
parent41a73ec1c6b0e606bc2b7dc66e1237994a716470 (diff)
downloadvdr-plugin-pvrinput-e0d676518240561f66d26cb22371de70508dbfbf.tar.gz
vdr-plugin-pvrinput-e0d676518240561f66d26cb22371de70508dbfbf.tar.bz2
Change handling of back-key in submenues and change Version
-rw-r--r--menu.c7
-rw-r--r--pvrinput.c2
-rw-r--r--submenu.c25
-rw-r--r--submenu.h17
4 files changed, 26 insertions, 25 deletions
diff --git a/menu.c b/menu.c
index aaefb3c..274e9fb 100644
--- a/menu.c
+++ b/menu.c
@@ -105,12 +105,7 @@ eOSState cPvrMenuSetup::ProcessKey(eKeys Key) {
state = cOsdMenu::ProcessKey(Key);
}
} else {
- if (Key == kOk) {
- // next menu has to be pvrinput plugin menu, not settings menu
- CloseSubMenu();
- } else {
- state = cOsdMenu::ProcessKey(Key);
- }
+ state = cOsdMenu::ProcessKey(Key);
}
return state;
}
diff --git a/pvrinput.c b/pvrinput.c
index 8e24eb9..035f176 100644
--- a/pvrinput.c
+++ b/pvrinput.c
@@ -6,7 +6,7 @@
#endif
#endif
-static const char *VERSION = "2010-04-14";
+static const char *VERSION = "2010-07-19-rb_osd_submenus";
static const char *DESCRIPTION = tr("use Hauppauge PVR as input device");
static const char *MAINMENUENTRY = tr("PVR picture settings");
diff --git a/submenu.c b/submenu.c
index fd7122c..84551d7 100644
--- a/submenu.c
+++ b/submenu.c
@@ -117,8 +117,7 @@ static const char *exceptionVolumeForCard[] = {
};
cPvrMenuGeneral::cPvrMenuGeneral(cPvrSetup *setupObject) :
- cOsdMenu(tr("Setup.pvrinput$General Parameters"),
- 33/*same col value as in cMenuSetupPage::cMenuSetupPage*/),
+ cPvrSubMenu(tr("Setup.pvrinput$General Parameters")),
setup(setupObject)
{
Add(new cMenuEditIntItem(tr("Setup.pvrinput$Log level"), &setup->LogLevel, 0, 4));
@@ -130,8 +129,7 @@ cPvrMenuGeneral::cPvrMenuGeneral(cPvrSetup *setupObject) :
cPvrMenuVideo::cPvrMenuVideo(cPvrSetup *setupObject) :
- cOsdMenu(tr("Setup.pvrinput$Video Parameters"),
- 33/*same col value as in cMenuSetupPage::cMenuSetupPage*/),
+ cPvrSubMenu(tr("Setup.pvrinput$Video Parameters")),
setup(setupObject)
{
Add(new cMenuEditIntItem(tr("Setup.pvrinput$Brightness"), &setup->Brightness.value, 0, 100));
@@ -160,8 +158,7 @@ cPvrMenuVideo::cPvrMenuVideo(cPvrSetup *setupObject) :
}
cPvrMenuAudio::cPvrMenuAudio(cPvrSetup *setupObject) :
- cOsdMenu(tr("Setup.pvrinput$Audio Parameters"),
- 33/*same col value as in cMenuSetupPage::cMenuSetupPage*/),
+ cPvrSubMenu(tr("Setup.pvrinput$Audio Parameters")),
setup(setupObject)
{
Add(new cMenuEditIntItem(tr("Setup.pvrinput$Common Audio volume (TV)"), &setup->AudioVolumeTVCommon.value, 0, 100));
@@ -192,8 +189,7 @@ cPvrMenuAudio::cPvrMenuAudio(cPvrSetup *setupObject) :
}
cPvrMenuMpegFilter::cPvrMenuMpegFilter(cPvrSetup *setupObject) :
- cOsdMenu(tr("Setup.pvrinput$MPEG Filter Parameters"),
- 33/*same col value as in cMenuSetupPage::cMenuSetupPage*/),
+ cPvrSubMenu(tr("Setup.pvrinput$MPEG Filter Parameters")),
setup(setupObject)
{
static const char *FilterModes[2];
@@ -271,8 +267,7 @@ cPvrMenuMpegFilter::cPvrMenuMpegFilter(cPvrSetup *setupObject) :
}
cPvrMenuExperts::cPvrMenuExperts(cPvrSetup *setupObject) :
- cOsdMenu(tr("Setup.pvrinput$Expert Parameters"),
- 33/*same col value as in cMenuSetupPage::cMenuSetupPage*/),
+ cPvrSubMenu(tr("Setup.pvrinput$Expert Parameters")),
setup(setupObject)
{
Add(new cMenuEditStraItem(tr("Setup.pvrinput$Stream type"), &setup->StreamType.value, 2, streamType));
@@ -283,8 +278,7 @@ cPvrMenuExperts::cPvrMenuExperts(cPvrSetup *setupObject) :
}
cPvrMenuHdPvr::cPvrMenuHdPvr(cPvrSetup *setupObject) :
- cOsdMenu(tr("Setup.pvrinput$HDPVR Parameters"),
- 33/*same col value as in cMenuSetupPage::cMenuSetupPage*/),
+ cPvrSubMenu(tr("Setup.pvrinput$HDPVR Parameters")),
setup(setupObject) {
static const char *HDPVR_AudioEncodings[2];
@@ -300,3 +294,10 @@ cPvrMenuHdPvr::cPvrMenuHdPvr(cPvrSetup *setupObject) :
Add(new cMenuEditStraItem(tr("Setup.pvrinput$HDPVR audio input"), &setup->HDPVR_AudioInput, 3, HDPVR_AudioInputs));
}
+
+eOSState cPvrSubMenu::ProcessKey(eKeys Key) {
+ if (Key == kOk) {
+ return osBack;
+ }
+ return cOsdMenu::ProcessKey(Key);
+}
diff --git a/submenu.h b/submenu.h
index 60b454a..b4eb5c3 100644
--- a/submenu.h
+++ b/submenu.h
@@ -28,8 +28,13 @@
#include "common.h"
#include <vdr/osdbase.h>
+class cPvrSubMenu : public cOsdMenu {
+public:
+ cPvrSubMenu(const char* text) : cOsdMenu(text, 33) { }
+ virtual eOSState ProcessKey(eKeys Key);
+};
-class cPvrMenuGeneral : public cOsdMenu {
+class cPvrMenuGeneral : public cPvrSubMenu {
private:
/* Reference to the setup data object, mustn't be deleted within this Object */
cPvrSetup *setup;
@@ -37,7 +42,7 @@ public:
cPvrMenuGeneral(cPvrSetup *setupObject);
};
-class cPvrMenuVideo : public cOsdMenu {
+class cPvrMenuVideo : public cPvrSubMenu {
private:
/* Reference to the setup data object, mustn't be deleted within this Object */
cPvrSetup *setup;
@@ -45,7 +50,7 @@ public:
cPvrMenuVideo(cPvrSetup *setupObject);
};
-class cPvrMenuAudio : public cOsdMenu {
+class cPvrMenuAudio : public cPvrSubMenu {
private:
/* Reference to the setup data object, mustn't be deleted within this Object */
cPvrSetup *setup;
@@ -53,7 +58,7 @@ public:
cPvrMenuAudio(cPvrSetup *setupObject);
};
-class cPvrMenuMpegFilter : public cOsdMenu {
+class cPvrMenuMpegFilter : public cPvrSubMenu {
private:
/* Reference to the setup data object, mustn't be deleted within this Object */
cPvrSetup *setup;
@@ -61,7 +66,7 @@ public:
cPvrMenuMpegFilter(cPvrSetup *setupObject);
};
-class cPvrMenuExperts : public cOsdMenu {
+class cPvrMenuExperts : public cPvrSubMenu {
private:
/* Reference to the setup data object, mustn't be deleted within this Object */
cPvrSetup *setup;
@@ -69,7 +74,7 @@ public:
cPvrMenuExperts(cPvrSetup *setupObject);
};
-class cPvrMenuHdPvr : public cOsdMenu {
+class cPvrMenuHdPvr : public cPvrSubMenu {
private:
/* Reference to the setup data object, mustn't be deleted within this Object */
cPvrSetup *setup;