summaryrefslogtreecommitdiff
path: root/recmenuview.c
diff options
context:
space:
mode:
Diffstat (limited to 'recmenuview.c')
-rw-r--r--recmenuview.c80
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; }
/***************************************************************************************