summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY3
-rw-r--r--MANUAL10
-rw-r--r--i18n.c24
-rw-r--r--menu.c55
-rw-r--r--menu.h4
5 files changed, 78 insertions, 18 deletions
diff --git a/HISTORY b/HISTORY
index 6408f22c..45202255 100644
--- a/HISTORY
+++ b/HISTORY
@@ -4392,3 +4392,6 @@ Video Disk Recorder Revision History
the EPG event used when creating it.
- The option "Setup/OSD/Sort timers" has been removed. Timers are always sorted
by their start time and priority.
+- The "Blue" key in the "Timers" menu now displays the EPG info of the event the
+ selected timer will record (if available). The "On/Off" function has been shifted
+ to the "Red" button. Editing a timer is done by pressing "Ok".
diff --git a/MANUAL b/MANUAL
index b3d0e158..9655bc36 100644
--- a/MANUAL
+++ b/MANUAL
@@ -20,10 +20,10 @@ Version 1.3
Ok Ch display Select Switch Edit Accept Play Progress disp. Switch & Close
Menu Menu on Menu off Menu off Menu off Menu off Menu off Menu off Menu off
Back - Menu off VDR menu VDR menu Discard VDR menu Recordings menu Close
- Red - Record Edit Edit ABC/abc Play/Commands(1) Jump -
+ Red - Record Edit On/Off ABC/abc Play/Commands(1) Jump -
Green - Audio New New Ins/Ovr Rewind Skip -60s -
Yellow - Pause live Delete Delete Delete Delete Skip +60s -
- Blue - Stop/Resume Mark On/Off - Info Stop -
+ Blue - Stop/Resume Mark Info - Info Stop -
0..9 Ch select - Sort(2) Day(3) Numeric inp. Exec cmd(1) Editing -
In a numerical input field (like the response to a CAM enquiry) the keys 0..9
@@ -98,12 +98,10 @@ Version 1.3
any changes that might have been made in the current menu.
In the "Timers" menu, the current timer can be enabled or disabled with
- the "Blue" key (this is only possible if the "Timers" list is sorted,
- otherwise the "Blue" key is used to mark a timer in order to move it to
- another position in the list). Enabled timers are marked with '>', timers
+ the "Red" key. Enabled timers are marked with '>', timers
that are currently recording are marked with '#'. If a timer has the
"First day" set so that it will start recording only on the given date,
- it is marked with '!'. The "Blue" key toggles through the "enabled" and
+ it is marked with '!'. The "Red" key toggles through the "enabled" and
"disabled" states, and for repeating timers that are currently recording
also a state that ends this recording prematurely and sets the "First day"
date so that it will record again the next time the timer hits.
diff --git a/i18n.c b/i18n.c
index ba3a091a..63c4aeff 100644
--- a/i18n.c
+++ b/i18n.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: i18n.c 1.249 2006/02/25 14:13:41 kls Exp $
+ * $Id: i18n.c 1.250 2006/02/25 14:21:28 kls Exp $
*
* Translations provided by:
*
@@ -724,6 +724,28 @@ const tI18nPhrase Phrases[] = {
"Optag",
"Nahrát",
},
+ { "Button$Info",
+ "Info",
+ "Info",
+ "",//TODO
+ "Info",
+ "",//TODO
+ "Info",
+ "",//TODO
+ "Tiedot",
+ "Info",
+ "Info",
+ "Ðëçñïöïñßåò",
+ "Info",
+ "Info",
+ "",//TODO
+ "",//TODO
+ "¸ÝäÞ",
+ "Info",
+ "Info",
+ "Info",
+ "Info",
+ },
{ "Button$Play",
"Wiedergabe",
"Predvajaj",
diff --git a/menu.c b/menu.c
index 9ae788c6..75de28f5 100644
--- a/menu.c
+++ b/menu.c
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.c 1.419 2006/02/25 14:13:29 kls Exp $
+ * $Id: menu.c 1.420 2006/02/25 14:39:29 kls Exp $
*/
#include "menu.h"
@@ -768,12 +768,15 @@ void cMenuTimerItem::Set(void)
class cMenuTimers : public cOsdMenu {
private:
+ int helpKeys;
eOSState Edit(void);
eOSState New(void);
eOSState Delete(void);
eOSState OnOff(void);
virtual void Move(int From, int To);
+ eOSState Info(void);
cTimer *CurrentTimer(void);
+ void SetHelpKeys(void);
public:
cMenuTimers(void);
virtual ~cMenuTimers();
@@ -783,10 +786,12 @@ public:
cMenuTimers::cMenuTimers(void)
:cOsdMenu(tr("Timers"), 2, CHNUMWIDTH, 10, 6, 6)
{
+ helpKeys = -1;
for (cTimer *timer = Timers.First(); timer; timer = Timers.Next(timer))
Add(new cMenuTimerItem(timer));
Sort();
- SetHelp(tr("Button$Edit"), tr("Button$New"), tr("Button$Delete"), tr("Button$On/Off"));
+ SetCurrent(First());
+ SetHelpKeys();
Timers.IncBeingEdited();
}
@@ -801,8 +806,26 @@ cTimer *cMenuTimers::CurrentTimer(void)
return item ? item->Timer() : NULL;
}
+void cMenuTimers::SetHelpKeys(void)
+{
+ int NewHelpKeys = 0;
+ cTimer *timer = CurrentTimer();
+ if (timer) {
+ if (timer->Event())
+ NewHelpKeys = 2;
+ else
+ NewHelpKeys = 1;
+ }
+ if (NewHelpKeys != helpKeys) {
+ helpKeys = NewHelpKeys;
+ SetHelp(helpKeys > 0 ? tr("Button$On/Off") : NULL, tr("Button$New"), helpKeys > 0 ? tr("Button$Delete") : NULL, helpKeys == 2 ? tr("Button$Info") : NULL);
+ }
+}
+
eOSState cMenuTimers::OnOff(void)
{
+ if (HasSubMenu())
+ return osContinue;
cTimer *timer = CurrentTimer();
if (timer) {
timer->OnOff();
@@ -865,6 +888,16 @@ void cMenuTimers::Move(int From, int To)
isyslog("timer %d moved to %d", From + 1, To + 1);
}
+eOSState cMenuTimers::Info(void)
+{
+ if (HasSubMenu() || Count() == 0)
+ return osContinue;
+ cTimer *ti = CurrentTimer();
+ if (ti && ti->Event())
+ return AddSubMenu(new cMenuEvent(ti->Event()));
+ return osContinue;
+}
+
eOSState cMenuTimers::ProcessKey(eKeys Key)
{
int TimerNumber = HasSubMenu() ? Count() : -1;
@@ -873,10 +906,11 @@ eOSState cMenuTimers::ProcessKey(eKeys Key)
if (state == osUnknown) {
switch (Key) {
case kOk: return Edit();
- case kRed: return Edit();//XXX
+ case kRed: return OnOff();
case kGreen: return New();
case kYellow: return Delete();
- case kBlue: return OnOff();
+ case kBlue: return Info();
+ break;
default: break;
}
}
@@ -885,12 +919,14 @@ eOSState cMenuTimers::ProcessKey(eKeys Key)
Add(new cMenuTimerItem(Timers.Get(TimerNumber)), true);
Display();
}
+ if (Key != kNone)
+ SetHelpKeys();
return state;
}
// --- cMenuEvent ------------------------------------------------------------
-cMenuEvent::cMenuEvent(const cEvent *Event, bool CanSwitch)
+cMenuEvent::cMenuEvent(const cEvent *Event, bool CanSwitch, bool Buttons)
:cOsdMenu(tr("Event"))
{
event = Event;
@@ -900,7 +936,8 @@ cMenuEvent::cMenuEvent(const cEvent *Event, bool CanSwitch)
SetTitle(channel->Name());
int TimerMatch = tmNone;
Timers.GetMatch(event, &TimerMatch);
- SetHelp(TimerMatch == tmFull ? tr("Button$Timer") : tr("Button$Record"), NULL, NULL, CanSwitch ? tr("Button$Switch") : NULL);
+ if (Buttons)
+ SetHelp(TimerMatch == tmFull ? tr("Button$Timer") : tr("Button$Record"), NULL, NULL, CanSwitch ? tr("Button$Switch") : NULL);
}
}
}
@@ -1154,7 +1191,7 @@ eOSState cMenuWhatsOn::ProcessKey(eKeys Key)
break;
case kBlue: return Switch();
case kOk: if (Count())
- return AddSubMenu(new cMenuEvent(((cMenuScheduleItem *)Get(Current()))->event, true));
+ return AddSubMenu(new cMenuEvent(((cMenuScheduleItem *)Get(Current()))->event, true, true));
break;
default: break;
}
@@ -1423,7 +1460,7 @@ eOSState cMenuSchedule::ProcessKey(eKeys Key)
return Switch();
break;
case kOk: if (Count())
- return AddSubMenu(new cMenuEvent(((cMenuScheduleItem *)Get(Current()))->event, otherChannel));
+ return AddSubMenu(new cMenuEvent(((cMenuScheduleItem *)Get(Current()))->event, otherChannel, true));
break;
default: break;
}
@@ -1831,7 +1868,7 @@ void cMenuRecordings::SetHelpKeys(void)
case 0: SetHelp(NULL); break;
case 1: SetHelp(tr("Button$Open")); break;
case 2:
- case 3: SetHelp(RecordingCommands.Count() ? tr("Commands") : tr("Button$Play"), tr("Button$Rewind"), tr("Button$Delete"), NewHelpKeys == 3 ? tr("Info") : NULL);
+ case 3: SetHelp(RecordingCommands.Count() ? tr("Commands") : tr("Button$Play"), tr("Button$Rewind"), tr("Button$Delete"), NewHelpKeys == 3 ? tr("Button$Info") : NULL);
}
helpKeys = NewHelpKeys;
}
diff --git a/menu.h b/menu.h
index 0cfa4fb6..098f1b5c 100644
--- a/menu.h
+++ b/menu.h
@@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
- * $Id: menu.h 1.83 2006/02/17 15:38:40 kls Exp $
+ * $Id: menu.h 1.84 2006/02/25 14:39:29 kls Exp $
*/
#ifndef __MENU_H
@@ -49,7 +49,7 @@ class cMenuEvent : public cOsdMenu {
private:
const cEvent *event;
public:
- cMenuEvent(const cEvent *Event, bool CanSwitch = false);
+ cMenuEvent(const cEvent *Event, bool CanSwitch = false, bool Buttons = false);
virtual void Display(void);
virtual eOSState ProcessKey(eKeys Key);
};