From 88db59f61ac47bced386f1c991aa21e0592fdb13 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 29 Nov 2002 14:19:08 +0100 Subject: [PATCH] No longer displaying channel group delimiters without text --- CONTRIBUTORS | 3 +++ HISTORY | 4 +++- channels.c | 6 +++--- menu.c | 15 +++++---------- vdr.5 | 9 ++++++++- 5 files changed, 22 insertions(+), 15 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index fd25c420..62cc4087 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -480,3 +480,6 @@ R Andreas Kool for pointing out problems with non-unique definitions in 'channels.conf.cable' + +Guy Roussin + for suggesting not to display channel group delimiters without text diff --git a/HISTORY b/HISTORY index 15c62160..e1db491d 100644 --- a/HISTORY +++ b/HISTORY @@ -1813,9 +1813,11 @@ Video Disk Recorder Revision History makes far jumps, so that a lock file might end up with a time stamp that lies in the distant future (thanks to Oliver Endriss). -2002-11-24: Version 1.1.18 +2002-11-29: Version 1.1.18 - Fixed missing initialization of 'number' in cChannel (thanks to Martin Hammerschmid for reporting this one). - Fixed a misplaced ')' in the fix about the stale lock files (thanks again to Oliver Endriss for pointing this out - it was my fault). +- Group delimiters in the 'channels.conf' file that have no text (like a simple ":" + or ":@201") no longer show up in the Channels menu (suggested by Guy Roussin). diff --git a/channels.c b/channels.c index b69e4549..1e3d9c78 100644 --- a/channels.c +++ b/channels.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: channels.c 1.10 2002/11/24 20:09:42 kls Exp $ + * $Id: channels.c 1.11 2002/11/29 14:10:46 kls Exp $ */ #include "channels.h" @@ -386,7 +386,7 @@ bool cChannels::Load(const char *FileName, bool AllowComments) int cChannels::GetNextGroup(int Idx) { cChannel *channel = Get(++Idx); - while (channel && !channel->GroupSep()) + while (channel && !(channel->GroupSep() && *channel->Name())) channel = Get(++Idx); return channel ? Idx : -1; } @@ -394,7 +394,7 @@ int cChannels::GetNextGroup(int Idx) int cChannels::GetPrevGroup(int Idx) { cChannel *channel = Get(--Idx); - while (channel && !channel->GroupSep()) + while (channel && !(channel->GroupSep() && *channel->Name())) channel = Get(--Idx); return channel ? Idx : -1; } diff --git a/menu.c b/menu.c index 0210e2d5..25795fb8 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.226 2002/11/24 14:34:41 kls Exp $ + * $Id: menu.c 1.227 2002/11/29 14:06:38 kls Exp $ */ #include "menu.h" @@ -684,15 +684,10 @@ public: cMenuChannels::cMenuChannels(void) :cOsdMenu(tr("Channels"), CHNUMWIDTH) { - //TODO - int i = 0; - cChannel *channel; - int curr = ((channel = Channels.GetByNumber(cDevice::CurrentChannel())) != NULL) ? channel->Index() : -1; - - while ((channel = Channels.Get(i)) != NULL) { - Add(new cMenuChannelItem(channel), i == curr); - i++; - } + for (cChannel *channel = Channels.First(); channel; channel = Channels.Next(channel)) { + if (!channel->GroupSep() || *channel->Name()) + Add(new cMenuChannelItem(channel), channel->Number() == cDevice::CurrentChannel()); + } SetHelp(tr("Edit"), tr("New"), tr("Delete"), tr("Mark")); } diff --git a/vdr.5 b/vdr.5 index 6ab86e1e..66ce4a15 100644 --- a/vdr.5 +++ b/vdr.5 @@ -8,7 +8,7 @@ .\" License as specified in the file COPYING that comes with the .\" vdr distribution. .\" -.\" $Id: vdr.5 1.14 2002/11/24 16:00:00 kls Exp $ +.\" $Id: vdr.5 1.15 2002/11/29 14:13:40 kls Exp $ .\" .TH vdr 5 "24 Nov 2002" "1.2.0" "Video Disk Recorder Files" .SH NAME @@ -35,6 +35,13 @@ as in The given number must be larger than the number of any previous channel (otherwise it is silently ignored). +A group delimiter can also be used to just set the next channel's number, +without an explicit delimiter text, as in + +\fB:@201\fR + +Such a delimiter will not appear in the Channels menu. + A \fBchannel definition\fR is a line with channel data, where the fields are separated by ':' characters. Example: