diff options
Diffstat (limited to 'recmenuview.c')
-rw-r--r-- | recmenuview.c | 80 |
1 files changed, 59 insertions, 21 deletions
diff --git a/recmenuview.c b/recmenuview.c index 22f1961..420c5a6 100644 --- a/recmenuview.c +++ b/recmenuview.c @@ -121,6 +121,7 @@ bool cRecMenuView::DisplayTimerConflict(int timerID) { cTVGuideTimerConflict *conflict = timerConflicts->GetCurrentConflict(); if (!conflict) return false; +// delete activeMenu; activeMenu = new cRecMenuTimerConflict(conflict, rmsIgnoreTimerConflict); activeMenu->Display(); return true; @@ -163,11 +164,16 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { if (cRecMenuAskFolder *menu = dynamic_cast<cRecMenuAskFolder*>(activeMenu)) { recFolder = menu->GetFolder(); } - delete activeMenu; cTimer *timer = recManager->createTimer(event, recFolder); if (!DisplayTimerConflict(timer)) { - activeMenu = new cRecMenuConfirmTimer(event); - activeMenu->Display(); + if (config.timerMessage) { + delete activeMenu; + activeMenu = new cRecMenuConfirmTimer(event); + activeMenu->Display(); + } else { + Close(); + state = osEnd; + } } break; } case rmsInstantRecordFolder: @@ -181,28 +187,45 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { //caller: main menu //De/Activate timer for active event recManager->OnOffTimer(event); - delete activeMenu; - activeMenu = new cRecMenuConfirmTimer(event, true); - activeMenu->Display(); + if (config.timerMessage) { + delete activeMenu; + activeMenu = new cRecMenuConfirmTimer(event, true); + activeMenu->Display(); + } else { + Close(); + state = osEnd; + } break; } case rmsDeleteTimer: { //caller: main menu //delete timer for active event - delete activeMenu; if (recManager->IsRecorded(event)) { + delete activeMenu; activeMenu = new cRecMenuAskDeleteTimer(event); + activeMenu->Display(); } else { recManager->DeleteTimer(event); - activeMenu = new cRecMenuConfirmDeleteTimer(event); + if (config.timerMessage) { + delete activeMenu; + activeMenu = new cRecMenuConfirmDeleteTimer(event); + activeMenu->Display(); + } else { + Close(); + state = osEnd; + } } - activeMenu->Display(); break; } case rmsDeleteTimerConfirmation: { //delete running timer for active event recManager->DeleteTimer(event); - delete activeMenu; - activeMenu = new cRecMenuConfirmDeleteTimer(event); - activeMenu->Display(); + if (config.timerMessage) { + delete activeMenu; + activeMenu = new cRecMenuConfirmDeleteTimer(event); + activeMenu->Display(); + } else { + Close(); + state = osEnd; + } break; } case rmsEditTimer: { //edit timer for active event @@ -229,9 +252,14 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { case rmsIgnoreTimerConflict: //caller: cRecMenuTimerConflict //Confirming created Timer - delete activeMenu; - activeMenu = new cRecMenuConfirmTimer(event); - activeMenu->Display(); + if (config.timerMessage) { + delete activeMenu; + activeMenu = new cRecMenuConfirmTimer(event); + activeMenu->Display(); + } else { + Close(); + state = osEnd; + } break; case rmsTimerConflictShowInfo: { //caller: cRecMenuTimerConflict @@ -281,10 +309,15 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { event = timers->Get(timerID)->Event(); #endif recManager->DeleteTimer(event); - delete activeMenu; if (!DisplayTimerConflict(timerID)) { - activeMenu = new cRecMenuConfirmDeleteTimer(event); - activeMenu->Display(); + if (config.timerMessage) { + delete activeMenu; + activeMenu = new cRecMenuConfirmDeleteTimer(event); + activeMenu->Display(); + } else { + Close(); + state = osEnd; + } } break; } case rmsEditTimerConflictMenu: { @@ -323,10 +356,15 @@ eOSState cRecMenuView::StateMachine(eRecMenuState nextState) { originalTimer = menu->GetOriginalTimer(); } else break; recManager->SaveTimer(originalTimer, timerModified); - delete activeMenu; if (!DisplayTimerConflict(originalTimer)) { - activeMenu = new cRecMenuConfirmTimer(originalTimer->Event(), true); - activeMenu->Display(); + if (config.timerMessage) { + delete activeMenu; + activeMenu = new cRecMenuConfirmTimer(originalTimer->Event(), true); + activeMenu->Display(); + } else { + Close(); + state = osEnd; + } } break; } /*************************************************************************************** |