summaryrefslogtreecommitdiff
path: root/patches/.svn/text-base/vdr-1.6.0-altmenuaction.patch.svn-base
diff options
context:
space:
mode:
Diffstat (limited to 'patches/.svn/text-base/vdr-1.6.0-altmenuaction.patch.svn-base')
-rw-r--r--patches/.svn/text-base/vdr-1.6.0-altmenuaction.patch.svn-base38
1 files changed, 38 insertions, 0 deletions
diff --git a/patches/.svn/text-base/vdr-1.6.0-altmenuaction.patch.svn-base b/patches/.svn/text-base/vdr-1.6.0-altmenuaction.patch.svn-base
new file mode 100644
index 0000000..4b06850
--- /dev/null
+++ b/patches/.svn/text-base/vdr-1.6.0-altmenuaction.patch.svn-base
@@ -0,0 +1,38 @@
+Index: plugin.h
+===================================================================
+--- plugin.h (revision 2072)
++++ plugin.h (working copy)
+@@ -45,7 +45,8 @@
+
+ virtual const char *MainMenuEntry(void);
+ virtual cOsdObject *MainMenuAction(void);
+-
++ virtual cOsdObject *AltMenuAction(void) { return NULL; };
++
+ virtual cMenuSetupPage *SetupMenu(void);
+ virtual bool SetupParse(const char *Name, const char *Value);
+ void SetupStore(const char *Name, const char *Value = NULL);
+Index: vdr.c
+===================================================================
+--- vdr.c (revision 2072)
++++ vdr.c (working copy)
+@@ -929,6 +929,19 @@
+ Recordings.Update();
+ DeletedRecordings.Update();
+ }
++ cPlugin *mcliPlugin = cPluginManager::GetPlugin("mcli");
++ if (mcliPlugin) {
++ if (!ShutdownHandler.countdown) { // if kPower has been pressed, cMenuShutdown takes precedence over other menus
++ cOsdObject *MyMenu = mcliPlugin->AltMenuAction();
++ if (MyMenu) { // is there any cam-menu waiting?
++ DELETE_MENU;
++ if (cControl::Control())
++ cControl::Control()->Hide();
++ Menu = MyMenu;
++ Menu->Show();
++ }
++ }
++ }
+ // CAM control:
+ if (!Menu && !cOsd::IsOpen())
+ Menu = CamControl();