summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohann Friedrichs <johann.friedrichs@web.de>2017-07-11 06:35:04 (GMT)
committerFrank Neumann <fnu@yavdr.org>2017-07-11 06:35:04 (GMT)
commit04124ba1ebae36f15eafe95cd23bbb8e220a8e8a (patch)
tree2cfe1873c29382ed79feaf49eb81a3897ae12860
parentceb158e1bd9df3cc0c6f9243856faac6f735ffb8 (diff)
downloadvdr-plugin-epgsearch-04124ba1ebae36f15eafe95cd23bbb8e220a8e8a.tar.gz
vdr-plugin-epgsearch-04124ba1ebae36f15eafe95cd23bbb8e220a8e8a.tar.bz2
Add conflict check for remote timers.
-rw-r--r--conflictcheck.c168
-rw-r--r--conflictcheck.h4
-rw-r--r--doc-src/de/epgsearch.1.txt9
-rw-r--r--doc-src/en/epgsearch.1.txt9
-rw-r--r--epgsearch.c1
-rw-r--r--epgsearchcfg.c1
-rw-r--r--epgsearchcfg.h1
-rw-r--r--epgsearchsetup.c4
-rw-r--r--epgsearchsvdrp.c4
-rw-r--r--menu_conflictcheck.c13
-rw-r--r--menu_whatson.c8
-rw-r--r--menu_whatson.h1
-rw-r--r--po/ca_ES.po8
-rw-r--r--po/cs_CZ.po8
-rw-r--r--po/da_DK.po8
-rw-r--r--po/de_DE.po8
-rw-r--r--po/el_GR.po8
-rw-r--r--po/es_ES.po8
-rw-r--r--po/et_EE.po8
-rw-r--r--po/fi_FI.po8
-rw-r--r--po/fr_FR.po8
-rw-r--r--po/hr_HR.po8
-rw-r--r--po/hu_HU.po8
-rw-r--r--po/it_IT.po8
-rw-r--r--po/lt_LT.po8
-rw-r--r--po/nl_NL.po8
-rw-r--r--po/nn_NO.po8
-rw-r--r--po/pl_PL.po8
-rw-r--r--po/pt_PT.po8
-rw-r--r--po/ro_RO.po8
-rw-r--r--po/ru_RU.po8
-rw-r--r--po/sk_SK.po8
-rw-r--r--po/sl_SI.po8
-rw-r--r--po/sv_SE.po8
-rw-r--r--po/tr_TR.po8
35 files changed, 370 insertions, 37 deletions
diff --git a/conflictcheck.c b/conflictcheck.c
index 7b30ccd..8e6bd53 100644
--- a/conflictcheck.c
+++ b/conflictcheck.c
@@ -30,6 +30,7 @@ The project's page is at http://winni.vdr-developer.org/epgsearch
#include "recstatus.h"
#include "timerstatus.h"
#include "uservars.h"
+#include <vdr/svdrp.h>
#define FULLMATCH 1000
#define EPGLIMITBEFORE (1 * 3600) // Time in seconds before a timer's start time and
@@ -166,6 +167,7 @@ cConflictCheck::cConflictCheck()
relevantConflicts = 0;
numConflicts = 0;
devices = NULL;
+ localConflicts = !(EPGSearchConfig.RemoteConflictCheck && Setup.SVDRPPeering);
InitDevicesInfo();
}
@@ -232,18 +234,23 @@ void cConflictCheck::Check()
if (timerList)
DELETENULL(timerList);
+ LogFile.Log(3, "check only local conflicts = %s",GetLocal()?"yes":"no");
timerList = CreateCurrentTimerList();
if (timerList) evaltimeList = CreateEvaluationTimeList(timerList);
if (evaltimeList) failedList = CreateConflictList(evaltimeList, timerList);
+ if ((!localConflicts) && timerList) CreateRemoteConflictList(timerList,failedList);
if (failedList)
- {
for(cConflictCheckTime* checkTime = failedList->First(); checkTime; checkTime = failedList->Next(checkTime))
{
LogFile.Log(2,"result of conflict check for %s:", DAYDATETIME(checkTime->evaltime));
std::set<cConflictCheckTimerObj*,TimerObjSort>::iterator it;
for (it = checkTime->failedTimers.begin(); it != checkTime->failedTimers.end(); ++it)
- LogFile.Log(2,"timer '%s' (%s, channel %s) failed", (*it)->timer->File(), DAYDATETIME((*it)->timer->StartTime()), CHANNELNAME((*it)->timer->Channel()));
- }
+ {
+ if (!localConflicts)
+ LogFile.Log(2,"timer '%s' (%s, channel %s) %s%s failed", (*it)->timer->File(), DAYDATETIME((*it)->timer->StartTime()), CHANNELNAME((*it)->timer->Channel()), (*it)->timer->Remote()?"@":"",(*it)->timer->Remote()?(*it)->timer->Remote():"");
+ else
+ LogFile.Log(2,"timer '%s' (%s, channel %s) failed", (*it)->timer->File(), DAYDATETIME((*it)->timer->StartTime()), CHANNELNAME((*it)->timer->Channel()));
+ }
}
if (numConflicts > 0 && gl_timerStatusMonitor)
gl_timerStatusMonitor->SetConflictCheckAdvised();
@@ -261,14 +268,16 @@ cList<cConflictCheckTimerObj>* cConflictCheck::CreateCurrentTimerList()
for (ti = Timers->First(); ti; ti = Timers->Next(ti))
{
tMax = std::max(tMax, ti->StartTime());
- if (ti->Remote()) continue; // TO BE DONE: remote service request CC
+ if (localConflicts && ti->Remote()) continue;
if (!ti->IsSingleEvent()) continue;
// already recording?
- int deviceNr = gl_recStatusMonitor->TimerRecDevice(ti)-1;
+ int deviceNr = -1;
+ if (ti->Local()) // we check devices only for local timers
+ deviceNr = gl_recStatusMonitor->TimerRecDevice(ti)-1;
- // create a copy of this timer
- cTimer* clone = new cTimer(*ti);
- clone->SetEvent(ti->Event());
+ // create a copy of this timer
+ cTimer* clone = new cTimer(*ti);
+ clone->SetEvent(ti->Event());
cConflictCheckTimerObj* timerObj = new cConflictCheckTimerObj(clone, ti->StartTime(), ti->StopTime(), deviceNr, ti->Id());
if (deviceNr >= 0)
@@ -290,6 +299,7 @@ cList<cConflictCheckTimerObj>* cConflictCheck::CreateCurrentTimerList()
for (ti = Timers->First(); ti; ti = Timers->Next(ti))
{
if (ti->IsSingleEvent()) continue;
+ if (localConflicts && ti->Remote()) continue; //JF???
time_t day = time(NULL);
while(day < tMax)
{
@@ -300,7 +310,7 @@ cList<cConflictCheckTimerObj>* cConflictCheck::CreateCurrentTimerList()
if (Start < time(NULL))
{
#ifndef DEBUG_CONFL
- if (ti->Recording())
+ if (ti->Local() && ti->Recording())
deviceNr = gl_recStatusMonitor->TimerRecDevice(ti)-1;
#else
if (Start + ti->StopTime() - ti->StartTime() > time(NULL))
@@ -335,7 +345,7 @@ cList<cConflictCheckTimerObj>* cConflictCheck::CreateCurrentTimerList()
}
day += SECSINDAY;
}
- }
+ }
if (CurrentTimerList) CurrentTimerList->Sort();
LogFile.Log(3,"current timer list created");
@@ -351,6 +361,8 @@ cList<cConflictCheckTime>* cConflictCheck::CreateEvaluationTimeList(cList<cConfl
{
if (!TimerObj->timer->HasFlags(tfActive)) continue;
+ if (TimerObj->timer->Remote()) continue; // here we check local timers only
+
if (!EvalTimeList) EvalTimeList = new cList<cConflictCheckTime>;
cConflictCheckTime* checkTime = NULL;
@@ -462,6 +474,140 @@ cList<cConflictCheckTime>* cConflictCheck::CreateConflictList(cList<cConflictChe
return EvalTimeList;
}
+void cConflictCheck::CreateRemoteConflictList(cList<cConflictCheckTimerObj>* TimerList, cList<cConflictCheckTime>* failedList)
+{
+ LogFile.Log(3,"add remote conflicts to list");
+ bool foundRemote = false;
+ cStringList RemoteHosts;
+ // check if we have any Remote timers
+ RemoteHosts.Clear();
+ for(cConflictCheckTimerObj* TimerObj= TimerList->First(); TimerObj; TimerObj = TimerList->Next(TimerObj))
+ {
+ if (!TimerObj->timer->HasFlags(tfActive)) continue;
+
+ if (TimerObj->timer->Remote())
+ {
+ if (RemoteHosts.Find(TimerObj->timer->Remote()) < 0)
+ {
+ foundRemote = true;
+ RemoteHosts.Append(strdup(TimerObj->timer->Remote()));
+ }
+ }
+ }
+
+ if (!foundRemote)
+ {
+ LogFile.Log(3,"no remote timers to add");
+ return;
+ }
+
+ RemoteHosts.Sort();
+
+ cStringList Response;
+ // for all RemoteHosts
+ for (int i=0; i< RemoteHosts.Size(); i++)
+ {
+ Response.Clear();
+ if (ExecSVDRPCommand(RemoteHosts[i], "PLUG epgsearch LSCC REL", &Response))
+ {
+ for (int j = 0; j < Response.Size(); j++)
+ {
+ const char *s = Response[j];
+ int Code = SVDRPCode(s);
+ if (Code == 901)
+ {
+ LogFile.Log(3,"conflictcheck %s no remote conflicts found",RemoteHosts[i]);
+ continue;
+ } else if (Code != 900)
+ {
+ LogFile.Log(2,"Invalid remote response %d %s", Code,
+ SVDRPValue(s));
+ break;
+ } else if (const char* line = SVDRPValue(s))
+ {
+ LogFile.Log(2,"remote conflictcheck line %s",line);
+ int Id,recPart;
+ char rest[256];
+ time_t evaltime;
+ sscanf(line,"%ld:%d|%s",&evaltime,&Id,rest);
+ cConflictCheckTime* checkTime = new cConflictCheckTime(evaltime);
+ if (!failedList)
+ failedList = new cList<cConflictCheckTime>;
+ LogFile.Log(2,"added remote checkTime %s to failedList",DAYDATETIME(evaltime));
+ failedList->Add(checkTime);
+ numConflicts++;
+ // find TimerObj with id Id in timerList
+ cConflictCheckTimerObj* failedTimer = NULL;
+ bool foundfT = false;
+ for(failedTimer = TimerList->First(); failedTimer; failedTimer = TimerList->Next(failedTimer))
+ {
+ if (failedTimer->timer->Id() == Id)
+ {
+ foundfT = true;
+ break;
+ }
+ }
+ if (!foundfT)
+ {
+ LogFile.Log(2,"remote failed Timer disappeared");
+ continue;
+ }
+ LogFile.Log(2,"create remote failedTimer with Id %d",Id);
+ failedTimer->conflCheckTime = checkTime;
+ failedTimer->origIndex = Id;
+ sscanf(rest,"%d|%s",&recPart,rest);
+ failedTimer->recDuration=((failedTimer->stop-failedTimer->start)* recPart / 100);
+ cConflictCheckTimerObj* concurrentTimer = NULL;
+ while (strlen(rest) > 0)
+ {
+ int n = sscanf(rest,"%d#%s",&Id,rest);
+ if (n < 2)
+ {
+ if (sscanf(rest,"%d",&Id) <= 0)
+ {
+ LogFile.Log(2,"error scanning rest of line %s",rest);
+ break;
+ }
+ *rest = 0; // TODO :<more timers> possible ??
+ }
+ // find TimerObj itcc for with Id in timerList
+ bool foundcT = false;
+ for(concurrentTimer = TimerList->First(); concurrentTimer; concurrentTimer = TimerList->Next(concurrentTimer))
+ {
+ if (concurrentTimer->timer->Id() == Id)
+ {
+ foundcT = true;
+ break;
+ }
+ }
+ if (!foundcT)
+ {
+ LogFile.Log(2,"remote concurrent Timer disappeared");
+ continue;
+ }
+ if (!failedTimer->concurrentTimers)
+ failedTimer->concurrentTimers = new std::set<cConflictCheckTimerObj*,TimerObjSort>;
+ LogFile.Log(2,"insert remote Id %d into concurrentTimers",concurrentTimer->timer->Id());
+ failedTimer->concurrentTimers->insert(concurrentTimer);
+ } // while concurrent Timers
+ LogFile.Log(2,"insert Id %d into checkTime->failedTimers",failedTimer->timer->Id());
+ checkTime->failedTimers.insert(failedTimer);
+ relevantConflicts++;
+ }
+ else
+ LogFile.Log(2,"got Code %d, but no Value from %s",Code,RemoteHosts[i]);
+ } // received response
+ }
+ else
+ {
+ LogFile.Log(2,"ExecSVDRPCommand failed for %s",RemoteHosts[i]);
+ }
+ } // for all RemoteHosts
+ cConflictCheckThread::m_cacheTotalConflicts = numConflicts;
+ cConflictCheckThread::m_cacheRelevantConflicts = relevantConflicts;
+ LogFile.Log(3,"add remote conflicts done");
+}
+
// checks for conflicts at one special time
int cConflictCheck::ProcessCheckTime(cConflictCheckTime* checkTime)
{
@@ -667,6 +813,8 @@ void cConflictCheck::AddConflict(cConflictCheckTimerObj* TimerObj, cConflictChec
bool cConflictCheck::TimerInConflict(const cTimer* timer)
{
+ if (!failedList)
+ return false;
for(cConflictCheckTime* checkTime = failedList->First(); checkTime; checkTime = failedList->Next(checkTime))
{
std::set<cConflictCheckTimerObj*,TimerObjSort>::iterator it;
diff --git a/conflictcheck.h b/conflictcheck.h
index 049243c..44a08d1 100644
--- a/conflictcheck.h
+++ b/conflictcheck.h
@@ -262,6 +262,7 @@ class cConflictCheck
public:
int relevantConflicts;
int numConflicts;
+ bool localConflicts;
time_t nextRelevantConflictDate;
cConflictCheck();
@@ -269,9 +270,12 @@ class cConflictCheck
void InitDevicesInfo();
void Check();
void BondDevices(const char* bondings);
+ void SetLocal() { localConflicts = true; }
+ bool GetLocal() { return localConflicts; }
cList<cConflictCheckTimerObj>* CreateCurrentTimerList();
cList<cConflictCheckTime>* CreateEvaluationTimeList(cList<cConflictCheckTimerObj>*);
cList<cConflictCheckTime>* CreateConflictList(cList<cConflictCheckTime>*, cList<cConflictCheckTimerObj>* timerList);
+ void CreateRemoteConflictList(cList<cConflictCheckTimerObj>* timerList, cList<cConflictCheckTime>* failedList);
int GetDevice(cConflictCheckTimerObj* TimerObj, bool *NeedsDetachReceivers);
cList<cConflictCheckTime>* GetFailed() { return failedList; }
cList<cConflictCheckTimerObj>* GetTimers() { return timerList; }
diff --git a/doc-src/de/epgsearch.1.txt b/doc-src/de/epgsearch.1.txt
index 57e2301..e6cce39 100644
--- a/doc-src/de/epgsearch.1.txt
+++ b/doc-src/de/epgsearch.1.txt
@@ -626,6 +626,9 @@ erzeugt Timer, falls passende Eintršge gefunden werden. Dies
betrifft nur Sucheintršge, die mit 'Als Suchtimer verwenden'
markiert sind.
+Suchtimer werden immer lokal erzeugt, auch wenn ein anderer Defaulthost
+fŁr Aufnahmen definiert ist.
+
=item - B<Aktualisierungsintervall:>
Das Intervall in Minuten, in dem die Hintergrundsuche vorgenommen
@@ -735,6 +738,12 @@ wird darauf nicht per OSD-Nachricht hingewiesen und der Konflikt wird als
Hier kann der Zeitraum der PrŁfung angegeben werden.
+=item - B<Konflikte auch fŁr Remote-Timer prŁfen:>
+
+Falls SVDRPPeering aktiv ist, werden auch Konflikte bei entfernten Timern
+ŁberpŁft. Dazu muss am entsprechenden Remote-Rechner das epgsearch-Plugin
+ebenfalls aktiviert sein. Default ist nein.
+
=item - B<Nach jeder Timer-Programmierung:>
Das bewirkt eine KonfliktprŁfung nach jeder manuellen Timer-Programmierung
diff --git a/doc-src/en/epgsearch.1.txt b/doc-src/en/epgsearch.1.txt
index 659f4b9..e44f0e4 100644
--- a/doc-src/en/epgsearch.1.txt
+++ b/doc-src/en/epgsearch.1.txt
@@ -603,6 +603,9 @@ If yes, the plugin makes a background scan of the EPG and adds timers
if it finds matching entries. This applies only to searches that are
marked with 'use as search timer'.
+Search timers will always be created local, even if SVDRPDefaulthost
+is set to a different host.
+
=item - B<Update interval:>
The update interval of the background scan for search timers in minutes.
@@ -714,6 +717,12 @@ in the conflicts overview.
Here you can specify the day range that should be used for the conflict
check.
+=item - B<Check also remote conflicts:>
+
+If SVDRPPeering is active, conflicts for remote timers will be checked, if
+set to "yes". For this to work epgseach-plugin has to be active on the
+remote host too. Default is "no".
+
=item - B<After each timer programming:>
This performs a conflict check after each manual timer programming and - if
diff --git a/epgsearch.c b/epgsearch.c
index 7f368c3..3bcd3d9 100644
--- a/epgsearch.c
+++ b/epgsearch.c
@@ -652,6 +652,7 @@ bool cPluginEpgsearch::SetupParse(const char *Name, const char *Value)
if (!strcasecmp(Name, "CheckTimerConflicts")) EPGSearchConfig.checkTimerConflictsAfterUpdate = atoi(Value);
if (!strcasecmp(Name, "CheckTimerConflictsPriority")) EPGSearchConfig.checkMinPriority = atoi(Value);
if (!strcasecmp(Name, "CheckTimerConflictsDays")) EPGSearchConfig.checkMaxDays = atoi(Value);
+ if (!strcasecmp(Name, "RemoteConflictCheck")) EPGSearchConfig.RemoteConflictCheck = atoi(Value);
if (!strcasecmp(Name, "CheckConflictsIntervall")) EPGSearchConfig.conflictCheckIntervall = atoi(Value);
if (!strcasecmp(Name, "CheckConflictsWithinLimit")) EPGSearchConfig.conflictCheckWithinLimit = atoi(Value);
if (!strcasecmp(Name, "CheckConflictsIntervall2")) EPGSearchConfig.conflictCheckIntervall2 = atoi(Value);
diff --git a/epgsearchcfg.c b/epgsearchcfg.c
index 7124271..c48889e 100644
--- a/epgsearchcfg.c
+++ b/epgsearchcfg.c
@@ -92,6 +92,7 @@ cEPGSearchConfig::cEPGSearchConfig(void)
ReplaceOrgSchedule = 0;
sendMailOnSearchtimers = 0;
sendMailOnConflicts = 0;
+ RemoteConflictCheck = 0;
}
cShowMode& cShowMode::operator= (const cShowMode &ShowMode)
diff --git a/epgsearchcfg.h b/epgsearchcfg.h
index e51dee8..d8da05b 100644
--- a/epgsearchcfg.h
+++ b/epgsearchcfg.h
@@ -129,6 +129,7 @@ cEPGSearchConfig(void);
int useOkForSwitch;
int sendMailOnSearchtimers;
int sendMailOnConflicts;
+ int RemoteConflictCheck;
char MailAddressTo[MaxFileName];
char MailAddress[MaxFileName];
char MailServer[MaxFileName];
diff --git a/epgsearchsetup.c b/epgsearchsetup.c
index 851c115..642d011 100644
--- a/epgsearchsetup.c
+++ b/epgsearchsetup.c
@@ -223,6 +223,7 @@ void cMenuEPGSearchSetup::Store(void)
SetupStore("CheckConflictsAfterTimerProg", EPGSearchConfig.checkTimerConflAfterTimerProg);
SetupStore("CheckConflictsOnRecording", EPGSearchConfig.checkTimerConflOnRecording);
SetupStore("NoConflMsgWhileReplay", EPGSearchConfig.noConflMsgWhileReplay);
+ SetupStore("RemoteConflictCheck", EPGSearchConfig.RemoteConflictCheck);
SetupStore("CheckEPGHours", EPGSearchConfig.checkEPGHours);
SetupStore("CheckEPGWarnByOSD", EPGSearchConfig.checkEPGWarnByOSD);
SetupStore("CheckEPGWarnByMail", EPGSearchConfig.checkEPGWarnByMail);
@@ -790,6 +791,9 @@ void cMenuSetupTimerConflicts::Set()
Add(new cMenuEditIntItem(tr("Only check within next ... days"), &data->checkMaxDays, 1, 14));
AddHelp(tr("Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."));
+ Add(new cMenuEditBoolItem(tr("Check also remote conflicts"), &data->RemoteConflictCheck, trVDR("no"), trVDR("yes")));
+ AddHelp(tr("Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."));
+
cOsdItem* sep = new cOsdItem(tr("--- Automatic checking ---"));
sep->SetSelectable(false);
Add(sep);
diff --git a/epgsearchsvdrp.c b/epgsearchsvdrp.c
index 591201c..beeeaa5 100644
--- a/epgsearchsvdrp.c
+++ b/epgsearchsvdrp.c
@@ -128,7 +128,7 @@ const char **cPluginEpgsearch::SVDRPHelpPages(void)
" Returns the ID of the default search template\n"
" or activates a search template with ID as default",
"LSCC [ REL ]\n"
- " Returns the current timer conflicts. With the option\n"
+ " Returns the current (local) timer conflicts. With the option\n"
" 'REL' only relevant conflicts are listed",
"MENU [ NOW|PRG|SUM ]\n"
" Calls one of the main menus of epgsearch or the summary\n"
@@ -1255,7 +1255,9 @@ cString cPluginEpgsearch::SVDRPCommand(const char *Command, const char *Option,
if (*Option && strcasecmp(Option, "REL") == 0)
relOnly = true;
+ LogFile.Log(3,"svdrp LSCC");
cConflictCheck conflictCheck;
+ conflictCheck.SetLocal(); // including remote timers results in an infinite loop
conflictCheck.Check();
if ((relOnly && conflictCheck.numConflicts > 0) ||
diff --git a/menu_conflictcheck.c b/menu_conflictcheck.c
index 4450f25..88d1a0e 100644
--- a/menu_conflictcheck.c
+++ b/menu_conflictcheck.c
@@ -182,9 +182,15 @@ bool cMenuConflictCheckDetailsItem::Update(bool Force)
if (!timerObj->conflCheckTime && timerObj->device > -1)
sprintf(device, "%d", timerObj->device+1);
else
- strcpy(device, tr("C"));
+ {
+ if (timer->Local())
+ strcpy(device, tr("C"));
+ else
+ strcpy(device, "R"); //Remote Timer
+ }
}
+// cString buffer = cString::sprintf("%s\t%s\t%d\t%s - %s\t%d\t%s\t%s", hasTimer?">":"", timer->Remote()?timer->Remote():"", timer->Channel()->Number(), TIMESTRING(timerObj->start), TIMESTRING(timerObj->stop), timer->Priority(), device, timer->File());
cString buffer = cString::sprintf("%s\t%d\t%s - %s\t%d\t%s\t%s", hasTimer?">":"", timer->Channel()->Number(), TIMESTRING(timerObj->start), TIMESTRING(timerObj->stop), timer->Priority(), device, timer->File());
SetText(buffer);
@@ -300,6 +306,11 @@ eOSState cMenuConflictCheckDetails::DeleteTimer(cConflictCheckTimerObj* TimerObj
else
return osContinue;
}
+ if (!HandleRemoteTimerModifications(NULL,timer))
+ {
+ LogFile.Log(2,"HandleRemoteTimerModifications failed");
+ return osContinue;
+ }
LogFile.iSysLog("deleting timer %s", *timer->ToDescr());
Timers->Del(timer);
cOsdMenu::Del(Current());
diff --git a/menu_whatson.c b/menu_whatson.c
index e84bb95..e3b39d8 100644
--- a/menu_whatson.c
+++ b/menu_whatson.c
@@ -61,6 +61,7 @@ cMenuMyScheduleItem::cMenuMyScheduleItem(const cTimers *Timers, const cEvent *Ev
channel = Channel;
mode = Mode;
timerMatch = tmNone;
+ isRemote = false;
inSwitchList = false;
menuTemplate = MenuTemplate;
Update(Timers, true);
@@ -78,14 +79,17 @@ bool cMenuMyScheduleItem::Update(const cTimers* Timers, bool Force)
bool result = false;
eTimerMatch OldTimerMatch = timerMatch;
+ bool OldIsRemote = isRemote;
bool OldInSwitchList = inSwitchList;
bool hasMatch = false;
const cTimer* timer = NULL;
if (event) timer = Timers->GetMatch(event, &timerMatch);
if (event) inSwitchList = (SwitchTimers.InSwitchList(event)!=NULL);
if (timer) hasMatch = true;
+ if (timer) isRemote = timer->Remote();
- if (Force || timerMatch != OldTimerMatch || inSwitchList != OldInSwitchList)
+ if (Force || timerMatch != OldTimerMatch || inSwitchList != OldInSwitchList
+ || isRemote != OldIsRemote)
{
char szProgressPart[Utf8BufSize(12)] = "";
char szProgressPartT2S[12] = "";
@@ -235,7 +239,7 @@ bool cMenuMyScheduleItem::Update(const cTimers* Timers, bool Force)
SetText(buffer, false);
- if (gl_InfoConflict == 0 && EPGSearchConfig.checkTimerConflAfterTimerProg && !Force && timer && timerMatch && timerMatch != OldTimerMatch && !(timer->Remote()))
+ if (gl_InfoConflict == 0 && EPGSearchConfig.checkTimerConflAfterTimerProg && !Force && timer && ((timerMatch && timerMatch != OldTimerMatch) || (isRemote != OldIsRemote)))
{
cConflictCheck C;
C.Check();
diff --git a/menu_whatson.h b/menu_whatson.h
index 65a2b73..225056c 100644
--- a/menu_whatson.h
+++ b/menu_whatson.h
@@ -36,6 +36,7 @@ public:
const cChannel *channel;
showMode mode;
eTimerMatch timerMatch;
+ bool isRemote;
bool inSwitchList;
cMenuTemplate* menuTemplate;
diff --git a/po/ca_ES.po b/po/ca_ES.po
index 3aef54b..30005c6 100644
--- a/po/ca_ES.po
+++ b/po/ca_ES.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Jordi Vilà <jvila@tinet.org>\n"
"Language-Team: Catalan <vdr@linuxtv.org>\n"
@@ -434,6 +434,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/cs_CZ.po b/po/cs_CZ.po
index 242884e..8289bc7 100644
--- a/po/cs_CZ.po
+++ b/po/cs_CZ.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.21\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2011-10-31 20:21+0200\n"
"Last-Translator: Radek Stastny <dedkus@gmail.com>\n"
"Language-Team: Czech <vdr@linuxtv.org>\n"
@@ -431,6 +431,12 @@ msgstr "Kontrolovat pouze bńõhem dalŇ°√≠ch . dn√≠"
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr "--- Automatick√° kontrola ---"
diff --git a/po/da_DK.po b/po/da_DK.po
index f2237ae..e84abd5 100644
--- a/po/da_DK.po
+++ b/po/da_DK.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: Danish <vdr@linuxtv.org>\n"
@@ -432,6 +432,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/de_DE.po b/po/de_DE.po
index 703f665..79f795c 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:33+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Klaus Schmidinger <kls@cadsoft.de>\n"
"Language-Team: German <vdr@linuxtv.org>\n"
@@ -461,6 +461,12 @@ msgstr "Pr√ľfe nur die n√§chsten ... Tage"
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr "Mit diesem Wert kann der Zeitbereich der Konfliktpr√ľfung eingestellt werden. Alle Konflikte ausserhalb des Bereichs werden als 'noch nicht wichtig' eingestuft."
+msgid "Check also remote conflicts"
+msgstr "Konflikte auch f√ľr Remote-Timer pr√ľfen"
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr "Mit 'ja' wird der Konfliktcheck auf f√ľr Timer auf entfernten Rechnern gemacht. Dazu muss SVDRPPeering gesetzt sein und das Plugin epgsearch am entfernten Rechner laufen"
+
msgid "--- Automatic checking ---"
msgstr "--- Automatische Pr√ľfung ---"
diff --git a/po/el_GR.po b/po/el_GR.po
index 2befab5..3c9ccf8 100644
--- a/po/el_GR.po
+++ b/po/el_GR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: Greek <vdr@linuxtv.org>\n"
@@ -432,6 +432,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/es_ES.po b/po/es_ES.po
index e77a5eb..c288ddb 100644
--- a/po/es_ES.po
+++ b/po/es_ES.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-11-18 20:09+0200\n"
"Last-Translator: bittor from open7x0.org <bittor7x0 _at_ gmail.com>\n"
"Language-Team: Spanish <vdr@linuxtv.org>\n"
@@ -467,6 +467,12 @@ msgstr "Sólo comprobar los próximos ... días"
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr "Este valor reduce la comprobación de conflictos al rango de días dados. El resto de conflictos son clasificados como 'no importantes'."
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr "--- Comprobación automática ---"
diff --git a/po/et_EE.po b/po/et_EE.po
index c5f5e7e..ade1339 100644
--- a/po/et_EE.po
+++ b/po/et_EE.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Arthur Konovalov <kasjas@hot.ee>\n"
"Language-Team: Estonian <vdr@linuxtv.org>\n"
@@ -432,6 +432,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/fi_FI.po b/po/fi_FI.po
index 24c7e59..51d9fc8 100644
--- a/po/fi_FI.po
+++ b/po/fi_FI.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: EPGSearch 0.9.25\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2011-01-04 21:07+0200\n"
"Last-Translator: Ville Skyttä <ville.skytta@iki.fi>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n"
@@ -464,6 +464,12 @@ msgstr "Tarkista vain seuraavat ... päivää"
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr "Asettaa ajanjakson päivinä päällekkäisyyksien tarkistukselle. Muita päällekkäisyyksiä ei pidetä vielä merkitsevinä."
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr "--- Automaattinen tarkistus ---"
diff --git a/po/fr_FR.po b/po/fr_FR.po
index 8928dbc..be10c25 100644
--- a/po/fr_FR.po
+++ b/po/fr_FR.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2008-04-30 08:36+0200\n"
"Last-Translator: Patrice Staudt <patrice.staudt@laposte.net>\n"
"Language-Team: French <vdr@linuxtv.org>\n"
@@ -471,6 +471,12 @@ msgstr "Ne vérifier que les prochains ... jours"
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr "Avec cette valeur vous définissez l'interval de temps de la vérification de conflits. Tous ces conflits en dehors de cet interval sont qualifés comme 'pas encore importants."
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr "--- Vérifications automatiques ---"
diff --git a/po/hr_HR.po b/po/hr_HR.po
index fed7b39..6ffd2f5 100644
--- a/po/hr_HR.po
+++ b/po/hr_HR.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Drazen Dupor <drazen.dupor@dupor.com>\n"
"Language-Team: Croatian <vdr@linuxtv.org>\n"
@@ -433,6 +433,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/hu_HU.po b/po/hu_HU.po
index b3bac82..673f83b 100644
--- a/po/hu_HU.po
+++ b/po/hu_HU.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Istvan Koenigsberger <istvnko@hotmail.com>, Guido Josten <guido.josten@t-online.de>\n"
"Language-Team: Hungarian <vdr@linuxtv.org>\n"
@@ -432,6 +432,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/it_IT.po b/po/it_IT.po
index ebfb1b8..e91de4a 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2011-07-17 17:46+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n"
@@ -465,6 +465,12 @@ msgstr "Verifica solo entro i prossimi ... giorni"
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr "Questo valore riduce la verifica del conflitto ad un dato range di giorni. Tutti gli altri conflitti sono classificati come 'non ancora importanti'."
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr "--- Verifica automatica ---"
diff --git a/po/lt_LT.po b/po/lt_LT.po
index 4ce7a98..6354955 100644
--- a/po/lt_LT.po
+++ b/po/lt_LT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.10\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n"
@@ -469,6 +469,12 @@ msgstr "Tikrinti tik kas ... dienas"
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr "pagal Ň°ńĮ parametrńÖ Nustatomas konflikto paieŇ°kos periodiŇ°kumas dienomis. Visi kiti konfliktai laikomi kaip 'dar ne svarbŇęs'."
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr "--- Automatinńó paieŇ°ka ---"
diff --git a/po/nl_NL.po b/po/nl_NL.po
index 142c6ba..9fa0a5c 100644
--- a/po/nl_NL.po
+++ b/po/nl_NL.po
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-12 12:04+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Maarten Wisse <Maarten.Wisse@urz.uni-hd.de>\n"
"Language-Team: Dutch <vdr@linuxtv.org>\n"
@@ -471,6 +471,12 @@ msgstr "Controleer alleen vóór de volgende ... dagen"
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr "Deze waarde beperkt de conflict controle tot het gegeven aantal dagen. Alle andere conflicten worden als 'nog niet belangrijk' bestempeld."
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr "--- Automatische controle ---"
diff --git a/po/nn_NO.po b/po/nn_NO.po
index 286e41f..2a55b8e 100644
--- a/po/nn_NO.po
+++ b/po/nn_NO.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-04 17:01+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n"
@@ -432,6 +432,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/pl_PL.po b/po/pl_PL.po
index b91d576..7bd42a9 100644
--- a/po/pl_PL.po
+++ b/po/pl_PL.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-04 17:01+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
"Language-Team: Polish <vdr@linuxtv.org>\n"
@@ -432,6 +432,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/pt_PT.po b/po/pt_PT.po
index 47bc02a..8fc5fd0 100644
--- a/po/pt_PT.po
+++ b/po/pt_PT.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-04 17:01+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Paulo Lopes <pmml@netvita.pt>\n"
"Language-Team: Portuguese <vdr@linuxtv.org>\n"
@@ -431,6 +431,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/ro_RO.po b/po/ro_RO.po
index 20683e6..0048be8 100644
--- a/po/ro_RO.po
+++ b/po/ro_RO.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-04 17:01+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: Romanian <vdr@linuxtv.org>\n"
@@ -432,6 +432,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/ru_RU.po b/po/ru_RU.po
index 188430d..4282eb1 100644
--- a/po/ru_RU.po
+++ b/po/ru_RU.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-04 17:01+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Vyacheslav Dikonov <sdiconov@mail.ru>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n"
@@ -431,6 +431,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/sk_SK.po b/po/sk_SK.po
index 10e771e..f39b6d4 100644
--- a/po/sk_SK.po
+++ b/po/sk_SK.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: epgsearch\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-04 17:01+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2009-11-02 09:40+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <hrala.milan@gmail.com>\n"
@@ -468,6 +468,12 @@ msgstr "SkontrolovaŇ• iba do bud√ļcich ... dn√≠"
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr "T√°to hodnota zniŇĺuje konflikty podńĺa dan√©ho rozsahu dn√≠. VŇ°etky ostatn√© konflikty s√ļ klasifikovan√© ako 'eŇ°te d√īleŇĺit√©'."
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr "--- Automatick√° kontrola ---"
diff --git a/po/sl_SI.po b/po/sl_SI.po
index 631d5ba..24d68be 100644
--- a/po/sl_SI.po
+++ b/po/sl_SI.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-04 17:01+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: Slovenian <vdr@linuxtv.org>\n"
@@ -432,6 +432,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/sv_SE.po b/po/sv_SE.po
index dfcd6f8..94db34a 100644
--- a/po/sv_SE.po
+++ b/po/sv_SE.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-04 17:01+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Tomas Prybil <tomas@prybil.se>\n"
"Language-Team: Swedish <vdr@linuxtv.org>\n"
@@ -432,6 +432,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""
diff --git a/po/tr_TR.po b/po/tr_TR.po
index 3e8305c..535c3a2 100644
--- a/po/tr_TR.po
+++ b/po/tr_TR.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.5.7\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2017-05-04 17:01+0200\n"
+"POT-Creation-Date: 2017-06-15 11:15+0200\n"
"PO-Revision-Date: 2007-08-14 20:21+0200\n"
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
"Language-Team: Turkish <vdr@linuxtv.org>\n"
@@ -431,6 +431,12 @@ msgstr ""
msgid "Help$This value reduces the conflict check to the given range of days. All other conflicts are classified as 'not yet important'."
msgstr ""
+msgid "Check also remote conflicts"
+msgstr ""
+
+msgid "Help$Set this to 'yes' if the conflict check should be done for timers set on remote hosts. This needs SVDRPPeering to be set in vdr and Plugin epgsearch running on the remote host."
+msgstr ""
+
msgid "--- Automatic checking ---"
msgstr ""