diff options
author | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2019-07-18 16:41:04 +0200 |
---|---|---|
committer | kamel5 <vdr.kamel5 (at) gmx (dot) net> | 2019-07-19 11:38:04 +0200 |
commit | 31f72f2ad82506cd33e25ea3ab2da415d25fc9cb (patch) | |
tree | 5bb5f7fb1c494aed70dcef6ae4980b1290b18216 /recmenuitem.c | |
parent | a1aa30025958754feadc4313f56b63cc1d260fc0 (diff) | |
download | vdr-plugin-tvguide-31f72f2ad82506cd33e25ea3ab2da415d25fc9cb.tar.gz vdr-plugin-tvguide-31f72f2ad82506cd33e25ea3ab2da415d25fc9cb.tar.bz2 |
Rework cRecMenuItemChannelChooser
Diffstat (limited to 'recmenuitem.c')
-rw-r--r-- | recmenuitem.c | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/recmenuitem.c b/recmenuitem.c index cc7d7f8..83e7dd7 100644 --- a/recmenuitem.c +++ b/recmenuitem.c @@ -1943,14 +1943,21 @@ eRecMenuState cRecMenuItemEvent::ProcessKey(eKeys Key) { // --- cRecMenuItemChannelChooser ------------------------------------------------------- cRecMenuItemChannelChooser::cRecMenuItemChannelChooser(cString text, - const cChannel *initialChannel, bool active, int *callback, eRecMenuState action) { selectable = true; this->text = text; - this->channel = initialChannel; - if (initialChannel) +#if VDRVERSNUM >= 20301 + { + LOCK_CHANNELS_READ; + channels = Channels; + } +#else + channels = &Channels; +#endif + this->channel = channels->GetByNumber(*callback); + if (callback) initialChannelSet = true; else initialChannelSet = false; @@ -2029,12 +2036,6 @@ eRecMenuState cRecMenuItemChannelChooser::ProcessKey(eKeys Key) { if (!channel) return rmsConsumed; const cChannel *prev = channel; -#if VDRVERSNUM >= 20301 - LOCK_CHANNELS_READ; - const cChannels* channels = Channels; -#else - const cChannels* channels = &Channels; -#endif const cChannel *firstChannel = channels->First(); if(firstChannel->GroupSep()) firstChannel = channels->Next(firstChannel); @@ -2060,12 +2061,6 @@ eRecMenuState cRecMenuItemChannelChooser::ProcessKey(eKeys Key) { break; } case kRight: { fresh = true; -#if VDRVERSNUM >= 20301 - LOCK_CHANNELS_READ; - const cChannels* channels = Channels; -#else - const cChannels* channels = &Channels; -#endif if (!channel) { channel = channels->First(); if(channel->GroupSep()) @@ -2094,12 +2089,7 @@ eRecMenuState cRecMenuItemChannelChooser::ProcessKey(eKeys Key) { fresh = false; } channelNumber = channelNumber * 10 + (Key - k0); -#if VDRVERSNUM >= 20301 - LOCK_CHANNELS_READ; - const cChannel *chanNew = Channels->GetByNumber(channelNumber); -#else - const cChannel *chanNew = Channels.GetByNumber(channelNumber); -#endif + chanNew = channels->GetByNumber(channelNumber); if (chanNew) { channel = chanNew; DrawValue(); |