Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[vdr] Re: VDR developer version 1.3.15
I demand that Carsten Koch may or may not have written...
> Jacek Popławski wrote:
>> On Mon, Nov 01, 2004 at 04:29:52PM +0100, Klaus Schmidinger wrote:
>>> - The "Channels" menu can now be sorted "by number" (default), "by name"
>>> and "by provider". While in the "Channels" menu, pressing the '0' key
>>> switches through these modes.
>> Finally! :)
> Now the same for the "Recordings" menu, please! :-)
<AOL> - add sort configuration to one of the settings menus?
Here's a patch which provides a fourth sort option: by provider then number,
which is useful when one of the broadcasters uses names such as "BBC ONE" ;-)
--
| Darren Salt | d youmustbejoking,demon,co,uk | nr. Ashington,
| Debian, | s zap,tartarus,org | Northumberland
| RISC OS | @ | Toon Army
| I don't ask for much, just untold riches...
It is better to be deceived by a friend than to suspect him.
diff -urNad vdr-1.3.15/menu.c /tmp/dpep.ZNMSNK/vdr-1.3.15/menu.c
--- vdr-1.3.15/menu.c 2004-11-03 02:46:05.000000000 +0000
+++ /tmp/dpep.ZNMSNK/vdr-1.3.15/menu.c 2004-11-03 02:46:47.000000000 +0000
@@ -328,14 +328,14 @@
class cMenuChannelItem : public cOsdItem {
public:
- enum eChannelSortMode { csmNumber, csmName, csmProvider };
+ enum eChannelSortMode { csmNumber, csmName, csmProvider, csmProviderNumber };
private:
static eChannelSortMode sortMode;
cChannel *channel;
public:
cMenuChannelItem(cChannel *Channel);
static void SetSortMode(eChannelSortMode SortMode) { sortMode = SortMode; }
- static void IncSortMode(void) { sortMode = eChannelSortMode((sortMode == csmProvider) ? csmNumber : sortMode + 1); }
+ static void IncSortMode(void) { sortMode = eChannelSortMode(sortMode == csmProviderNumber ? csmNumber : sortMode + 1); }
virtual int Compare(const cListObject &ListObject) const;
virtual void Set(void);
cChannel *Channel(void) { return channel; }
@@ -356,9 +356,9 @@
{
cMenuChannelItem *p = (cMenuChannelItem *)&ListObject;
int r = -1;
- if (sortMode == csmProvider)
+ if (sortMode == csmProvider || sortMode == csmProviderNumber)
r = strcoll(channel->Provider(), p->channel->Provider());
- if (sortMode == csmName || r == 0)
+ if (sortMode == csmName || (r == 0 && sortMode != csmProviderNumber))
r = strcoll(channel->Name(), p->channel->Name());
if (sortMode == csmNumber || r == 0)
r = channel->Number() - p->channel->Number();
Home |
Main Index |
Thread Index