summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlouis <louis.braun@gmx.de>2014-12-06 11:17:15 +0100
committerlouis <louis.braun@gmx.de>2014-12-06 11:17:15 +0100
commit562c0b3f00caf1d1d20f1f81cf40048dfa74277f (patch)
tree9d118a48cc60a670aa46590bf49302ec70bae6c3
parent3280b839d1d598d514d8d325c45bf789c0a220c1 (diff)
downloadvdr-plugin-skindesigner-562c0b3f00caf1d1d20f1f81cf40048dfa74277f.tar.gz
vdr-plugin-skindesigner-562c0b3f00caf1d1d20f1f81cf40048dfa74277f.tar.bz2
displaying default menu list if menu category is set to another category but SetItem() is called
-rw-r--r--HISTORY3
-rw-r--r--displaymenu.c1
-rw-r--r--views/displaymenurootview.c41
-rw-r--r--views/displaymenurootview.h1
4 files changed, 29 insertions, 17 deletions
diff --git a/HISTORY b/HISTORY
index 7384352..b948765 100644
--- a/HISTORY
+++ b/HISTORY
@@ -103,3 +103,6 @@ Version 0.0.7
- fixed bug that global double vars are not working
Version 0.0.8
+
+- displaying default menu list if menu category is set to another category
+ but SetItem() is called \ No newline at end of file
diff --git a/displaymenu.c b/displaymenu.c
index fd01f85..3055e4d 100644
--- a/displaymenu.c
+++ b/displaymenu.c
@@ -190,6 +190,7 @@ void cSDDisplayMenu::SetItem(const char *Text, int Index, bool Current, bool Sel
} else if (cat == mcSetup && rootView->SubViewAvailable()) {
list->AddSetupMenuItem(Index, Text, Current, Selectable);
} else {
+ rootView->CorrectDefaultMenu();
string *tabTexts = new string[MaxTabs];
for (int i=0; i<MaxTabs; i++) {
const char *s = GetTabbedText(Text, i);
diff --git a/views/displaymenurootview.c b/views/displaymenurootview.c
index ff6516f..a96a391 100644
--- a/views/displaymenurootview.c
+++ b/views/displaymenurootview.c
@@ -65,23 +65,24 @@ bool cDisplayMenuRootView::createOsd(void) {
8 mcTimerEdit,
9 mcRecording,
10 mcRecordingInfo,
-11 mcPlugin,
-12 mcPluginSetup,
-13 mcSetup,
-14 mcSetupOsd,
-15 mcSetupEpg,
-16 mcSetupDvb,
-17 mcSetupLnb,
-18 mcSetupCam,
-19 mcSetupRecord,
-20 mcSetupReplay,
-21 mcSetupMisc,
-22 mcSetupPlugins,
-23 mcCommand,
-24 mcEvent,
-25 mcText,
-26 mcFolder,
-27 mcCam
+11 mcRecordingEdit,
+12 mcPlugin,
+13 mcPluginSetup,
+14 mcSetup,
+15 mcSetupOsd,
+16 mcSetupEpg,
+17 mcSetupDvb,
+18 mcSetupLnb,
+19 mcSetupCam,
+20 mcSetupRecord,
+21 mcSetupReplay,
+22 mcSetupMisc,
+23 mcSetupPlugins,
+24 mcCommand,
+25 mcEvent,
+26 mcText,
+27 mcFolder,
+28 mcCam
*/
void cDisplayMenuRootView::SetMenu(eMenuCategory menuCat, bool menuInit) {
@@ -202,6 +203,12 @@ void cDisplayMenuRootView::SetMenu(eMenuCategory menuCat, bool menuInit) {
}
}
+void cDisplayMenuRootView::CorrectDefaultMenu(void) {
+ if (viewType > svMenuDefault) {
+ SetMenu(mcUnknown, true);
+ }
+}
+
void cDisplayMenuRootView::SetPluginMenu(string name, int menu, int type) {
if (pluginName.compare(name) || menu != pluginMenu || type != pluginMenuType)
pluginMenuChanged = true;
diff --git a/views/displaymenurootview.h b/views/displaymenurootview.h
index d49e6b5..a605507 100644
--- a/views/displaymenurootview.h
+++ b/views/displaymenurootview.h
@@ -44,6 +44,7 @@ public:
virtual ~cDisplayMenuRootView();
bool createOsd(void);
void SetMenu(eMenuCategory menuCat, bool menuInit);
+ void CorrectDefaultMenu(void);
void SetPluginMenu(string name, int menu, int type);
void SetTitle(const char *title);
void SetChannel(const cChannel *channel) { view->SetChannel(channel); };