From 9e20745fdea430e670c948512e724b44c18d7b1c Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 8 Mar 2002 16:11:34 +0100 Subject: [PATCH] Blue button is now 'Stop' in 'Main' menu if replaying --- HISTORY | 10 ++++++---- MANUAL | 26 +++++++++++++------------- i18n.c | 27 +++++++++++++++++++++++---- menu.c | 13 +++++++------ menu.h | 3 ++- 5 files changed, 51 insertions(+), 28 deletions(-) diff --git a/HISTORY b/HISTORY index d275c8d2..f809a29f 100644 --- a/HISTORY +++ b/HISTORY @@ -41,14 +41,14 @@ Video Disk Recorder Revision History of the channel, with a prepended '@' character. - Timers that are not given an explicit Name now use the channel name with a prepended '@' character. -- If an instant recording is currently active, the Main menu now contains +- If an instant recording is currently active, the "Main" menu now contains an option to stop that recording. - Timers are now only processed when the Menu is not active. So after editing a timer the effect will take place only after the menu has been closed. In order to avoid missing a timer event by inadvertently leaving the menu open, the menu will be closed automatically after about two minutes of inactivity. -- If a recording is currently being replayed, the Main menu now contains an +- If a recording is currently being replayed, the "Main" menu now contains an option to stop replaying. - Displaying the recording DVB interface status in the decimal points of the RCU display. @@ -424,7 +424,7 @@ Video Disk Recorder Revision History - Fixed a memory leak in the EIT processor that happened when the system time was set. - Removed some redundant code from the cListBase destructor. -- Fixed internationalization of some Main menu texts. +- Fixed internationalization of some "Main" menu texts. - Updated 'channels.conf' after the recent changes of Premiere World (thanks to Axel Gruber). - Redesigned the ring buffer to make it work with two separate threads for @@ -480,7 +480,7 @@ Video Disk Recorder Revision History items the amount of visible information remained the same as before, though. If your DVB card has even less memory (which would result in only the channel switching display and the replay progress display being visible, but - no Main menu), try reducing the constant 'MenuLines' in dvbapi.h (currently + no "Main" menu), try reducing the constant 'MenuLines' in dvbapi.h (currently '13') even further. - There are two new setup parameters to define the "Default Priority" and "Default Lifetime" when creating a new timer event. @@ -1074,3 +1074,5 @@ Video Disk Recorder Revision History - Fixed avoiding the primary DVB interface in case Setup.PrimaryLimit is 0. - Fixed handling CICAM settings if the first one of a DVB card was FTA. - Fixed reacting on changes in CICAM settings (needed to restart VDR before). +- The "Blue" button in the "Main" menu now works as "Stop" button if a recording + is currently being replayed. diff --git a/MANUAL b/MANUAL index c4cda08a..befff8ff 100644 --- a/MANUAL +++ b/MANUAL @@ -8,20 +8,20 @@ Video Disk Recorder User's Manual possible, several keys have different meanings in the various modes: - Key Normal Main Channels Timers Edit/New Recordings Replay + Key Normal Main Channels Timers Edit/New Recordings Replay - Up Ch up Crsr up Crsr up Crsr up Crsr up Crsr up Play - Down Ch down Crsr down Crsr down Crsr down Crsr down Crsr down Pause - Left Prev group - Page up Page up Decrement Page up Search back - Right Next group - Page down Page down Increment Page down Search forward - Ok Ch display Select Switch Edit Accept Play Progress disp. - Menu Menu on Menu off Menu off Menu off Menu off Menu off Menu on - Back - Menu off Main menu Main menu Discard Main menu Recordings menu - Red - Record Edit Edit - Play Jump - Green - Language New New - Rewind Skip -60s - Yellow - - Delete Delete - Delete Skip +60s - Blue - Resume Mark On/Off(1) - Summary Stop - 0..9 Ch select - - - Numeric inp. - Editing + Up Ch up Crsr up Crsr up Crsr up Crsr up Crsr up Play + Down Ch down Crsr down Crsr down Crsr down Crsr down Crsr down Pause + Left Prev group - Page up Page up Decrement Page up Search back + Right Next group - Page down Page down Increment Page down Search forward + Ok Ch display Select Switch Edit Accept Play Progress disp. + Menu Menu on Menu off Menu off Menu off Menu off Menu off Menu on + Back - Menu off Main menu Main menu Discard Main menu Recordings menu + Red - Record Edit Edit - Play Jump + Green - Language New New - Rewind Skip -60s + Yellow - - Delete Delete - Delete Skip +60s + Blue - Stop/Resume Mark On/Off(1) - Summary Stop + 0..9 Ch select - - - Numeric inp. - Editing Power Shutdown Volume+ Volume up diff --git a/i18n.c b/i18n.c index 2b52c68e..3c62a1c6 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.59 2002/03/03 16:38:57 kls Exp $ + * $Id: i18n.c 1.60 2002/03/08 16:11:34 kls Exp $ * * Slovenian translations provided by Miha Setina * Italian translations provided by Alberto Carraro @@ -46,6 +46,14 @@ * in the "Setup" menu. * 5. Send the modified 'i18n.c' file to to have * it included in the next version of VDR. + * + * In case an English phrase is used in more than one context (and might need + * different translations in other languages) it can be preceeded with an + * arbitrary string to describe its context, separated from the actual phrase + * by a '$' character (see for instance "Button$Stop" vs. "Stop"). + * Of course this means that no English phrase may contain the '$' character! + * If this should ever become necessary, the existing '$' would have to be + * replaced with something different... */ #include "i18n.h" @@ -291,6 +299,16 @@ const tPhrase Phrases[] = { "Spol tilbake", "Takaisinkel.", }, + { "Button$Stop", + "Beenden", + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + "", // TODO + }, { "Resume", "Weiter", "Nadaljuj", @@ -351,7 +369,7 @@ const tPhrase Phrases[] = { "Neste", "Seuraava", }, - { "Schedule", + { "Button$Schedule", "Programm", "Urnik", "Programma", @@ -926,7 +944,7 @@ const tPhrase Phrases[] = { "LO-frekvens i høybåndet", "HI LNB taajuus", }, - { "DiSEqC", + { "Setup$DiSEqC", "DiSEqC", "DiSEqC", "DiSEqC", @@ -1645,7 +1663,8 @@ const char *tr(const char *s) } esyslog(LOG_ERR, "no translation found for '%s' in language %d (%s)\n", s, Setup.OSDLanguage, Phrases[0][Setup.OSDLanguage]); } - return s; + const char *p = strchr(s, '$'); + return p ? p + 1 : s; } const char * const * Languages(void) diff --git a/menu.c b/menu.c index 39b3a4d1..4ad1fe8a 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.161 2002/03/08 15:18:20 kls Exp $ + * $Id: menu.c 1.162 2002/03/08 16:06:11 kls Exp $ */ #include "menu.h" @@ -1394,7 +1394,7 @@ cMenuWhatsOn::cMenuWhatsOn(const cSchedules *Schedules, bool Now, int CurrentCha currentChannel = CurrentChannelNr; delete pArray; - SetHelp(tr("Record"), Now ? tr("Next") : tr("Now"), tr("Schedule"), tr("Switch")); + SetHelp(tr("Record"), Now ? tr("Next") : tr("Now"), tr("Button$Schedule"), tr("Switch")); } const cEventInfo *cMenuWhatsOn::ScheduleEventInfo(void) @@ -1909,7 +1909,7 @@ void cMenuSetup::Set(void) Add(new cMenuEditIntItem( tr("LnbSLOF"), &data.LnbSLOF)); Add(new cMenuEditIntItem( tr("LnbFrequLo"), &data.LnbFrequLo)); Add(new cMenuEditIntItem( tr("LnbFrequHi"), &data.LnbFrequHi)); - Add(new cMenuEditBoolItem(tr("DiSEqC"), &data.DiSEqC)); + Add(new cMenuEditBoolItem(tr("Setup$DiSEqC"), &data.DiSEqC)); Add(new cMenuEditBoolItem(tr("SetSystemTime"), &data.SetSystemTime)); Add(new cMenuEditIntItem( tr("MarginStart"), &data.MarginStart)); Add(new cMenuEditIntItem( tr("MarginStop"), &data.MarginStop)); @@ -2026,6 +2026,7 @@ cMenuMain::cMenuMain(bool Replaying, eOSState State) :cOsdMenu(tr("Main")) { digit = 0; + replaying = Replaying; // Title with disk usage: @@ -2052,7 +2053,7 @@ cMenuMain::cMenuMain(bool Replaying, eOSState State) // Replay control: - if (Replaying) + if (replaying) Add(new cOsdItem(tr(" Stop replaying"), osStopReplay)); // Record control: @@ -2078,7 +2079,7 @@ cMenuMain::cMenuMain(bool Replaying, eOSState State) // Color buttons: - SetHelp(tr("Record"), cDvbApi::PrimaryDvbApi->CanToggleAudioTrack() ? tr("Language") : NULL, NULL, cReplayControl::LastReplayed() ? tr("Resume") : NULL); + SetHelp(tr("Record"), cDvbApi::PrimaryDvbApi->CanToggleAudioTrack() ? tr("Language") : NULL, NULL, replaying ? tr("Button$Stop") : cReplayControl::LastReplayed() ? tr("Resume") : NULL); Display(); lastActivity = time(NULL); SetHasHotkeys(); @@ -2144,7 +2145,7 @@ eOSState cMenuMain::ProcessKey(eKeys Key) } break; case kBlue: if (!HasSubMenu()) - state = osReplay; + state = replaying ? osStopReplay : osReplay; break; default: break; } diff --git a/menu.h b/menu.h index 9e49bf65..fc0302ec 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.37 2002/02/24 12:40:37 kls Exp $ + * $Id: menu.h 1.38 2002/03/08 15:46:36 kls Exp $ */ #ifndef _MENU_H @@ -18,6 +18,7 @@ class cMenuMain : public cOsdMenu { private: time_t lastActivity; int digit; + bool replaying; const char *hk(const char *s); public: cMenuMain(bool Replaying, eOSState State = osUnknown);