diff options
author | horchi <vdr@jwendel.de> | 2018-02-09 17:15:09 +0100 |
---|---|---|
committer | horchi <vdr@jwendel.de> | 2018-02-09 17:15:09 +0100 |
commit | 59875c10d77355d34b864445e63f635fcc60d853 (patch) | |
tree | d142415bad5d29eb65613edc94418d6ae2272e75 /menu.c | |
parent | dc1a77c5662d6b1d1fb988f61590f71af3773c29 (diff) | |
download | vdr-plugin-epg2vdr-59875c10d77355d34b864445e63f635fcc60d853.tar.gz vdr-plugin-epg2vdr-59875c10d77355d34b864445e63f635fcc60d853.tar.bz2 |
2018-02-09 version 1.1.82 (horchi)\n - added: Switch timer\n\n1.1.82
Diffstat (limited to 'menu.c')
-rw-r--r-- | menu.c | 36 |
1 files changed, 34 insertions, 2 deletions
@@ -667,6 +667,7 @@ int cMenuDb::modifyTimer(cDbRow* timerRow, const char* destUuid) timerDb->setValue("VDRUUID", destUuid); timerDb->setCharValue("ACTION", taCreate); timerDb->setValue("SOURCE", Epg2VdrConfig.uuid); + timerDb->setCharValue("TYPE", ttRecord); timerDb->insert(); tell(0, "Created 'move' request for timer (%d) at vdr '%s'", @@ -681,6 +682,7 @@ int cMenuDb::modifyTimer(cDbRow* timerRow, const char* destUuid) timerDb->setCharValue("ACTION", knownTimer ? taModify : taCreate); timerDb->getValue("STATE")->setNull(); timerDb->setValue("SOURCE", Epg2VdrConfig.uuid); + timerDb->setCharValue("TYPE", ttRecord); if (!knownTimer) timerDb->setValue("NAMINGMODE", tnmAuto); @@ -702,10 +704,38 @@ int cMenuDb::modifyTimer(cDbRow* timerRow, const char* destUuid) } //*************************************************************************** +// Create Switch Timer +//*************************************************************************** + +int cMenuDb::createSwitchTimer(const cEvent* event) +{ + int timerMatch = tmNone; + int remote = no; + + // alredy or nearly started? + + if (!event || event->StartTime() <= time(0)+tmeSecondsPerMinute) + return done; + + // already created? + + if (lookupTimer(event, timerMatch, remote)) + return done; + + cDbRow* timerRow = newTimerRowFromEvent(event); + createTimer(timerRow, Epg2VdrConfig.uuid, ttView); + + tell(0, "Switch timer for '%s' at '%s' created", + event->Title(), l2pTime(event->StartTime()).c_str()); + + return done; +} + +//*************************************************************************** // Create Timer //*************************************************************************** -int cMenuDb::createTimer(cDbRow* timerRow, const char* destUuid) +int cMenuDb::createTimer(cDbRow* timerRow, const char* destUuid, int type) { long int manualTimer2Done; @@ -717,11 +747,13 @@ int cMenuDb::createTimer(cDbRow* timerRow, const char* destUuid) timerDb->copyValues(timerRow, cDBS::ftData); timerDb->setValue("VDRUUID", destUuid); + timerDb->setCharValue("TYPE", type); + // timerDb->setCharValue("ACTIVE", type != ttView); // #TODO will this better? timerDb->setCharValue("ACTION", taCreate); timerDb->setValue("SOURCE", Epg2VdrConfig.uuid); timerDb->setValue("NAMINGMODE", tnmAuto); - if (manualTimer2Done) + if (manualTimer2Done && type != ttView) { useeventsDb->clear(); useeventsDb->setValue("USEID", timerRow->getIntValue("EVENTID")); |