summaryrefslogtreecommitdiff
path: root/pages
diff options
context:
space:
mode:
authorSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-01-15 19:35:06 +0000
committerSascha Volkenandt <sascha (at) akv-soft (dot) de>2007-01-15 19:35:06 +0000
commit6fd53f0b97b06f8bb718bef6da0d90df95f64e03 (patch)
tree5a5aa5d9a1b46741b8f2237cfaff8977aaa49ed6 /pages
parente6818d2fe11ac37dde92cb53cfb6c9f9ef283dab (diff)
downloadvdr-plugin-live-6fd53f0b97b06f8bb718bef6da0d90df95f64e03.tar.gz
vdr-plugin-live-6fd53f0b97b06f8bb718bef6da0d90df95f64e03.tar.bz2
- moved ajax script to separate file
- moved call of ajax object to page element - introduced page element for replaying recordings - introduced task for replaying recordings - added replay button to recordings page
Diffstat (limited to 'pages')
-rw-r--r--pages/Makefile2
-rw-r--r--pages/pageelems.ecpp13
-rw-r--r--pages/play_recording.ecpp26
-rw-r--r--pages/recordings.ecpp5
-rw-r--r--pages/remote.ecpp44
5 files changed, 45 insertions, 45 deletions
diff --git a/pages/Makefile b/pages/Makefile
index 38828ff..3e913a8 100644
--- a/pages/Makefile
+++ b/pages/Makefile
@@ -18,7 +18,7 @@ VDRDIR ?= ../../../..
OBJS = menu.o channels.o recordings.o schedule.o \
screenshot.o timers.o whats_on.o switch_channel.o \
keypress.o remote.o channels_widget.o edit_timer.o \
- error.o pageelems.o tooltip.o
+ error.o pageelems.o tooltip.o play_recording.o
### Default rules:
diff --git a/pages/pageelems.ecpp b/pages/pageelems.ecpp
index 9c170a6..326a8b8 100644
--- a/pages/pageelems.ecpp
+++ b/pages/pageelems.ecpp
@@ -46,3 +46,16 @@ component;
</%args>
<a href="edit_timer.html?channelid=<$ *channelid.ToString() $>&eventid=<$ eventid $>"><img src="record.png" alt="" <& tooltip.hint text=(tr("Record this")) &> border="0"/></a>
</%def>
+
+<%def ajax_js>
+ <script type="text/javascript" language="javascript" src="ajax.js"></script>
+</%def>
+
+<%def play_recording>
+<%args>
+ string recordingid;
+ string image;
+ string alt = "";
+</%args>
+ <a href="javascript:LiveSimpleAjaxRequest('play_recording.xml', 'recording', '<$ recordingid $>');"><img src="<$ image $>" alt="<$ alt $>" border="0"/></a>
+</%def>
diff --git a/pages/play_recording.ecpp b/pages/play_recording.ecpp
new file mode 100644
index 0000000..8356697
--- /dev/null
+++ b/pages/play_recording.ecpp
@@ -0,0 +1,26 @@
+<%pre>
+#include <string>
+#include <vdr/recording.h>
+#include "exception.h"
+#include "tasks.h"
+#include "tools.h"
+
+using namespace std;
+using namespace vdrlive;
+
+</%pre>
+<%args>
+ string recordingid;
+</%args>
+<%cpp>
+ reply.setContentType( "application/xml" );
+
+ bool result = LiveTaskManager().ReplayRecording( recordingid );
+</%cpp>
+<?xml version="1.0"?>
+<service>
+<request name="switch_channel">
+<param name="recording"><$ recordingid $></param>
+</request>
+<response><$ result ? "1" : "0" $></response>
+</service>
diff --git a/pages/recordings.ecpp b/pages/recordings.ecpp
index e07784a..2defee4 100644
--- a/pages/recordings.ecpp
+++ b/pages/recordings.ecpp
@@ -25,7 +25,8 @@ const std::string sPref("short_");
<title>VDR-Live - <$ pageTitle $></title>
<link rel="stylesheet" type="text/css" href="styles.css" />
<script type="text/javascript" language="javascript" src="treeview.js"></script>
-<& tooltip.javascript var=("domTT_oneOnly") value=("true") var=("domTT_styleClass") value=("domTTrecordings") &>
+ <& tooltip.javascript var=("domTT_oneOnly") value=("true") var=("domTT_styleClass") value=("domTTrecordings") &>
+ <& pageelems.ajax_js &>
</head>
<body>
<& pageelems.logo &>
@@ -116,7 +117,7 @@ for (iter = recordingsTree.begin(path); iter != end; ++iter) {
<div class="recording_time"><$ FormatDateTime(tr("%I:%M %p"), recItem->StartTime()) $></div>
<div class="recording_name" <& tooltip.hint text=(shortDescr) &><& tooltip.display domId=(lPref + recItem->Id()) &>><$ recItem->Name() $></div>
<div class="recording_actions">
- <img src="play.png" alt="" />
+ <& pageelems.play_recording recordingid=(recItem->Recording()->FileName()) image="play.png" alt="" &>
<img src="edit.png" alt="" />
<img src="del.png" alt="" />
</div>
diff --git a/pages/remote.ecpp b/pages/remote.ecpp
index 798a759..6f23d9a 100644
--- a/pages/remote.ecpp
+++ b/pages/remote.ecpp
@@ -12,6 +12,7 @@ using namespace vdrlive;
<& pageelems.doc_type &>
<html>
<head>
+ <& pageelems.ajax_js &>
<script type="text/javascript"><!--
var newImg = new Image();
var imgsrc = "";
@@ -42,50 +43,9 @@ using namespace vdrlive;
interval = window.setInterval("StreamLoad()", timeout);
}
- function NewXMLHttpRequest()
- {
- var xml = null;
- if (window.XMLHttpRequest) {
- xml = new XMLHttpRequest();
- if (xml.overrideMimeType)
- xml.overrideMimeType('text/xml');
- } else if (window.ActiveXObject) {
- try {
- xml = new ActiveXObject("Msxml2.XMLHTTP");
- } catch (e) {
- try {
- xml = new ActiveXObject("Microsoft.XMLHTTP");
- } catch (e) {}
- }
- }
- return xml;
- }
-
function KeyPress(keycode)
{
- var xml = NewXMLHttpRequest();
- xml.onreadystatechange = function() { KeyPressResponse(xml); }
- xml.open('GET', 'keypress.xml?keycode='+keycode, true);
- xml.send(null);
- }
-
- function KeyPressResponse(xml)
- {
- try {
- if (xml.readyState == 4) {
- if (xml.status == 200) {
- var xmldoc = xml.responseXML;
- var result = xmldoc.getElementsByTagName('response').item(0).firstChild.data;
- if (result != 1) {
- alert("Unable to queue keypress");
- }
- } else {
- alert("Invokation of webservice 'keypress' failed with http status code "+xml.status);
- }
- }
- } catch (e) {
- alert("Invokation of webservice 'keypress' failed with description: "+e.description);
- }
+ LiveSimpleAjaxRequest('keypress.xml', 'keycode', keycode);
}
function FillIntervals()