1
0
mirror of https://github.com/rofafor/vdr-plugin-iptv.git synced 2023-10-10 13:37:03 +02:00

Switch channel when OK is pressed in channel editor.

This commit is contained in:
Antti Seppälä 2007-09-29 12:33:48 +00:00
parent 6e45224b00
commit b8bde0422c

15
setup.c
View File

@ -3,7 +3,7 @@
* *
* See the README file for copyright information and how to reach the author. * See the README file for copyright information and how to reach the author.
* *
* $Id: setup.c,v 1.11 2007/09/28 16:44:59 rahrenbe Exp $ * $Id: setup.c,v 1.12 2007/09/29 12:33:48 ajhseppa Exp $
*/ */
#include <string.h> #include <string.h>
@ -285,6 +285,7 @@ protected:
eOSState Edit(void); eOSState Edit(void);
eOSState New(void); eOSState New(void);
eOSState Delete(void); eOSState Delete(void);
eOSState Switch(void);
public: public:
cIptvMenuChannels(); cIptvMenuChannels();
@ -332,6 +333,16 @@ void cIptvMenuChannels::Propagate(void)
Channels.SetModified(true); Channels.SetModified(true);
} }
eOSState cIptvMenuChannels::Switch(void)
{
if (HasSubMenu() || Count() == 0)
return osContinue;
cChannel *ch = GetChannel(Current());
if (ch)
return cDevice::PrimaryDevice()->SwitchChannel(ch, true) ? osEnd : osContinue;
return osEnd;
}
eOSState cIptvMenuChannels::Edit(void) eOSState cIptvMenuChannels::Edit(void)
{ {
if (HasSubMenu() || Count() == 0) if (HasSubMenu() || Count() == 0)
@ -401,7 +412,7 @@ eOSState cIptvMenuChannels::ProcessKey(eKeys Key)
default: default:
if (state == osUnknown) { if (state == osUnknown) {
switch (Key) { switch (Key) {
case kOk: case kOk: return Switch();
case kRed: return Edit(); case kRed: return Edit();
case kGreen: return New(); case kGreen: return New();
case kYellow: return Delete(); case kYellow: return Delete();