summaryrefslogtreecommitdiff
path: root/recmenumanager.c
diff options
context:
space:
mode:
Diffstat (limited to 'recmenumanager.c')
-rw-r--r--recmenumanager.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/recmenumanager.c b/recmenumanager.c
index 1fc672b..8f100fd 100644
--- a/recmenumanager.c
+++ b/recmenumanager.c
@@ -316,11 +316,13 @@ eOSState cRecMenuManager::StateMachine(eRecMenuState nextState) {
//caller: cRecMenuSearchTimerEdit, cRecMenuSearchTimerTemplatesCreate, cRecMenuSearchTimers, cRecMenuFavorites
//show results of currently choosen search timer
cTVGuideSearchTimer searchTimer;
- bool showRecIcon = false;
+ eRecMenuState recState = rmsDisabled;
if (cRecMenuSearchTimerEdit *menu = dynamic_cast<cRecMenuSearchTimerEdit*>(activeMenu)) {
searchTimer = menu->GetSearchTimer();
+ recState = rmsSearchTimerRecord;
} else if (cRecMenuSearchTimers *menu = dynamic_cast<cRecMenuSearchTimers*>(activeMenu)) {
searchTimer = menu->GetSearchTimer();
+ recState = rmsSearchTimerRecord;
} else if (cRecMenuSearchTimerTemplatesCreate *menu = dynamic_cast<cRecMenuSearchTimerTemplatesCreate*>(activeMenu)) {
searchTimer = menu->GetSearchTimer();
TVGuideEPGSearchTemplate tmpl = menu->GetTemplate();
@@ -328,7 +330,7 @@ eOSState cRecMenuManager::StateMachine(eRecMenuState nextState) {
searchTimer.Parse(true);
} else if (cRecMenuFavorites *menu = dynamic_cast<cRecMenuFavorites*>(activeMenu)) {
searchTimer = menu->GetFavorite();
- showRecIcon = true;
+ recState = rmsFavoritesRecord;
} else break;
int numSearchResults = 0;
std::string searchString = searchTimer.BuildSearchString();
@@ -336,7 +338,7 @@ eOSState cRecMenuManager::StateMachine(eRecMenuState nextState) {
if (numSearchResults) {
activeMenuBuffer = activeMenu;
activeMenuBuffer->Hide();
- activeMenu = new cRecMenuSearchTimerResults(searchTimer.SearchString(), searchResult, numSearchResults, "", showRecIcon?rmsFavoritesRecord:rmsDisabled);
+ activeMenu = new cRecMenuSearchTimerResults(searchTimer.SearchString(), searchResult, numSearchResults, "", recState);
activeMenu->Display();
} else {
activeMenuBuffer = activeMenu;
@@ -408,6 +410,20 @@ eOSState cRecMenuManager::StateMachine(eRecMenuState nextState) {
activeMenuBuffer = NULL;
DisplaySearchTimerList();
break; }
+ case rmsSearchTimerRecord: {
+ //caller: cRecMenuSearchTimerResults
+ const cEvent *ev = NULL;
+ if (cRecMenuSearchTimerResults *menu = dynamic_cast<cRecMenuSearchTimerResults*>(activeMenu)) {
+ ev = menu->GetEvent();
+ } else break;
+ if (!ev)
+ break;
+ recManager->createTimer(ev, "");
+ activeMenuBuffer2 = activeMenu;
+ activeMenuBuffer2->Hide();
+ activeMenu = new cRecMenuSearchConfirmTimer(ev, rmsFavoritesRecordConfirm);
+ activeMenu->Display();
+ break; }
/**********************************************************************************************
* SWITCH TIMER
***********************************************************************************************/