summaryrefslogtreecommitdiff
path: root/tvonscreen.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tvonscreen.cpp')
-rw-r--r--tvonscreen.cpp39
1 files changed, 34 insertions, 5 deletions
diff --git a/tvonscreen.cpp b/tvonscreen.cpp
index 3c43bdf..96f1d66 100644
--- a/tvonscreen.cpp
+++ b/tvonscreen.cpp
@@ -10,6 +10,11 @@
#include "config.h"
#include "i18n.h"
+#if defined(MAINMENUHOOKSVERSNUM) & !defined(MAINMENUHOOKSVERSION)
+#undef MAINMENUHOOKSVERSNUM
+#define MAINMENUHOOKSVERSNUM 10000
+#endif
+
static const char *VERSION = "1.1.142";
static const char *DESCRIPTION = trNOOP("Shows the EPG info in form of a typical TV magazine");
static const char *MAINMENUENTRY = trNOOP("TV-OnScreen");
@@ -34,13 +39,13 @@ public:
virtual bool Initialize(void);
virtual bool Start(void);
virtual void Housekeeping(void);
- virtual const char *MainMenuEntry(void)
- {
- return tr(MAINMENUENTRY);
- }
+ virtual const char *MainMenuEntry(void);
virtual cOsdObject *MainMenuAction(void);
virtual cMenuSetupPage *SetupMenu(void);
virtual bool SetupParse(const char *Name, const char *Value);
+#if MAINMENUHOOKSVERSNUM == 10001
+ virtual bool Service(const char *Id, void *Data);
+#endif
};
cPluginTvOnscreen::cPluginTvOnscreen(void)
@@ -86,6 +91,14 @@ void cPluginTvOnscreen::Housekeeping(void)
// Perform any cleanup or other regular tasks.
}
+const char *cPluginTvOnscreen::MainMenuEntry(void)
+{
+#if MAINMENUHOOKSVERSNUM == 10001
+ if (tvonscreenCfg.replaceorgschedule) return NULL;
+#endif
+ return tr(MAINMENUENTRY);
+}
+
cOsdObject *cPluginTvOnscreen::MainMenuAction(void)
{
// Perform the action when selected from the main VDR menu.
@@ -105,4 +118,20 @@ bool cPluginTvOnscreen::SetupParse(const char *Name, const char *Value)
return tvonscreenCfg.SetupParse(Name,Value);
}
-VDRPLUGINCREATOR(cPluginTvOnscreen) // Don't touch this! \ No newline at end of file
+#if MAINMENUHOOKSVERSNUM == 10001
+bool cPluginTvOnscreen::Service(const char *Id, void *Data)
+{
+ if (tvonscreenCfg.replaceorgschedule &&
+ strcmp(Id, "MainMenuHooksPatch-v1.0::osSchedule")==0)
+ {
+ if (!Data) return true;
+ cOsdObject **osd = (cOsdObject **) Data;
+ if (osd)
+ *osd = (cOsdObject*) MainMenuAction();
+ return true;
+ }
+ return false;
+}
+#endif
+
+VDRPLUGINCREATOR(cPluginTvOnscreen) // Don't touch this!