diff options
author | Sascha Volkenandt <sascha (at) akv-soft (dot) de> | 2007-01-15 19:35:06 +0000 |
---|---|---|
committer | Sascha Volkenandt <sascha (at) akv-soft (dot) de> | 2007-01-15 19:35:06 +0000 |
commit | 6fd53f0b97b06f8bb718bef6da0d90df95f64e03 (patch) | |
tree | 5a5aa5d9a1b46741b8f2237cfaff8977aaa49ed6 /pages | |
parent | e6818d2fe11ac37dde92cb53cfb6c9f9ef283dab (diff) | |
download | vdr-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/Makefile | 2 | ||||
-rw-r--r-- | pages/pageelems.ecpp | 13 | ||||
-rw-r--r-- | pages/play_recording.ecpp | 26 | ||||
-rw-r--r-- | pages/recordings.ecpp | 5 | ||||
-rw-r--r-- | pages/remote.ecpp | 44 |
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() |