summaryrefslogtreecommitdiff
path: root/patch/vdr-2.3.1_graphtftng.diff
blob: b60c8853f0b005a935e77f87afec355870515f46 (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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
--- vdr-2.3.1.plain//menu.c	2015-09-14 15:22:49.000000000 +0200
+++ vdr-2.3.1.gtft//menu.c	2016-02-01 10:37:00.688774779 +0100
@@ -1465,6 +1465,7 @@
 {
   cOsdMenu::Display();
   DisplayMenu()->SetEvent(event);
+  cStatus::MsgOsdSetEvent(event);
   if (event->Description())
      cStatus::MsgOsdTextItem(event->Description());
 }
@@ -1594,6 +1595,7 @@
   static void SetCurrentChannel(int ChannelNr) { currentChannel = ChannelNr; }
   static const cEvent *ScheduleEvent(void);
   virtual eOSState ProcessKey(eKeys Key);
+  virtual void Display(void);
   };
 
 int cMenuWhatsOn::currentChannel = 0;
@@ -1619,6 +1621,18 @@
   SetHelpKeys();
 }
 
+void cMenuWhatsOn::Display(void)
+{
+   cOsdMenu::Display();
+   
+   if (Count() > 0) {
+      int ni = 0;
+      for (cOsdItem *item = First(); item; item = Next(item)) {
+         cStatus::MsgOsdEventItem(((cMenuScheduleItem*)item)->event, item->Text(), ni++, Count());
+      }
+   }
+}
+
 bool cMenuWhatsOn::Update(void)
 {
   bool result = false;
@@ -1788,6 +1802,7 @@
   cMenuSchedule(void);
   virtual ~cMenuSchedule();
   virtual eOSState ProcessKey(eKeys Key);
+  virtual void Display(void);
   };
 
 cMenuSchedule::cMenuSchedule(void)
@@ -1846,6 +1861,18 @@
      }
 }
 
+void cMenuSchedule::Display(void)
+{
+   cOsdMenu::Display();
+   
+   if (Count() > 0) {
+      int ni = 0;
+      for (cOsdItem *item = First(); item; item = Next(item)) {
+         cStatus::MsgOsdEventItem(((cMenuScheduleItem*)item)->event, item->Text(), ni++, Count());
+      }
+   }
+}
+
 bool cMenuSchedule::PrepareScheduleAllThis(const cTimers *Timers, const cSchedules *Schedules, const cEvent *Event, const cChannel *Channel)
 {
   if (const cSchedule *Schedule = Schedules->GetSchedule(Channel)) {
@@ -2793,6 +2820,7 @@
      }
   cOsdMenu::Display();
   DisplayMenu()->SetRecording(recording);
+  cStatus::MsgOsdSetRecording(recording);
   if (recording->Info()->Description())
      cStatus::MsgOsdTextItem(recording->Info()->Description());
 }
--- vdr-2.3.1.plain//osdbase.c	2015-09-10 13:23:07.000000000 +0200
+++ vdr-2.3.1.gtft//osdbase.c	2015-10-23 08:30:06.000000000 +0200
@@ -107,6 +107,7 @@
   free(status);
   displayMenu->Clear();
   cStatus::MsgOsdClear();
+  cStatus::MsgOsdMenuDestroy();
   if (!--displayMenuCount)
      DELETENULL(displayMenu);
 }
@@ -236,6 +237,7 @@
   displayMenuItems = displayMenu->MaxItems();
   displayMenu->SetTabs(cols[0], cols[1], cols[2], cols[3], cols[4]);//XXX
   displayMenu->SetTitle(title);
+  cStatus::MsgOsdMenuDisplay(menuCategory);
   cStatus::MsgOsdTitle(title);
   DisplayHelp(true);
   int count = Count();
--- vdr-2.3.1.plain//status.c	2014-01-25 11:47:39.000000000 +0100
+++ vdr-2.3.1.gtft//status.c	2015-10-23 08:30:06.000000000 +0200
@@ -130,3 +130,32 @@
   for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
       sm->OsdProgramme(PresentTime, PresentTitle, PresentSubtitle, FollowingTime, FollowingTitle, FollowingSubtitle);
 }
+
+void cStatus::MsgOsdSetEvent(const cEvent* event)
+{
+  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
+      sm->OsdSetEvent(event);
+}
+
+void cStatus::MsgOsdSetRecording(const cRecording* recording)
+{
+  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
+      sm->OsdSetRecording(recording);
+}
+
+void cStatus::MsgOsdMenuDisplay(eMenuCategory menuCategory)
+{
+  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
+      sm->OsdMenuDisplay(menuCategory);
+}
+
+void cStatus::MsgOsdMenuDestroy()
+{
+  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
+      sm->OsdMenuDestroy();
+}
+void cStatus::MsgOsdEventItem(const cEvent* Event, const char *Text, int Index, int Count)
+{
+  for (cStatus *sm = statusMonitors.First(); sm; sm = statusMonitors.Next(sm))
+     sm->OsdEventItem(Event, Text, Index, Count);
+}
--- vdr-2.3.1.plain//status.h	2015-08-02 12:34:44.000000000 +0200
+++ vdr-2.3.1.gtft//status.h	2015-10-23 08:30:06.000000000 +0200
@@ -81,6 +81,17 @@
                // The OSD displays the single line Text with the current channel information.
   virtual void OsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle) {}
                // The OSD displays the given programme information.
+  virtual void OsdSetRecording(const cRecording* recording) {}
+               // The OSD displays the recording information.
+  virtual void OsdSetEvent(const cEvent* event) {}
+               // The OSD displays the event information.
+  virtual void OsdMenuDisplay(eMenuCategory menuCategory) {}
+               // report menu creation
+  virtual void OsdMenuDestroy() {}
+               // report menu destruvtion
+  virtual void OsdEventItem(const cEvent* Event, const char *Text, int Index, int Count) {}
+               // The OSD displays the given single line Event as menu item at Index.
+
 public:
   cStatus(void);
   virtual ~cStatus();
@@ -103,6 +114,11 @@
   static void MsgOsdTextItem(const char *Text,  bool Scroll = false);
   static void MsgOsdChannel(const char *Text);
   static void MsgOsdProgramme(time_t PresentTime, const char *PresentTitle, const char *PresentSubtitle, time_t FollowingTime, const char *FollowingTitle, const char *FollowingSubtitle);
+  static void MsgOsdSetEvent(const cEvent* event);
+  static void MsgOsdSetRecording(const cRecording* recording);
+  static void MsgOsdMenuDisplay(eMenuCategory menuCategory);
+  static void MsgOsdMenuDestroy();
+  static void MsgOsdEventItem(const cEvent* Event, const char *Text, int Index, int Count);
   };
 
 #endif //__STATUS_H