summaryrefslogtreecommitdiff
path: root/pages
diff options
context:
space:
mode:
authorDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2008-01-25 01:09:49 +0100
committerDieter Hametner <dh (plus) vdr (at) gekrumbel (dot) de>2008-01-25 01:09:49 +0100
commit5c5da204386e7a63ed4fac1d458dd10a120470e0 (patch)
treedeb3e5f385ddeee6c1746714859fb1de09177299 /pages
parente2496312144175ba6fc030eb9f8f9781590f5e6b (diff)
downloadvdr-plugin-live-5c5da204386e7a63ed4fac1d458dd10a120470e0.tar.gz
vdr-plugin-live-5c5da204386e7a63ed4fac1d458dd10a120470e0.tar.bz2
Fixed bug that the recordings items were not deleted when the tree was
rebuild. This was because of the non weak references to the parent items. Deleting of recordings can be triggered now. It still needs some tweaking on the visual feedback. And possibly a 'undelete' option for the last deleted recording.
Diffstat (limited to 'pages')
-rw-r--r--pages/recordings.ecpp62
-rw-r--r--pages/schedule.ecpp2
2 files changed, 55 insertions, 9 deletions
diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp
index 2acfdc4..b97a18b 100644
--- a/pages/recordings.ecpp
+++ b/pages/recordings.ecpp
@@ -1,4 +1,6 @@
<%pre>
+#include <string>
+
#include <vdr/plugin.h>
#include <vdr/config.h>
@@ -6,26 +8,38 @@
#include "tools.h"
#include "epg_events.h"
-#include "recman.h"
#include "setup.h"
+#include "tasks.h"
+
+#include "recman.h"
using namespace vdrlive;
using namespace std;
</%pre>
<%args>
+ string todel;
</%args>
<%session scope="global">
bool logged_in(false);
</%session>
<%request scope="page">
- RecordingsTreePtr recordingsTree(LiveRecordingsManager()->GetRecordingsTree());
+ string deleteResult;
</%request>
<%include>page_init.eh</%include>
<%cpp>
- if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
+if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
- pageTitle = tr("Recordings");
+pageTitle = tr("Recordings");
+
+if (!todel.empty()) {
+ RemoveRecordingTask task(todel);
+ LiveTaskManager().Execute(task);
+ if (!task.Result())
+ deleteResult = string() + tr("ERROR:") + " " + task.Error();
+ else
+ deleteResult = string() + tr("deleted recording") + ": " + task.RecName();
+}
</%cpp>
<& pageelems.doc_type &>
<html>
@@ -37,18 +51,34 @@ using namespace std;
</head>
<body>
<& pageelems.logo &>
+<%cpp>
+if (! deleteResult.empty()) {
+</%cpp>
+ <& menu active=("recordings") component=("recordings.delete_error") &>
+<%cpp>
+} else {
+</%cpp>
<& menu active=("recordings") &>
+<%cpp>
+}
+</%cpp>
<div class="inhalt">
<div class="boxheader"><div><div><$ tr("List of recordings") $></div></div></div>
-% if (Recordings.Count() == 0) {
+<%cpp>
+ if (Recordings.Count() == 0) {
+</%cpp>
<$ tr("No recordings found") $>
-% } else {
+<%cpp>
+ } else {
+</%cpp>
<div class="recordings">
<ul class="recordingslist" style="display: block;">
<& recordings.recordings_item &>
</ul>
</div>
-% }
+<%cpp>
+ }
+</%cpp>
</div>
</body>
</html>
@@ -62,6 +92,7 @@ using namespace std;
int level = 0;
</%args>
<%cpp>
+RecordingsTreePtr recordingsTree(LiveRecordingsManager()->GetRecordingsTree());
RecordingsMap::iterator iter;
RecordingsMap::iterator end = recordingsTree->end(path);
@@ -113,6 +144,15 @@ for (iter = recordingsTree->begin(path); iter != end; ++iter) {
<# ---------------------------------------------------------------------- #>
+<%def del_rec>
+<%args>
+ string id;
+</%args>
+<%cpp> { </%cpp><a href="recordings.html?todel=<$ id $>" <& tooltip.hint text=(tr("Delete this recording from hard disc!")) &>><img src="<$ LiveSetup().GetThemedLink("img", "del.png") $>" alt="" /></a><%cpp> } </%cpp>
+</%def>
+
+<# ---------------------------------------------------------------------- #>
+
<%def rec_tools>
<%args>
string id;
@@ -120,6 +160,7 @@ for (iter = recordingsTree->begin(path); iter != end; ++iter) {
</%args>
<& pageelems.ajax_action_href action="play_recording" param=(id) tip=(tr("play this recording.")) image="play.png" alt="" &>
<& pageelems.imdb_info_href title=(title) &>
+<& recordings.del_rec id=(id) &>
</%def>
<# ---------------------------------------------------------------------- #>
@@ -189,7 +230,6 @@ for (iter = recordingsTree->begin(path); iter != end; ++iter) {
</%cpp>
<!-- not supported yet ...
<img src="<$ LiveSetup().GetThemedLink("img", "edit.png") $>" alt="" />
- <img src="<$ LiveSetup().GetThemedLink("img", "del.png") $>" alt="" />
-->
</div>
<%cpp>
@@ -201,3 +241,9 @@ for (iter = recordingsTree->begin(path); iter != end; ++iter) {
</%cpp>
</div>
</%def>
+
+<# ---------------------------------------------------------------------- #>
+
+<%def delete_error>
+<%cpp> { </%cpp><$ deleteResult $><%cpp> } </%cpp>
+</%def>
diff --git a/pages/schedule.ecpp b/pages/schedule.ecpp
index 7896f6f..35b892b 100644
--- a/pages/schedule.ecpp
+++ b/pages/schedule.ecpp
@@ -64,7 +64,7 @@ if (!logged_in && LiveSetup().UseAuth()) return reply.redirect("login.html");
</head>
<body>
<& pageelems.logo &>
- <& menu active=("schedule") component=("schedule.channel_selection")>
+ <& menu active=("schedule") component=("schedule.channel_selection") &>
<div class="inhalt">
<%cpp>
if ( Schedule == 0 ) {