summaryrefslogtreecommitdiff
path: root/mymenurecordings.c
diff options
context:
space:
mode:
authorMartin Prochnow <nordlicht@martins-kabuff.de>2006-03-11 19:58:00 +0100
committerAndreas Mair <andreas@vdr-developer.org>2006-03-11 19:58:00 +0100
commitbabfdd26f9d2fbe164205951413d74aa6d21ef23 (patch)
treeabdcb04fadc2894e23ac028aa76835ecb55d991e /mymenurecordings.c
parent93372f4ecc69a079c0e5c5af9169f39222983667 (diff)
downloadvdr-plugin-extrecmenu-babfdd26f9d2fbe164205951413d74aa6d21ef23.tar.gz
vdr-plugin-extrecmenu-babfdd26f9d2fbe164205951413d74aa6d21ef23.tar.bz2
Version 0.2v0.2
- implemented own dvbplayercontrol-class so that people who haved patch their vdr with the jumpplay-patch can compile the plugin - 'Info' while replaying opens recording info - option 'Info' added to recordings list to schow the description of a recording - details (date and time) of recordings are shown now
Diffstat (limited to 'mymenurecordings.c')
-rw-r--r--mymenurecordings.c42
1 files changed, 33 insertions, 9 deletions
diff --git a/mymenurecordings.c b/mymenurecordings.c
index e1bf15b..3c5f76f 100644
--- a/mymenurecordings.c
+++ b/mymenurecordings.c
@@ -1,8 +1,9 @@
-#include "extrecmenu.h"
+#include "mymenurecordings.h"
// --- myMenuRecordingsItem ---------------------------------------------------
myMenuRecordingsItem::myMenuRecordingsItem(cRecording *Recording,int Level)
{
+ char isnew=Recording->IsNew()?'*':' ';
name=NULL;
filename=Recording->FileName();
@@ -34,10 +35,17 @@ myMenuRecordingsItem::myMenuRecordingsItem(cRecording *Recording,int Level)
if(Level==level)
{
s=strrchr(Recording->Name(),'~');
- if(s)
- title=strdup(s+1);
- else
- title=strdup(Recording->Name());
+
+ struct tm tm_tmp;
+ localtime_r(&Recording->start,&tm_tmp);
+ asprintf(&title,"%02d.%02d.%02d\t%02d:%02d%c\t%s",
+ tm_tmp.tm_mday,
+ tm_tmp.tm_mon+1,
+ tm_tmp.tm_year%100,
+ tm_tmp.tm_hour,
+ tm_tmp.tm_min,
+ isnew,
+ s?s+1:Recording->Name());
}
else
if(Level>level)
@@ -55,13 +63,14 @@ myMenuRecordingsItem::~myMenuRecordingsItem()
}
// --- myMenuRecordings -------------------------------------------------------
-myMenuRecordings::myMenuRecordings(const char *Base,int Level):cOsdMenu(Base?Base:tr(DESCRIPTION))
+myMenuRecordings::myMenuRecordings(const char *Base,int Level):cOsdMenu(Base?Base:tr(DESCRIPTION),8,6)
{
edit=false;
level=Level;
helpkeys=-1;
base=Base?strdup(Base):NULL;
-
+
+ Display();
Set();
SetHelpKeys();
}
@@ -136,7 +145,7 @@ void myMenuRecordings::SetHelpKeys()
case 0: SetHelp(NULL);break;
case 1: SetHelp(tr("Button$Open"));break;
case 2:
- case 3: SetHelp(tr("Button$Play"),tr("Button$Rewind"),tr("Button$Edit"));break;
+ case 3: SetHelp(tr("Button$Play"),tr("Button$Rewind"),tr("Button$Edit"),tr("Button$Info"));break;
}
}
helpkeys=newhelpkeys;
@@ -294,6 +303,21 @@ eOSState myMenuRecordings::MoveRec()
return osContinue;
}
+eOSState myMenuRecordings::Info(void)
+{
+ if(HasSubMenu()||Count()==0)
+ return osContinue;
+
+ myMenuRecordingsItem *item=(myMenuRecordingsItem*)Get(Current());
+ if(item&&!item->IsDirectory())
+ {
+ cRecording *recording=GetRecording(item);
+ if(recording&&recording->Info()->Title())
+ return AddSubMenu(new myMenuRecordingInfo(recording,true));
+ }
+ return osContinue;
+}
+
eOSState myMenuRecordings::ProcessKey(eKeys Key)
{
eOSState state;
@@ -338,10 +362,10 @@ eOSState myMenuRecordings::ProcessKey(eKeys Key)
}
break;
}
+ case kBlue: return Info();
default: break;
}
}
-
// refresh the list after submenu has closed
if(hadsubmenu&&!HasSubMenu())
Set();