summaryrefslogtreecommitdiff
path: root/menu_blacklistedit.c
diff options
context:
space:
mode:
authorJohann Friedrichs <johann.friedrichs@web.de>2018-03-21 12:14:55 +0100
committerJohann Friedrichs <johann.friedrichs@web.de>2018-03-21 12:14:55 +0100
commite8a0e569152c50d6084f252d12854b8fd4e74466 (patch)
tree5a90ef7ea08ff2096df157ca109c5268cdc04903 /menu_blacklistedit.c
parent9c7d95ff8d6ba965cb23147507a859b1fd0491d6 (diff)
downloadvdr-plugin-epgsearch-e8a0e569152c50d6084f252d12854b8fd4e74466.tar.gz
vdr-plugin-epgsearch-e8a0e569152c50d6084f252d12854b8fd4e74466.tar.bz2
unified indentation
Diffstat (limited to 'menu_blacklistedit.c')
-rw-r--r--menu_blacklistedit.c600
1 files changed, 274 insertions, 326 deletions
diff --git a/menu_blacklistedit.c b/menu_blacklistedit.c
index 4db0815..58dc78a 100644
--- a/menu_blacklistedit.c
+++ b/menu_blacklistedit.c
@@ -40,9 +40,9 @@ extern const char AllowedChars[];
// --- cMenuBlacklistEdit --------------------------------------------------------
cMenuBlacklistEdit::cMenuBlacklistEdit(cBlacklist *Blacklist, bool New)
-:cOsdMenu(tr("Edit blacklist"),32)
+ : cOsdMenu(tr("Edit blacklist"), 32)
{
- SetMenuCategory(mcSetupPlugins);
+ SetMenuCategory(mcSetupPlugins);
SearchModes[0] = strdup(tr("phrase"));
SearchModes[1] = strdup(tr("all words"));
SearchModes[2] = strdup(tr("at least one word"));
@@ -64,73 +64,62 @@ cMenuBlacklistEdit::cMenuBlacklistEdit(cBlacklist *Blacklist, bool New)
UseChannelSel[2] = strdup(tr("channel group"));
UseChannelSel[3] = strdup(tr("only FTA"));
- if (New)
- {
- cSearchExt* SearchTempl = NULL; // copy the default settings, if we have a default template
- cMutexLock SearchTemplatesLock(&SearchTemplates);
- cSearchExt *SearchExtTempl = SearchTemplates.First();
- while (SearchExtTempl)
- {
- if (SearchExtTempl->ID == EPGSearchConfig.DefSearchTemplateID)
- SearchTempl = SearchExtTempl;
- SearchExtTempl = SearchTemplates.Next(SearchExtTempl);
- }
- if (SearchTempl)
- Blacklist->CopyFromTemplate(SearchTempl);
+ if (New) {
+ cSearchExt* SearchTempl = NULL; // copy the default settings, if we have a default template
+ cMutexLock SearchTemplatesLock(&SearchTemplates);
+ cSearchExt *SearchExtTempl = SearchTemplates.First();
+ while (SearchExtTempl) {
+ if (SearchExtTempl->ID == EPGSearchConfig.DefSearchTemplateID)
+ SearchTempl = SearchExtTempl;
+ SearchExtTempl = SearchTemplates.Next(SearchExtTempl);
+ }
+ if (SearchTempl)
+ Blacklist->CopyFromTemplate(SearchTempl);
}
blacklist = Blacklist;
addIfConfirmed = New;
- if (blacklist)
- {
- data = *blacklist;
- UserDefDayOfWeek = 0;
- if (blacklist->DayOfWeek < 0)
- {
- UserDefDayOfWeek = blacklist->DayOfWeek;
- data.DayOfWeek = 7;
- }
-
- menuitemsChGr = NULL;
- channelGroupName = NULL;
-
- channelMin = channelMax = cDevice::CurrentChannel();
- channelGroupNr = 0;
- if (data.useChannel==1)
- {
- channelMin = data.channelMin->Number();
- channelMax = data.channelMax->Number();
- }
- if (data.useChannel==2)
- {
- channelGroupNr = ChannelGroups.GetIndex(data.channelGroup);
- if (channelGroupNr == -1)
- {
- free(data.channelGroup);
- data.channelGroup = NULL;
- channelGroupNr = 0; // no selection
- }
- else
- {
- channelGroupName = strdup(data.channelGroup);
- channelGroupNr++;
- }
- }
- catvaluesNumeric = NULL;
- if (SearchExtCats.Count() > 0)
- {
- catvaluesNumeric = (int*) malloc(SearchExtCats.Count() * sizeof(int));
- cSearchExtCat *SearchExtCat = SearchExtCats.First();
- int index = 0;
- while (SearchExtCat)
- {
- catvaluesNumeric[index] = atol(blacklist->catvalues[index]);
- SearchExtCat = SearchExtCats.Next(SearchExtCat);
- index++;
- }
- }
- Set();
+ if (blacklist) {
+ data = *blacklist;
+ UserDefDayOfWeek = 0;
+ if (blacklist->DayOfWeek < 0) {
+ UserDefDayOfWeek = blacklist->DayOfWeek;
+ data.DayOfWeek = 7;
+ }
+
+ menuitemsChGr = NULL;
+ channelGroupName = NULL;
+
+ channelMin = channelMax = cDevice::CurrentChannel();
+ channelGroupNr = 0;
+ if (data.useChannel == 1) {
+ channelMin = data.channelMin->Number();
+ channelMax = data.channelMax->Number();
+ }
+ if (data.useChannel == 2) {
+ channelGroupNr = ChannelGroups.GetIndex(data.channelGroup);
+ if (channelGroupNr == -1) {
+ free(data.channelGroup);
+ data.channelGroup = NULL;
+ channelGroupNr = 0; // no selection
+ } else {
+ channelGroupName = strdup(data.channelGroup);
+ channelGroupNr++;
+ }
+ }
+ catvaluesNumeric = NULL;
+ if (SearchExtCats.Count() > 0) {
+ catvaluesNumeric = (int*) malloc(SearchExtCats.Count() * sizeof(int));
+ cSearchExtCat *SearchExtCat = SearchExtCats.First();
+ int index = 0;
+ while (SearchExtCat) {
+ catvaluesNumeric[index] = atol(blacklist->catvalues[index]);
+ SearchExtCat = SearchExtCats.Next(SearchExtCat);
+ index++;
+ }
+ }
+ Set();
}
}
@@ -139,84 +128,74 @@ void cMenuBlacklistEdit::Set()
int current = Current();
Clear();
- Add(new cMenuEditStrItem( tr("Search term"), data.search, sizeof(data.search), tr(AllowedChars)));
+ Add(new cMenuEditStrItem(tr("Search term"), data.search, sizeof(data.search), tr(AllowedChars)));
Add(new cMenuEditStraItem(tr("Search mode"), &data.mode, 6, SearchModes));
if (data.mode == 5) // fuzzy
- Add(new cMenuEditIntItem(IndentMenuItem(tr("Tolerance")), &data.fuzzyTolerance, 1, 9));
- Add(new cMenuEditBoolItem( tr("Match case"), &data.useCase, trVDR("no"), trVDR("yes")));
- Add(new cMenuEditBoolItem( tr("Use title"), &data.useTitle, trVDR("no"), trVDR("yes")));
- Add(new cMenuEditBoolItem( tr("Use subtitle"), &data.useSubtitle, trVDR("no"), trVDR("yes")));
- Add(new cMenuEditBoolItem( tr("Use description"), &data.useDescription, trVDR("no"), trVDR("yes")));
+ Add(new cMenuEditIntItem(IndentMenuItem(tr("Tolerance")), &data.fuzzyTolerance, 1, 9));
+ Add(new cMenuEditBoolItem(tr("Match case"), &data.useCase, trVDR("no"), trVDR("yes")));
+ Add(new cMenuEditBoolItem(tr("Use title"), &data.useTitle, trVDR("no"), trVDR("yes")));
+ Add(new cMenuEditBoolItem(tr("Use subtitle"), &data.useSubtitle, trVDR("no"), trVDR("yes")));
+ Add(new cMenuEditBoolItem(tr("Use description"), &data.useDescription, trVDR("no"), trVDR("yes")));
// show Categories only if we have them
- if (SearchExtCats.Count() > 0)
- {
- Add(new cMenuEditBoolItem( tr("Use extended EPG info"), &data.useExtEPGInfo, trVDR("no"), trVDR("yes")));
- if (data.useExtEPGInfo)
- {
- cSearchExtCat *SearchExtCat = SearchExtCats.First();
- int index = 0;
- while (SearchExtCat)
- {
- if (SearchExtCat->searchmode >= 10)
- Add(new cMenuEditIntItem(IndentMenuItem(SearchExtCat->menuname), &catvaluesNumeric[index], 0, 999999, ""));
- else
- Add(new cMenuEditStrItem( IndentMenuItem(SearchExtCat->menuname), data.catvalues[index], MaxFileName, tr(AllowedChars)));
-
- SearchExtCat = SearchExtCats.Next(SearchExtCat);
- index++;
- }
- Add(new cMenuEditBoolItem(IndentMenuItem(tr("Ignore missing categories")), &data.ignoreMissingEPGCats, trVDR("no"), trVDR("yes"))); }
+ if (SearchExtCats.Count() > 0) {
+ Add(new cMenuEditBoolItem(tr("Use extended EPG info"), &data.useExtEPGInfo, trVDR("no"), trVDR("yes")));
+ if (data.useExtEPGInfo) {
+ cSearchExtCat *SearchExtCat = SearchExtCats.First();
+ int index = 0;
+ while (SearchExtCat) {
+ if (SearchExtCat->searchmode >= 10)
+ Add(new cMenuEditIntItem(IndentMenuItem(SearchExtCat->menuname), &catvaluesNumeric[index], 0, 999999, ""));
+ else
+ Add(new cMenuEditStrItem(IndentMenuItem(SearchExtCat->menuname), data.catvalues[index], MaxFileName, tr(AllowedChars)));
+
+ SearchExtCat = SearchExtCats.Next(SearchExtCat);
+ index++;
+ }
+ Add(new cMenuEditBoolItem(IndentMenuItem(tr("Ignore missing categories")), &data.ignoreMissingEPGCats, trVDR("no"), trVDR("yes")));
+ }
}
Add(new cMenuEditStraItem(tr("Use channel"), &data.useChannel, 4, UseChannelSel));
- if (data.useChannel==1)
- {
- Add(new cMenuEditChanItem(tr(" from channel"), &channelMin));
- Add(new cMenuEditChanItem(tr(" to channel"), &channelMax));
+ if (data.useChannel == 1) {
+ Add(new cMenuEditChanItem(tr(" from channel"), &channelMin));
+ Add(new cMenuEditChanItem(tr(" to channel"), &channelMax));
}
- if (data.useChannel==2)
- {
- // create the char array for the menu display
- if (menuitemsChGr) delete [] menuitemsChGr;
- menuitemsChGr = ChannelGroups.CreateMenuitemsList();
- int oldchannelGroupNr = channelGroupNr;
- channelGroupNr = ChannelGroups.GetIndex(channelGroupName);
- if (channelGroupNr == -1)
- {
- if (oldchannelGroupNr > 0 && oldchannelGroupNr <= ChannelGroups.Count()) // perhaps its name was changed
- channelGroupNr = oldchannelGroupNr;
- else
- channelGroupNr = 0; // no selection
- }
- else
- channelGroupNr++;
- Add(new cMenuEditStraItem(IndentMenuItem(tr("Channel group")), &channelGroupNr, ChannelGroups.Count()+1, menuitemsChGr));
+ if (data.useChannel == 2) {
+ // create the char array for the menu display
+ if (menuitemsChGr) delete [] menuitemsChGr;
+ menuitemsChGr = ChannelGroups.CreateMenuitemsList();
+ int oldchannelGroupNr = channelGroupNr;
+ channelGroupNr = ChannelGroups.GetIndex(channelGroupName);
+ if (channelGroupNr == -1) {
+ if (oldchannelGroupNr > 0 && oldchannelGroupNr <= ChannelGroups.Count()) // perhaps its name was changed
+ channelGroupNr = oldchannelGroupNr;
+ else
+ channelGroupNr = 0; // no selection
+ } else
+ channelGroupNr++;
+ Add(new cMenuEditStraItem(IndentMenuItem(tr("Channel group")), &channelGroupNr, ChannelGroups.Count() + 1, menuitemsChGr));
}
- Add(new cMenuEditBoolItem( tr("Use time"), &data.useTime, trVDR("no"), trVDR("yes")));
- if (data.useTime == true)
- {
- Add(new cMenuEditTimeItem(tr(" Start after"), &data.startTime));
- Add(new cMenuEditTimeItem(tr(" Start before"), &data.stopTime));
+ Add(new cMenuEditBoolItem(tr("Use time"), &data.useTime, trVDR("no"), trVDR("yes")));
+ if (data.useTime == true) {
+ Add(new cMenuEditTimeItem(tr(" Start after"), &data.startTime));
+ Add(new cMenuEditTimeItem(tr(" Start before"), &data.stopTime));
}
- Add(new cMenuEditBoolItem( tr("Use duration"), &data.useDuration, trVDR("no"), trVDR("yes")));
- if (data.useDuration == true)
- {
- Add(new cMenuEditTimeItem(tr(" Min. duration"), &data.minDuration));
- Add(new cMenuEditTimeItem(tr(" Max. duration"), &data.maxDuration));
+ Add(new cMenuEditBoolItem(tr("Use duration"), &data.useDuration, trVDR("no"), trVDR("yes")));
+ if (data.useDuration == true) {
+ Add(new cMenuEditTimeItem(tr(" Min. duration"), &data.minDuration));
+ Add(new cMenuEditTimeItem(tr(" Max. duration"), &data.maxDuration));
}
- Add(new cMenuEditBoolItem( tr("Use day of week"), &data.useDayOfWeek, trVDR("no"), trVDR("yes")));
- if (data.useDayOfWeek)
- {
- if (data.DayOfWeek < 0)
- {
- UserDefDayOfWeek = data.DayOfWeek;
- data.DayOfWeek = 7;
- }
- Add(new cMenuEditStraItem(IndentMenuItem(tr("Day of week")), &data.DayOfWeek, 8, DaysOfWeek));
+ Add(new cMenuEditBoolItem(tr("Use day of week"), &data.useDayOfWeek, trVDR("no"), trVDR("yes")));
+ if (data.useDayOfWeek) {
+ if (data.DayOfWeek < 0) {
+ UserDefDayOfWeek = data.DayOfWeek;
+ data.DayOfWeek = 7;
+ }
+ Add(new cMenuEditStraItem(IndentMenuItem(tr("Day of week")), &data.DayOfWeek, 8, DaysOfWeek));
}
- Add(new cMenuEditBoolItem( tr("Use global"), &data.isGlobal, trVDR("no"), trVDR("yes")));
+ Add(new cMenuEditBoolItem(tr("Use global"), &data.isGlobal, trVDR("no"), trVDR("yes")));
SetCurrent(Get(current));
}
@@ -224,21 +203,21 @@ void cMenuBlacklistEdit::Set()
cMenuBlacklistEdit::~cMenuBlacklistEdit()
{
if (blacklist && addIfConfirmed)
- delete blacklist; // apparently it wasn't confirmed
+ delete blacklist; // apparently it wasn't confirmed
if (menuitemsChGr)
- free(menuitemsChGr);
+ free(menuitemsChGr);
if (channelGroupName)
- free(channelGroupName);
+ free(channelGroupName);
if (catvaluesNumeric)
- free(catvaluesNumeric);
+ free(catvaluesNumeric);
int i;
- for(i=0; i<=4; i++)
- free(SearchModes[i]);
- for(i=0; i<=7; i++)
- free(DaysOfWeek[i]);
- for(i=0; i<=2; i++)
- free(UseChannelSel[i]);
+ for (i = 0; i <= 4; i++)
+ free(SearchModes[i]);
+ for (i = 0; i <= 7; i++)
+ free(DaysOfWeek[i]);
+ for (i = 0; i <= 2; i++)
+ free(UseChannelSel[i]);
}
eOSState cMenuBlacklistEdit::ProcessKey(eKeys Key)
@@ -255,25 +234,22 @@ eOSState cMenuBlacklistEdit::ProcessKey(eKeys Key)
eOSState state = cOsdMenu::ProcessKey(Key);
if (iTemp_mode != data.mode ||
- iTemp_useTime != data.useTime ||
- iTemp_useChannel != data.useChannel ||
- iTemp_useDuration != data.useDuration ||
- iTemp_useDayOfWeek != data.useDayOfWeek ||
- iTemp_useExtEPGInfo != data.useExtEPGInfo)
- {
- Set();
- Display();
+ iTemp_useTime != data.useTime ||
+ iTemp_useChannel != data.useChannel ||
+ iTemp_useDuration != data.useDuration ||
+ iTemp_useDayOfWeek != data.useDayOfWeek ||
+ iTemp_useExtEPGInfo != data.useExtEPGInfo) {
+ Set();
+ Display();
}
const char* ItemText = Get(Current())->Text();
- if (!HasSubMenu())
- {
- if (strlen(ItemText)>0 && strstr(ItemText, tr(" from channel")) == ItemText && ((Key >= k0 && Key <= k9) || Key == kLeft || Key == kRight))
- {
- channelMax = channelMin;
- Set();
- Display();
- }
+ if (!HasSubMenu()) {
+ if (strlen(ItemText) > 0 && strstr(ItemText, tr(" from channel")) == ItemText && ((Key >= k0 && Key <= k9) || Key == kLeft || Key == kRight)) {
+ channelMax = channelMin;
+ Set();
+ Display();
+ }
}
int iOnUserDefDayItem = 0;
@@ -284,180 +260,152 @@ eOSState cMenuBlacklistEdit::ProcessKey(eKeys Key)
int iCatIndex = -1;
char* catname = NULL;
- if (!HasSubMenu() && strlen(ItemText)>0)
- {
- // check, if on an item of ext. EPG info
- int iOnExtCatItem = 0;
- cSearchExtCat *SearchExtCat = SearchExtCats.First();
- int index = 0;
- while (SearchExtCat)
- {
- if (strstr(ItemText, IndentMenuItem(SearchExtCat->menuname)) == ItemText)
- {
- iOnExtCatItem = 1;
- if (SearchExtCat->nvalues > 0)
- iOnExtCatItemBrowsable = 1;
- iCatIndex = index;
- catname = SearchExtCat->menuname;
- break;
- }
- index++;
- SearchExtCat = SearchExtCats.Next(SearchExtCat);
- }
-
- if (strstr(ItemText, tr("Search term")) == ItemText)
- {
- if (!InEditMode(ItemText, tr("Search term"), data.search)) // show template for a new search
- {
- SetHelp(NULL, NULL, NULL, tr("Button$Templates"));
- iOnTerm = 1;
- }
- }
- if (strstr(ItemText, IndentMenuItem(tr("Day of week"))) == ItemText)
- {
- if (data.DayOfWeek == 7)
- {
- SetHelp(trVDR("Button$Edit"));
- iOnUserDefDayItem = 1;
- }
- else
- SetHelp(NULL);
- }
- else if (strstr(ItemText, tr("Use channel")) == ItemText && data.useChannel == 2)
- {
- SetHelp(NULL, NULL, NULL, tr("Button$Setup"));
- iOnUseChannelGroups = 1;
- }
- else if (strstr(ItemText, IndentMenuItem(tr("Channel group"))) == ItemText)
- {
- SetHelp(NULL, NULL, NULL, tr("Button$Setup"));
- iOnChannelGroup = 1;
- }
- else if (iOnExtCatItem)
- {
- if (!InEditMode(ItemText, IndentMenuItem(catname), data.catvalues[iCatIndex]) ||
- SearchExtCats.Get(iCatIndex)->searchmode >= 10)
- SetHelp(NULL, NULL, NULL, iOnExtCatItemBrowsable?tr("Button$Select"):NULL);
- }
- else if (strstr(ItemText, tr("Search term")) != ItemText)
- SetHelp(NULL, NULL, NULL, NULL);
+ if (!HasSubMenu() && strlen(ItemText) > 0) {
+ // check, if on an item of ext. EPG info
+ int iOnExtCatItem = 0;
+ cSearchExtCat *SearchExtCat = SearchExtCats.First();
+ int index = 0;
+ while (SearchExtCat) {
+ if (strstr(ItemText, IndentMenuItem(SearchExtCat->menuname)) == ItemText) {
+ iOnExtCatItem = 1;
+ if (SearchExtCat->nvalues > 0)
+ iOnExtCatItemBrowsable = 1;
+ iCatIndex = index;
+ catname = SearchExtCat->menuname;
+ break;
+ }
+ index++;
+ SearchExtCat = SearchExtCats.Next(SearchExtCat);
+ }
+
+ if (strstr(ItemText, tr("Search term")) == ItemText) {
+ if (!InEditMode(ItemText, tr("Search term"), data.search)) { // show template for a new search
+ SetHelp(NULL, NULL, NULL, tr("Button$Templates"));
+ iOnTerm = 1;
+ }
+ }
+ if (strstr(ItemText, IndentMenuItem(tr("Day of week"))) == ItemText) {
+ if (data.DayOfWeek == 7) {
+ SetHelp(trVDR("Button$Edit"));
+ iOnUserDefDayItem = 1;
+ } else
+ SetHelp(NULL);
+ } else if (strstr(ItemText, tr("Use channel")) == ItemText && data.useChannel == 2) {
+ SetHelp(NULL, NULL, NULL, tr("Button$Setup"));
+ iOnUseChannelGroups = 1;
+ } else if (strstr(ItemText, IndentMenuItem(tr("Channel group"))) == ItemText) {
+ SetHelp(NULL, NULL, NULL, tr("Button$Setup"));
+ iOnChannelGroup = 1;
+ } else if (iOnExtCatItem) {
+ if (!InEditMode(ItemText, IndentMenuItem(catname), data.catvalues[iCatIndex]) ||
+ SearchExtCats.Get(iCatIndex)->searchmode >= 10)
+ SetHelp(NULL, NULL, NULL, iOnExtCatItemBrowsable ? tr("Button$Select") : NULL);
+ } else if (strstr(ItemText, tr("Search term")) != ItemText)
+ SetHelp(NULL, NULL, NULL, NULL);
}
if (state == osUnknown) {
- if (HasSubMenu())
- return osContinue;
- switch (Key) {
- case kOk:
- if (data.useChannel==1)
- {
- LOCK_CHANNELS_READ;
- const cChannel *ch = Channels->GetByNumber(channelMin);
- if (ch)
- data.channelMin = ch;
- else
- {
- ERROR(tr("*** Invalid Channel ***"));
- break;
- }
- ch = Channels->GetByNumber(channelMax);
- if (ch)
- data.channelMax = ch;
- else
- {
- ERROR(tr("*** Invalid Channel ***"));
- break;
- }
- if (channelMin > channelMax)
- {
- ERROR(tr("Please check channel criteria!"));
- return osContinue;
- }
- }
- if (data.useChannel==2)
- data.channelGroup = strdup(menuitemsChGr[channelGroupNr]);
-
- if (blacklist)
- {
- *blacklist = data;
- if (data.DayOfWeek == 7)
- blacklist->DayOfWeek = UserDefDayOfWeek;
-
- // transfer numeric cat values back to search
- cSearchExtCat *SearchExtCat = SearchExtCats.First();
- int index = 0;
- while (SearchExtCat)
- {
- if (SearchExtCat->searchmode >= 10)
- {
- if (blacklist->catvalues[index]) free(blacklist->catvalues[index]);
- msprintf(&blacklist->catvalues[index], "%d", catvaluesNumeric[index]);
- }
- SearchExtCat = SearchExtCats.Next(SearchExtCat);
- index++;
- }
-
- if (addIfConfirmed)
- {
- cMutexLock BlacklistLock(&Blacklists);
- blacklist->ID = Blacklists.GetNewID();
- Blacklists.Add(blacklist);
- }
-
- Blacklists.Save();
- addIfConfirmed = false;
- }
- return osBack;
- case kRed:
- if (iOnUserDefDayItem)
- state = AddSubMenu(new cMenuEditDaysOfWeek(&UserDefDayOfWeek));
- break;
-
- case kBlue:
- if (iOnUseChannelGroups || iOnChannelGroup)
- {
- if (channelGroupName)
- free(channelGroupName);
- channelGroupName = strdup(menuitemsChGr[channelGroupNr]);
- state = AddSubMenu(new cMenuChannelGroups(&channelGroupName));
- }
- if (iOnTerm)
- state = AddSubMenu(new cMenuEPGSearchTemplate(NULL, &data, addIfConfirmed));
- if (iOnExtCatItemBrowsable)
- state = AddSubMenu(new cMenuCatValuesSelect(data.catvalues[iCatIndex], iCatIndex, SearchExtCats.Get(iCatIndex)->searchmode));
- break;
- case kGreen:
- case kYellow: state = osContinue;
- default: break;
- }
+ if (HasSubMenu())
+ return osContinue;
+ switch (Key) {
+ case kOk:
+ if (data.useChannel == 1) {
+ LOCK_CHANNELS_READ;
+ const cChannel *ch = Channels->GetByNumber(channelMin);
+ if (ch)
+ data.channelMin = ch;
+ else {
+ ERROR(tr("*** Invalid Channel ***"));
+ break;
+ }
+ ch = Channels->GetByNumber(channelMax);
+ if (ch)
+ data.channelMax = ch;
+ else {
+ ERROR(tr("*** Invalid Channel ***"));
+ break;
+ }
+ if (channelMin > channelMax) {
+ ERROR(tr("Please check channel criteria!"));
+ return osContinue;
+ }
+ }
+ if (data.useChannel == 2)
+ data.channelGroup = strdup(menuitemsChGr[channelGroupNr]);
+
+ if (blacklist) {
+ *blacklist = data;
+ if (data.DayOfWeek == 7)
+ blacklist->DayOfWeek = UserDefDayOfWeek;
+
+ // transfer numeric cat values back to search
+ cSearchExtCat *SearchExtCat = SearchExtCats.First();
+ int index = 0;
+ while (SearchExtCat) {
+ if (SearchExtCat->searchmode >= 10) {
+ if (blacklist->catvalues[index]) free(blacklist->catvalues[index]);
+ msprintf(&blacklist->catvalues[index], "%d", catvaluesNumeric[index]);
+ }
+ SearchExtCat = SearchExtCats.Next(SearchExtCat);
+ index++;
+ }
+
+ if (addIfConfirmed) {
+ cMutexLock BlacklistLock(&Blacklists);
+ blacklist->ID = Blacklists.GetNewID();
+ Blacklists.Add(blacklist);
+ }
+
+ Blacklists.Save();
+ addIfConfirmed = false;
+ }
+ return osBack;
+ case kRed:
+ if (iOnUserDefDayItem)
+ state = AddSubMenu(new cMenuEditDaysOfWeek(&UserDefDayOfWeek));
+ break;
+
+ case kBlue:
+ if (iOnUseChannelGroups || iOnChannelGroup) {
+ if (channelGroupName)
+ free(channelGroupName);
+ channelGroupName = strdup(menuitemsChGr[channelGroupNr]);
+ state = AddSubMenu(new cMenuChannelGroups(&channelGroupName));
+ }
+ if (iOnTerm)
+ state = AddSubMenu(new cMenuEPGSearchTemplate(NULL, &data, addIfConfirmed));
+ if (iOnExtCatItemBrowsable)
+ state = AddSubMenu(new cMenuCatValuesSelect(data.catvalues[iCatIndex], iCatIndex, SearchExtCats.Get(iCatIndex)->searchmode));
+ break;
+ case kGreen:
+ case kYellow:
+ state = osContinue;
+ default:
+ break;
+ }
}
- if ((iOnUseChannelGroups || iOnChannelGroup || iOnTerm || iOnExtCatItemBrowsable) && bHadSubMenu && !HasSubMenu()) // return form submenu
- {
- if (iOnTerm)
- {
- if (data.DayOfWeek < 0)
- {
- UserDefDayOfWeek = data.DayOfWeek;
- data.DayOfWeek = 7;
- }
- if (data.useChannel == 2)
- {
- channelGroupNr = ChannelGroups.GetIndex(data.channelGroup);
- channelGroupName = strdup(data.channelGroup);
- }
- }
- if (iOnExtCatItemBrowsable && SearchExtCats.Count() > 0)
- {
- cSearchExtCat *SearchExtCat = SearchExtCats.First();
- int index = 0;
- while (SearchExtCat)
- {
- if (SearchExtCat->searchmode >= 10)
- catvaluesNumeric[index] = atoi(data.catvalues[index]);
- SearchExtCat = SearchExtCats.Next(SearchExtCat);
- index++;
- }
- }
- Set();
- Display();
+ if ((iOnUseChannelGroups || iOnChannelGroup || iOnTerm || iOnExtCatItemBrowsable) && bHadSubMenu && !HasSubMenu()) { // return form submenu
+ if (iOnTerm) {
+ if (data.DayOfWeek < 0) {
+ UserDefDayOfWeek = data.DayOfWeek;
+ data.DayOfWeek = 7;
+ }
+ if (data.useChannel == 2) {
+ channelGroupNr = ChannelGroups.GetIndex(data.channelGroup);
+ channelGroupName = strdup(data.channelGroup);
+ }
+ }
+ if (iOnExtCatItemBrowsable && SearchExtCats.Count() > 0) {
+ cSearchExtCat *SearchExtCat = SearchExtCats.First();
+ int index = 0;
+ while (SearchExtCat) {
+ if (SearchExtCat->searchmode >= 10)
+ catvaluesNumeric[index] = atoi(data.catvalues[index]);
+ SearchExtCat = SearchExtCats.Next(SearchExtCat);
+ index++;
+ }
+ }
+ Set();
+ Display();
}
return state;
}