summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recmenus.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/recmenus.c b/recmenus.c
index a4423be..f98f92e 100644
--- a/recmenus.c
+++ b/recmenus.c
@@ -170,23 +170,26 @@ cRecMenuConfirmDeleteTimer::cRecMenuConfirmDeleteTimer(const cEvent *event) { //
}
// --- cRecMenuAskDeleteTimer ---------------------------------------------------------
-cRecMenuAskDeleteTimer::cRecMenuAskDeleteTimer(const cEvent *event) {
+cRecMenuAskDeleteTimer::cRecMenuAskDeleteTimer(const cEvent *event) { // OK
SetWidthPercent(50);
+
+ const cChannels *channels = NULL;
#if VDRVERSNUM >= 20301
+ {
LOCK_CHANNELS_READ;
- const cString channelName = Channels->GetByChannelID(event->ChannelID())->Name();
+ channels = Channels;
+ }
#else
- const cString channelName = Channels.GetByChannelID(event->ChannelID())->Name();
+ channels = &Channels;
#endif
- cString text = cString::sprintf("%s \"%s, %s\" %s",
- tr("Timer"),
- *channelName,
- event->Title(),
- tr("still recording - really delete?"));
- cRecMenuItemInfo *infoItem = new cRecMenuItemInfo(*text);
- infoItem->CalculateHeight(width - 4 * border);
- AddMenuItem(infoItem);
- AddMenuItem(new cRecMenuItemButtonYesNo(tr("Yes"), tr("No"), rmsDeleteTimerConfirmation, rmsClose, true));
+ const cString channelName = channels->GetByChannelID(event->ChannelID())->Name();
+ const cString line1 = tr("Timer");
+ const cString line3 = (event && event->Title()) ? cString::sprintf("\"%s\"", event->Title()) : "";
+ const cString line4 = tr("still recording - really delete?");
+
+ AddHeader(new cRecMenuItemInfo(*line1, 4, *channelName, *line3, *line4, width - 2 * border));
+ AddFooter(new cRecMenuItemButtonYesNo(tr("Yes"), tr("No"), rmsDeleteTimerConfirmation, rmsClose, true));
+
CalculateHeight();
CreatePixmap();
Arrange();