mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 15:58:31 +00:00
added setup options to configure rerun display behaviour
This commit is contained in:
@@ -425,16 +425,18 @@ bool cDisplayMenuDetailView::LoadReruns(vector< map< string, string > > *reruns)
|
||||
|
||||
if (isempty(event->Title()))
|
||||
return false;
|
||||
|
||||
int maxNumReruns = 10;
|
||||
|
||||
int maxNumReruns = config.rerunAmount;
|
||||
int rerunDistance = config.rerunDistance * 3600;
|
||||
int rerunNaxChannel = config.rerunMaxChannel;
|
||||
|
||||
Epgsearch_searchresults_v1_0 data;
|
||||
string strQuery = event->Title();
|
||||
data.useSubTitle = true;
|
||||
data.query = (char *)strQuery.c_str();
|
||||
data.mode = 0;
|
||||
data.channelNr = 0;
|
||||
data.useTitle = true;
|
||||
data.useSubTitle = true;
|
||||
data.useDescription = false;
|
||||
|
||||
bool foundRerun = false;
|
||||
@@ -444,8 +446,24 @@ bool cDisplayMenuDetailView::LoadReruns(vector< map< string, string > > *reruns)
|
||||
foundRerun = true;
|
||||
int i = 0;
|
||||
for (Epgsearch_searchresults_v1_0::cServiceSearchResult *r = list->First(); r && i < maxNumReruns; r = list->Next(r)) {
|
||||
if ((event->ChannelID() == r->event->ChannelID()) && (event->StartTime() == r->event->StartTime()))
|
||||
time_t eventStart = event->StartTime();
|
||||
time_t rerunStart = r->event->StartTime();
|
||||
cChannel *channel = Channels.GetByChannelID(r->event->ChannelID(), true, true);
|
||||
//check for identical event
|
||||
if ((event->ChannelID() == r->event->ChannelID()) && (eventStart == rerunStart))
|
||||
continue;
|
||||
//check for timely distance
|
||||
if (rerunDistance > 0) {
|
||||
if (rerunStart - eventStart < rerunDistance) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
//check for maxchannel
|
||||
if (rerunNaxChannel > 0) {
|
||||
if (channel && channel->Number() > rerunNaxChannel) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
i++;
|
||||
map< string, string > rerun;
|
||||
rerun.insert(pair<string, string>("reruns[title]", r->event->Title() ? r->event->Title() : ""));
|
||||
@@ -460,7 +478,6 @@ bool cDisplayMenuDetailView::LoadReruns(vector< map< string, string > > *reruns)
|
||||
bool logoExists = imgCache->LogoExists(channelID);
|
||||
rerun.insert(pair<string, string>("reruns[channellogoexists]", logoExists ? "1" : "0"));
|
||||
|
||||
cChannel *channel = Channels.GetByChannelID(r->event->ChannelID(), true, true);
|
||||
if (channel) {
|
||||
stringstream channelNumber;
|
||||
channelNumber << channel->Number();
|
||||
|
||||
Reference in New Issue
Block a user