summaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorhorchi <vdr@jwendel.de>2018-03-07 17:34:09 +0100
committerhorchi <vdr@jwendel.de>2018-03-07 17:34:09 +0100
commit210fdcee369cf735d00273e88e758ad754344474 (patch)
treea9d1ab4cb8e5077bb002d9f6256a1d03562a7556 /menu.c
parentd9d90f03128c531cd0b93cebca2af5660c2d4322 (diff)
downloadvdr-plugin-epg2vdr-210fdcee369cf735d00273e88e758ad754344474.tar.gz
vdr-plugin-epg2vdr-210fdcee369cf735d00273e88e758ad754344474.tar.bz2
2018-03-07 version 1.1.92 (horchi)\n - added: create of local switch timrt even when a 'recording' timer exists\n\n1.1.92
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/menu.c b/menu.c
index d563009..a9360dd 100644
--- a/menu.c
+++ b/menu.c
@@ -550,7 +550,7 @@ int cMenuDb::initUserTimes()
// Lookup Timer
//***************************************************************************
-int cMenuDb::lookupTimer(const cEvent* event, int& timerMatch, int& remote, int force)
+int cMenuDb::lookupTimer(const cEvent* event, int& timerMatch, int& remote, char& type, int force)
{
int maxSp = 0;
@@ -583,6 +583,7 @@ int cMenuDb::lookupTimer(const cEvent* event, int& timerMatch, int& remote, int
info->timerid = timerDb->getValue("ID")->getIntValue();
info->state = timerDb->getValue("STATE")->getCharValue();
+ info->type = timerDb->getValue("TYPE")->getCharValue();
info->starttime = valueStartTime.getIntValue();
info->eventid = timerDb->getIntValue("EVENTID");
strcpy(info->channelid, timerDb->getStrValue("CHANNELID"));
@@ -602,14 +603,16 @@ int cMenuDb::lookupTimer(const cEvent* event, int& timerMatch, int& remote, int
{
remote = strcmp(ifo->uuid, Epg2VdrConfig.uuid) != 0;
timerMatch = tmFull;
+ type = ifo->type;
return ifo->timerid;
}
else if (strcmp(ifo->channelid, event->ChannelID().ToString()) == 0
- && ifo->starttime == event->StartTime()) // #TODO around
+ && ifo->starttime == event->StartTime()) // #TODO? also around this time
{
remote = strcmp(ifo->uuid, Epg2VdrConfig.uuid) != 0;
timerMatch = tmFull;
+ type = ifo->type;
return ifo->timerid;
}
}
@@ -724,16 +727,20 @@ int cMenuDb::createSwitchTimer(const cEvent* event)
{
int timerMatch = tmNone;
int remote = no;
+ char type;
- // alredy or nearly started?
+ // already or nearly started?
if (!event || event->StartTime() <= time(0)+tmeSecondsPerMinute)
return done;
// already created?
- if (lookupTimer(event, timerMatch, remote))
- return done;
+ if (lookupTimer(event, timerMatch, remote, type))
+ {
+ if (!remote && type == ttView)
+ return done;
+ }
cDbRow* timerRow = newTimerRowFromEvent(event);