diff --git a/HISTORY b/HISTORY index eadfd0cb..93595946 100644 --- a/HISTORY +++ b/HISTORY @@ -8218,3 +8218,7 @@ Video Disk Recorder Revision History - Fixed adding new source types in case they are already registered (reported by Rolf Ahrenberg). - Removed an unnecessary assignment from cMenuRecordings::~cMenuRecordings(). +- The Recordings menu now remembers the last recording the cursor was positioned on, + independent of the last replayed recording. When a replay ends, however, the cursor + will initially be positioned to the last replayed recording again when the menu + is opened. diff --git a/menu.c b/menu.c index c0f11c67..7a9e16b6 100644 --- a/menu.c +++ b/menu.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: menu.c 3.21 2014/03/09 13:03:10 kls Exp $ + * $Id: menu.c 3.22 2014/03/09 15:01:31 kls Exp $ */ #include "menu.h" @@ -2597,6 +2597,10 @@ cMenuRecordings::cMenuRecordings(const char *Base, int Level, bool OpenSubMenus, cMenuRecordings::~cMenuRecordings() { + if (cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current())) { + if (!ri->IsDirectory()) + SetRecording(ri->Recording()->FileName()); + } free(base); } @@ -4961,6 +4965,7 @@ void cReplayControl::Stop(void) } } cDvbPlayerControl::Stop(); + cMenuRecordings::SetRecording(NULL); // make sure opening the Recordings menu navigates to the last replayed recording } void cReplayControl::SetRecording(const char *FileName)