From ec7d45f96004275b18254f6958823a18a0ec8951 Mon Sep 17 00:00:00 2001 From: kamel5 Date: Sat, 9 Nov 2019 12:05:47 +0100 Subject: [PATCH] Refactor cRecMenuRerunResults --- recmenus.c | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/recmenus.c b/recmenus.c index 4e20d03..c2f937a 100644 --- a/recmenus.c +++ b/recmenus.c @@ -321,28 +321,26 @@ cRecMenuNoTimerConflict::cRecMenuNoTimerConflict(void) { // OK } // --- cRecMenuRerunResults --------------------------------------------------------- -cRecMenuRerunResults::cRecMenuRerunResults(const cEvent *original, const cEvent **reruns, int numReruns) { +cRecMenuRerunResults::cRecMenuRerunResults(const cEvent *original, const cEvent **reruns, int numReruns) { // OK + SetWidthPercent(70); + this->reruns = reruns; this->numReruns = numReruns; - SetWidthPercent(70); - this->numReruns = numReruns; - cString message1 = tr("reruns for"); - cString message2 = tr("rerun for"); - cString message3 = tr("found"); - cString infoText = cString::sprintf("%d %s:\n\"%s\" %s", numReruns, (numReruns>1)?(*message1):(*message2), original->Title(), *message3); - cRecMenuItem *infoItem = new cRecMenuItemInfo(*infoText, true); - infoItem->CalculateHeight(width - 2 * border); - SetHeader(infoItem); - - cRecMenuItem *button = new cRecMenuItemButton(tr("Ignore reruns"), rmsTimerConflictIgnoreReruns, false); - SetFooter(button); - + + const cString line1 = cString::sprintf("%d %s:", numReruns, (numReruns > 1) ? tr("reruns for") : tr("rerun for")); + const cString line2 = cString::sprintf("\"%s\"", original->Title()); + const cString line3 = tr("found"); + + AddHeader(new cRecMenuItemInfo(*line1, 3, *line2, *line3, "", width - 2 * border, true)); + AddFooter(new cRecMenuItemButton(tr("Ignore reruns"), rmsTimerConflictIgnoreReruns, false)); + if (reruns && (numReruns > 0)) { - for (int i=0; i(GetActiveMenuItem()); - return activeItem->GetEventValue(); + if (cRecMenuItemEvent *activeItem = dynamic_cast(GetActiveMenuItem())) + return activeItem->GetEventValue(); + return NULL; } // --- cRecMenuNoRerunsFound ---------------------------------------------------------