--- menuitem.c 2013-10-26 14:01:22.324425496 +0200 +++ menuitem.c 2013-10-26 13:50:14.288443681 +0200 @@ -1,4 +1,5 @@ #include "menuitem.h" +#include "services/hddarchive.h" #include #include #include @@ -1281,6 +1282,17 @@ } } +void cNopacityRecordingMenuItem::DrawRecordingArchiveIcon(void) { + int iconArchiveSize = height/3; + + cImage *imgIcon = imgCache->GetSkinIcon("skinIcons/archive", iconArchiveSize, iconArchiveSize); + if (imgIcon) { + int iconX = pixmapStatic->ViewPort().Width() - iconArchiveSize; + int iconY = height/2; + pixmapStatic->DrawImage(cPoint(iconX, iconY), *imgIcon); + } +} + void cNopacityRecordingMenuItem::DrawRecordingEditedIcon(void) { int iconCutSize = height/3; cImage *imgIcon = imgCache->GetSkinIcon("skinIcons/recordingcutted", iconCutSize, iconCutSize); @@ -1363,7 +1375,17 @@ } else { DrawPoster(); DrawRecDateTime(); - if (Recording->IsNew()) { + cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive"); + Hddarchive_archiveid_v1_0 data; + data.recording = Recording; + data.isarchive = false; + if (hddarchivePlugin) { + hddarchivePlugin->Service("Hddarchive-archiveid_v1.0", &data); + } + if (data.isarchive) { + DrawRecordingArchiveIcon(); + } + else if (Recording->IsNew()) { DrawRecordingNewIcon(); } if (Recording->IsEdited()) { --- menuitem.h 2013-10-26 14:01:22.324425496 +0200 +++ menuitem.h 2013-10-26 13:50:14.232443682 +0200 @@ -175,6 +175,7 @@ void SetTextShortRecording(void); void DrawBackground(void); void DrawRecordingNewIcon(void); + void DrawRecordingArchiveIcon(void); void DrawRecordingEditedIcon(void); void DrawFolderIcon(void); void DrawRecDateTime(void); --- services/hddarchive.h 1970-01-01 01:00:00.000000000 +0100 +++ services/hddarchive.h 2013-10-26 13:50:56.104442542 +0200 @@ -0,0 +1,6 @@ +struct Hddarchive_archiveid_v1_0 +{ + const cRecording *recording; + bool isarchive; + char *archiveid; +};