diff options
author | Thomas Maass <mase@mase1.setho.org> | 2013-10-21 17:55:03 +0200 |
---|---|---|
committer | Thomas Maass <mase@mase1.setho.org> | 2013-10-21 17:55:03 +0200 |
commit | 526f69027750591f7196e0c3bd311936dc2610c5 (patch) | |
tree | 5e61f9ad96bf37eb3b211f23bf8471c62a424b0f /patches | |
parent | e8d1ca5ff467ab26c94513ca671f7ea626d9a9c4 (diff) | |
download | vdr-plugin-hddarchive-526f69027750591f7196e0c3bd311936dc2610c5.tar.gz vdr-plugin-hddarchive-526f69027750591f7196e0c3bd311936dc2610c5.tar.bz2 |
Removed archive functions from cMyMenuRecordingItem.
They are now called, when a cRecording is used.
Removed support for VDR < 2.1.2.
Fixed Play service.
Fixed VDR patch.
Added Skinnopacity patch.
Diffstat (limited to 'patches')
-rw-r--r-- | patches/skinnopacity-hddarchive.patch | 74 | ||||
-rw-r--r-- | patches/vdr-2.1.1-hddarchive-0.0.1.patch | 71 | ||||
-rw-r--r-- | patches/vdr-hddarchive.patch (renamed from patches/vdr-2.0.3-hddarchive-0.0.1.patch) | 43 |
3 files changed, 108 insertions, 80 deletions
diff --git a/patches/skinnopacity-hddarchive.patch b/patches/skinnopacity-hddarchive.patch new file mode 100644 index 0000000..098ab49 --- /dev/null +++ b/patches/skinnopacity-hddarchive.patch @@ -0,0 +1,74 @@ +--- menuitem.c 2013-10-19 19:59:29.867915217 +0200 ++++ menuitem.c 2013-10-19 19:56:14.335920540 +0200 +@@ -1,4 +1,5 @@ + #include "menuitem.h" ++#include "services/hddarchive.h" + #include <string> + #include <sstream> + #include <algorithm> +@@ -1154,7 +1155,6 @@ + + void cNopacityRecordingMenuItem::DrawRecordingNewIcon(void) { + int iconNewSize = height/3; +- + cImage *imgIcon = imgCache->GetSkinIcon("skinIcons/newrecording", iconNewSize, iconNewSize); + if (imgIcon) { + int iconX = pixmapIcon->ViewPort().Width() - iconNewSize; +@@ -1175,6 +1175,16 @@ + } + } + ++void cNopacityRecordingMenuItem::DrawRecordingArchiveIcon(void) { ++ int iconArchiveSize = height/3; ++ cImage *imgIcon = imgCache->GetSkinIcon("skinIcons/archive", iconArchiveSize, iconArchiveSize); ++ if (imgIcon) { ++ int iconX = pixmapIcon->ViewPort().Width() - iconArchiveSize; ++ int iconY = height/2; ++ pixmapIcon->DrawImage(cPoint(iconX, iconY), *imgIcon); ++ } ++} ++ + void cNopacityRecordingMenuItem::DrawFolderIcon(void) { + cImage *imgIcon = imgCache->GetSkinIcon("skinIcons/recfolder", posterWidth, posterHeight); + if (imgIcon) { +@@ -1243,9 +1253,19 @@ + DrawFolderNewSeen(); + SetTextShort(); + } else { ++ 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); ++ } + DrawPoster(); + DrawRecDateTime(); +- if (Recording->IsNew()) { ++ if (data.isarchive) { ++ DrawRecordingArchiveIcon(); ++ } ++ else if (Recording->IsNew()) { + DrawRecordingNewIcon(); + } + if (Recording->IsEdited()) { +--- menuitem.h 2013-10-19 19:59:29.867915217 +0200 ++++ menuitem.h 2013-10-19 19:56:14.335920540 +0200 +@@ -173,6 +173,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-19 19:46:57.000000000 +0200 +@@ -0,0 +1,7 @@ ++struct Hddarchive_archiveid_v1_0 ++{ ++ const cRecording *recording; ++ bool isarchive; ++ char *archiveid; ++}; ++ diff --git a/patches/vdr-2.1.1-hddarchive-0.0.1.patch b/patches/vdr-2.1.1-hddarchive-0.0.1.patch deleted file mode 100644 index 0226094..0000000 --- a/patches/vdr-2.1.1-hddarchive-0.0.1.patch +++ /dev/null @@ -1,71 +0,0 @@ ---- vdr-2.1.1-orig/menu.c 2013-08-21 12:45:11.000000000 +0200 -+++ vdr-2.1.1/menu.c 2013-09-20 15:33:04.629102337 +0200 -@@ -51,6 +51,18 @@ - #define CHNUMWIDTH (numdigits(Channels.MaxNumber()) + 1) - #define CHNAMWIDTH (min(MAXCHNAMWIDTH, Channels.MaxShortChannelNameLength() + 1)) - -+struct Hddarchive_archiveid_v1_0 -+{ -+ const cRecording *recording; -+ bool isarchive; -+ const char *archiveid; -+}; -+ -+struct Hddarchive_play_v1_0 -+{ -+ cMenuRecordingItem *item; -+}; -+ - // --- cMenuEditCaItem ------------------------------------------------------- - - class cMenuEditCaItem : public cMenuEditIntItem { -@@ -2348,6 +2360,13 @@ - if (ri->IsDirectory()) - Open(); - else { -+ cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive"); -+ Hddarchive_play_v1_0 data; -+ data.item = ri; -+ if (hddarchivePlugin) { -+ hddarchivePlugin->Service("Hddarchive-play_v1.0", &data); -+ return osEnd; -+ } - cReplayControl::SetRecording(ri->Recording()->FileName()); - return osReplay; - } -@@ -2374,6 +2393,17 @@ - if (HasSubMenu() || Count() == 0) - return osContinue; - cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current()); -+ cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive"); -+ Hddarchive_archiveid_v1_0 data; -+ data.recording = ri->Recording(); -+ data.isarchive = false; -+ if (hddarchivePlugin) { -+ hddarchivePlugin->Service("Hddarchive-archiveid_v1.0", &data); -+ if (data.isarchive) { -+ Skins.Message(mtError, tr("Cannot delete archived recording!")); -+ return osContinue; -+ } -+ } - if (ri && !ri->IsDirectory()) { - if (Interface->Confirm(tr("Delete recording?"))) { - cRecordControl *rc = cRecordControls::GetRecordControl(ri->Recording()->FileName()); -@@ -4854,7 +4884,16 @@ - if (*fileName) { - Hide(); - if (!cCutter::Active()) { -- if (!marks.Count()) -+ cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive"); -+ Hddarchive_archiveid_v1_0 data; -+ data.recording = GetRecording(); -+ data.isarchive = false; -+ if (hddarchivePlugin) { -+ hddarchivePlugin->Service("Hddarchive-archiveid_v1.0", &data); -+ } -+ if (data.isarchive) -+ Skins.Message(mtError, tr("Cannot edit archived recording!")); -+ else if (!marks.Count()) - Skins.Message(mtError, tr("No editing marks defined!")); - else if (!marks.GetNumSequences()) - Skins.Message(mtError, tr("No editing sequences defined!")); diff --git a/patches/vdr-2.0.3-hddarchive-0.0.1.patch b/patches/vdr-hddarchive.patch index 55cbef7..5f470d7 100644 --- a/patches/vdr-2.0.3-hddarchive-0.0.1.patch +++ b/patches/vdr-hddarchive.patch @@ -1,6 +1,6 @@ ---- vdr-2.0.3-orig/menu.c 2013-04-27 12:32:28.000000000 +0200 -+++ vdr-2.0.3/menu.c 2013-09-22 18:22:19.440344000 +0200 -@@ -51,6 +51,18 @@ +--- menu.c.orig 2013-10-16 11:15:36.000000000 +0200 ++++ menu.c 2013-10-21 16:09:59.030298758 +0200 +@@ -50,6 +50,18 @@ #define CHNUMWIDTH (numdigits(Channels.MaxNumber()) + 1) #define CHNAMWIDTH (min(MAXCHNAMWIDTH, Channels.MaxShortChannelNameLength() + 1)) @@ -13,19 +13,44 @@ + +struct Hddarchive_play_v1_0 +{ -+ cMenuRecordingItem *item; ++ const cRecording *recording; +}; + // --- cMenuEditCaItem ------------------------------------------------------- class cMenuEditCaItem : public cMenuEditIntItem { -@@ -2348,6 +2360,13 @@ +@@ -2522,7 +2534,23 @@ + level = Level; + name = NULL; + totalEntries = newEntries = 0; +- SetText(Recording->Title('\t', true, Level)); ++ // replace newindicator with '#' for archives ++ 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 && (level < 0 || level == recording->HierarchyLevels())) { ++ char *text = strdup(recording->Title('\t', true, level)); ++ int nipos = strlen(strrchr(recording->Title('\t', true, level), '\t') + 1); ++ text[strlen(recording->Title('\t', true, level)) - nipos - 2] = '#'; ++ SetText(text); ++ free(text); ++ } ++ else ++ SetText(Recording->Title('\t', true, Level)); + if (*Text() == '\t') + name = strdup(Text() + 2); // 'Text() + 2' to skip the two '\t' + } +@@ -2693,6 +2721,13 @@ if (ri->IsDirectory()) Open(); else { + cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive"); + Hddarchive_play_v1_0 data; -+ data.item = ri; ++ data.recording = ri->Recording(); + if (hddarchivePlugin) { + hddarchivePlugin->Service("Hddarchive-play_v1.0", &data); + return osEnd; @@ -33,7 +58,7 @@ cReplayControl::SetRecording(ri->Recording()->FileName()); return osReplay; } -@@ -2374,6 +2393,17 @@ +@@ -2719,6 +2754,17 @@ if (HasSubMenu() || Count() == 0) return osContinue; cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current()); @@ -51,10 +76,10 @@ if (ri && !ri->IsDirectory()) { if (Interface->Confirm(tr("Delete recording?"))) { cRecordControl *rc = cRecordControls::GetRecordControl(ri->Recording()->FileName()); -@@ -4832,7 +4862,16 @@ +@@ -5213,7 +5302,16 @@ if (*fileName) { Hide(); - if (!cCutter::Active()) { + if (!RecordingsHandler.GetUsage(fileName)) { - if (!marks.Count()) + cPlugin *hddarchivePlugin = cPluginManager::GetPlugin("hddarchive"); + Hddarchive_archiveid_v1_0 data; |