summaryrefslogtreecommitdiff
path: root/menu_favorites.c
diff options
context:
space:
mode:
Diffstat (limited to 'menu_favorites.c')
-rw-r--r--menu_favorites.c245
1 files changed, 116 insertions, 129 deletions
diff --git a/menu_favorites.c b/menu_favorites.c
index a4115c9..4cb42b5 100644
--- a/menu_favorites.c
+++ b/menu_favorites.c
@@ -32,181 +32,168 @@ extern const char* ButtonBlue[3];
extern int exitToMainMenu;
cMenuFavorites::cMenuFavorites()
- : cMenuSearchResults(cTemplFile::GetTemplateByName("MenuFavorites"))
+ : cMenuSearchResults(cTemplFile::GetTemplateByName("MenuFavorites"))
{
- BuildList();
+ BuildList();
}
#ifdef USE_GRAPHTFT
const char* cMenuFavorites::MenuKind()
{
- return "MenuEpgsFavorites";
+ return "MenuEpgsFavorites";
}
void cMenuFavorites::Display(void)
{
- cOsdMenu::Display();
+ cOsdMenu::Display();
- if (Count() > 0)
- {
- int i = 0;
+ if (Count() > 0) {
+ int i = 0;
- for (cOsdItem *item = First(); item; item = Next(item))
- cStatus::MsgOsdEventItem(!item->Selectable() ? 0 :
- ((cMenuSearchResultsItem*)item)->event,
- item->Text(), i++, Count());
- }
+ for (cOsdItem *item = First(); item; item = Next(item))
+ cStatus::MsgOsdEventItem(!item->Selectable() ? 0 :
+ ((cMenuSearchResultsItem*)item)->event,
+ item->Text(), i++, Count());
+ }
}
#endif /* GRAPHTFT */
bool cMenuFavorites::BuildList()
{
- Clear();
- eventObjects.Clear();
-
- cSearchResults* pCompleteSearchResults = NULL;
- cMutexLock SearchExtsLock(&SearchExts);
- cSearchExt *SearchExt = SearchExts.First();
- int timespan = EPGSearchConfig.FavoritesMenuTimespan*60;
-
- while (SearchExt)
- {
- if (SearchExt->useInFavorites)
- pCompleteSearchResults = SearchExt->Run(modeBlue == showNoPayTV?1:0, false, timespan, pCompleteSearchResults, true);
- SearchExt = SearchExts.Next(SearchExt);
- }
-
- if (pCompleteSearchResults)
- {
- set<const cEvent*> foundEvents;
- pCompleteSearchResults->SortBy(CompareEventTime);
-
- for (cSearchResult* pResultObj = pCompleteSearchResults->First();
- pResultObj;
- pResultObj = pCompleteSearchResults->Next(pResultObj))
- {
- if (foundEvents.find(pResultObj->event) == foundEvents.end())
- {
- foundEvents.insert(pResultObj->event);
- Add(new cMenuSearchResultsItem(pResultObj->event, modeYellow == showEpisode, false, menuTemplate));
- eventObjects.Add(pResultObj->event);
+ Clear();
+ eventObjects.Clear();
+
+ cSearchResults* pCompleteSearchResults = NULL;
+ cMutexLock SearchExtsLock(&SearchExts);
+ cSearchExt *SearchExt = SearchExts.First();
+ int timespan = EPGSearchConfig.FavoritesMenuTimespan * 60;
+
+ while (SearchExt) {
+ if (SearchExt->useInFavorites)
+ pCompleteSearchResults = SearchExt->Run(modeBlue == showNoPayTV ? 1 : 0, false, timespan, pCompleteSearchResults, true);
+ SearchExt = SearchExts.Next(SearchExt);
+ }
+
+ if (pCompleteSearchResults) {
+ set<const cEvent*> foundEvents;
+ pCompleteSearchResults->SortBy(CompareEventTime);
+
+ for (cSearchResult* pResultObj = pCompleteSearchResults->First();
+ pResultObj;
+ pResultObj = pCompleteSearchResults->Next(pResultObj)) {
+ if (foundEvents.find(pResultObj->event) == foundEvents.end()) {
+ foundEvents.insert(pResultObj->event);
+ Add(new cMenuSearchResultsItem(pResultObj->event, modeYellow == showEpisode, false, menuTemplate));
+ eventObjects.Add(pResultObj->event);
+ }
}
- }
- delete pCompleteSearchResults;
- }
- SetHelpKeys();
- cString szTitle = cString::sprintf("%s: %d %s", tr("Favorites"), Count(), tr("Search results"));
- SetTitle(szTitle);
- Display();
-
- return true;
+ delete pCompleteSearchResults;
+ }
+ SetHelpKeys();
+ cString szTitle = cString::sprintf("%s: %d %s", tr("Favorites"), Count(), tr("Search results"));
+ SetTitle(szTitle);
+ Display();
+
+ return true;
}
eOSState cMenuFavorites::OnGreen()
{
- eOSState state = osUnknown;
- if(!HasSubMenu())
- {
- toggleKeys = 0;
- cMenuWhatsOnSearch::currentShowMode = cMenuWhatsOnSearch::GetNextMode();
- return osUnknown;
- }
- return state;
+ eOSState state = osUnknown;
+ if (!HasSubMenu()) {
+ toggleKeys = 0;
+ cMenuWhatsOnSearch::currentShowMode = cMenuWhatsOnSearch::GetNextMode();
+ return osUnknown;
+ }
+ return state;
}
eOSState cMenuFavorites::OnYellow()
{
- eOSState state = osUnknown;
- if(!HasSubMenu())
- {
- cMenuSearchResultsItem *item = (cMenuSearchResultsItem *)Get(Current());
- if (item && item->event)
- {
- LOCK_CHANNELS_READ;
- const cChannel *channel = Channels->GetByChannelID(item->event->ChannelID(), true, true);
- cMenuWhatsOnSearch::scheduleChannel = channel;
- cMenuWhatsOnSearch::currentShowMode = showNow;
- }
- toggleKeys = 0;
- return osBack;
- }
- return state;
+ eOSState state = osUnknown;
+ if (!HasSubMenu()) {
+ cMenuSearchResultsItem *item = (cMenuSearchResultsItem *)Get(Current());
+ if (item && item->event) {
+ LOCK_CHANNELS_READ;
+ const cChannel *channel = Channels->GetByChannelID(item->event->ChannelID(), true, true);
+ cMenuWhatsOnSearch::scheduleChannel = channel;
+ cMenuWhatsOnSearch::currentShowMode = showNow;
+ }
+ toggleKeys = 0;
+ return osBack;
+ }
+ return state;
}
eOSState cMenuFavorites::ProcessKey(eKeys Key)
{
- exitToMainMenu = 0;
- if (!HasSubMenu() && Key == kBack)
- {
- exitToMainMenu = 1;
- return osBack;
- }
-
- eOSState state = cMenuSearchResults::ProcessKey(Key);
- if (state == osUnknown)
- {
- switch (Key) {
- case kRecord:
- case kRed:
+ exitToMainMenu = 0;
+ if (!HasSubMenu() && Key == kBack) {
+ exitToMainMenu = 1;
+ return osBack;
+ }
+
+ eOSState state = cMenuSearchResults::ProcessKey(Key);
+ if (state == osUnknown) {
+ switch (Key) {
+ case kRecord:
+ case kRed:
state = OnRed();
break;
- case k0:
- if(!HasSubMenu())
- {
- toggleKeys = 1 - toggleKeys;
- SetHelpKeys(true);
+ case k0:
+ if (!HasSubMenu()) {
+ toggleKeys = 1 - toggleKeys;
+ SetHelpKeys(true);
}
state = osContinue;
break;
- case k1...k9:
- state = HasSubMenu()?osContinue:Commands(Key);
+ case k1...k9:
+ state = HasSubMenu() ? osContinue : Commands(Key);
break;
- case kBlue:
- return EPGSearchConfig.useOkForSwitch?ShowSummary():Switch();
+ case kBlue:
+ return EPGSearchConfig.useOkForSwitch ? ShowSummary() : Switch();
break;
- case kOk:
- if(HasSubMenu())
- {
- state = cOsdMenu::ProcessKey(Key);
- break;
+ case kOk:
+ if (HasSubMenu()) {
+ state = cOsdMenu::ProcessKey(Key);
+ break;
}
if (Count())
- state = EPGSearchConfig.useOkForSwitch?Switch():ShowSummary();
+ state = EPGSearchConfig.useOkForSwitch ? Switch() : ShowSummary();
else
- state = osBack;
+ state = osBack;
break;
- default:
+ default:
break;
- }
- }
- return state;
+ }
+ }
+ return state;
}
void cMenuFavorites::SetHelpKeys(bool Force)
{
- cMenuSearchResultsItem *item = (cMenuSearchResultsItem *)Get(Current());
- int NewHelpKeys = 0;
- if (item) {
- if (item->Selectable() && item->timerMatch == tmFull)
- NewHelpKeys = 2;
- else
- NewHelpKeys = 1;
- }
-
- bool hasTimer = (NewHelpKeys == 2);
- if (NewHelpKeys != helpKeys || Force)
- {
- showMode nextShowMode = cMenuWhatsOnSearch::GetNextMode();
- cShowMode* mode = cMenuWhatsOnSearch::GetShowMode(nextShowMode);
- const char* szButtonGreen = NULL;
- if (mode)
- szButtonGreen = mode->GetDescription();
-
- if (toggleKeys==0)
- SetHelp((EPGSearchConfig.redkeymode==0?(hasTimer?trVDR("Button$Timer"):trVDR("Button$Record")):tr("Button$Commands")), szButtonGreen,trVDR("Button$Schedule"), EPGSearchConfig.useOkForSwitch?trVDR("Button$Info"):trVDR("Button$Switch"));
- else
- SetHelp((EPGSearchConfig.redkeymode==1?(hasTimer?trVDR("Button$Timer"):trVDR("Button$Record")):tr("Button$Commands")), szButtonGreen,trVDR("Button$Schedule"), EPGSearchConfig.useOkForSwitch?trVDR("Button$Info"):trVDR("Button$Switch"));
- helpKeys = NewHelpKeys;
+ cMenuSearchResultsItem *item = (cMenuSearchResultsItem *)Get(Current());
+ int NewHelpKeys = 0;
+ if (item) {
+ if (item->Selectable() && item->timerMatch == tmFull)
+ NewHelpKeys = 2;
+ else
+ NewHelpKeys = 1;
+ }
+
+ bool hasTimer = (NewHelpKeys == 2);
+ if (NewHelpKeys != helpKeys || Force) {
+ showMode nextShowMode = cMenuWhatsOnSearch::GetNextMode();
+ cShowMode* mode = cMenuWhatsOnSearch::GetShowMode(nextShowMode);
+ const char* szButtonGreen = NULL;
+ if (mode)
+ szButtonGreen = mode->GetDescription();
+
+ if (toggleKeys == 0)
+ SetHelp((EPGSearchConfig.redkeymode == 0 ? (hasTimer ? trVDR("Button$Timer") : trVDR("Button$Record")) : tr("Button$Commands")), szButtonGreen, trVDR("Button$Schedule"), EPGSearchConfig.useOkForSwitch ? trVDR("Button$Info") : trVDR("Button$Switch"));
+ else
+ SetHelp((EPGSearchConfig.redkeymode == 1 ? (hasTimer ? trVDR("Button$Timer") : trVDR("Button$Record")) : tr("Button$Commands")), szButtonGreen, trVDR("Button$Schedule"), EPGSearchConfig.useOkForSwitch ? trVDR("Button$Info") : trVDR("Button$Switch"));
+ helpKeys = NewHelpKeys;
}
}