From 1215c1b5a7562190548dada0da94e5c35d5299d1 Mon Sep 17 00:00:00 2001 From: Jasmin Jessich Date: Tue, 13 Jun 2017 21:45:00 +0200 Subject: Patched with live-folderstatecookie-v3.diff - Got patch from here: http://www.vdr-portal.de/board16-video-disk-recorder/board55-vdr-plugins/p1159418-patch-f%C3%BCr-live-plugin-offene-knoten-im-aufnahmen-baum-persistent-machen/#post1159418 --- javascript/treeview.js | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++ pages/recordings.ecpp | 12 +++++++- 2 files changed, 90 insertions(+), 1 deletion(-) diff --git a/javascript/treeview.js b/javascript/treeview.js index e9edbdd..5047966 100644 --- a/javascript/treeview.js +++ b/javascript/treeview.js @@ -72,12 +72,91 @@ function Toggle(node) if (imgChild != null) setImages(imgChild, "img/minus.png", "img/folder_open.png"); sibling.style.display = 'block'; + updateCookieOnExpand( sibling.id ); } // Collapse the branch if it IS visible else { + updateCookieOnCollapse( sibling.id ); if (imgChild != null) setImages(imgChild, "img/plus.png", "img/folder_closed.png"); sibling.style.display = 'none'; } } + +function updateCookieOnExpand( id ){ + var openNodes = readCookie( cookieNameRec ); + if (openNodes == null || openNodes == "") + openNodes = id; + else + openNodes += "," + id; + createCookie( cookieNameRec, openNodes, 14 ); +} + +function updateCookieOnCollapse( id ){ + var openNodes = readCookie( cookieNameRec ); + if (openNodes != null) + openNodes = openNodes.split(","); + else + openNodes = []; + for (var z=0; z @@ -186,6 +190,8 @@ if (!deleteResult.empty()) { filter; path[]; int level = 0; + int counter = 0; + string idHash = ""; <%cpp> RecordingsTreePtr recordingsTree(LiveRecordingsManager()->GetRecordingsTree()); @@ -206,6 +212,7 @@ else recItems.sort(RecordingsItemPtrCompare::ByAscendingName); for (recIter = recItems.begin(); recIter != recItems.end(); ++recIter) { RecordingsItemPtr recItem = *recIter; + counter++;
  • <& rec_item_dir name=(recItem->Name()) level=(recItem->Level()) &> @@ -221,8 +228,11 @@ for (recIter = recItems.begin(); recIter != recItems.end(); ++recIter) { recItemParams.add("path", recItem->Name()); recItemParams.add("level", lexical_cast(level + 1)); recItemParams.add("filter", filter); + string combinedId = recItem->Name() + "_"; + combinedId += counter + "_" + level; + idHash = MD5Hash(combinedId); -