summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--css/styles.css4
-rw-r--r--images/Makefile2
-rw-r--r--images/reload.pngbin0 -> 713 bytes
-rw-r--r--images/stop.pngbin0 -> 748 bytes
-rw-r--r--javascript/Makefile2
-rw-r--r--javascript/ajax.js15
-rw-r--r--javascript/vdr_status.js58
-rw-r--r--pages/pageelems.ecpp3
8 files changed, 64 insertions, 20 deletions
diff --git a/css/styles.css b/css/styles.css
index cd5b8c7..be76a35 100644
--- a/css/styles.css
+++ b/css/styles.css
@@ -157,12 +157,12 @@ div#infobox {
float: left;
border: 1px solid #C0C1DA;
margin: 5px;
- width: 300px;
+ width: 320px;
}
div#infobox div.st_header {
overflow: hidden;
- padding: 4px;
+ padding: 1px 4px;
background: #E9EFFF;
border-bottom: 1px solid #C0C1DA;
}
diff --git a/images/Makefile b/images/Makefile
index 738ecd7..13acb58 100644
--- a/images/Makefile
+++ b/images/Makefile
@@ -20,7 +20,7 @@ OBJS = logo.o record.o active.o inactive.o button_blue.o \
bg_header_h.o bg_header_l.o bg_header_r.o \
bg_box_h.o bg_box_l.o bg_box_r.o \
movie.o menu_line_bg.o bg_line.o bg_tools.o \
- zap.o favicon.o bg_line_top.o
+ zap.o favicon.o bg_line_top.o reload.o stop.o
### Default rules:
diff --git a/images/reload.png b/images/reload.png
new file mode 100644
index 0000000..694efb6
--- /dev/null
+++ b/images/reload.png
Binary files differ
diff --git a/images/stop.png b/images/stop.png
new file mode 100644
index 0000000..4ffdef7
--- /dev/null
+++ b/images/stop.png
Binary files differ
diff --git a/javascript/Makefile b/javascript/Makefile
index 5419c64..36582e6 100644
--- a/javascript/Makefile
+++ b/javascript/Makefile
@@ -16,7 +16,7 @@ VDRDIR ?= ../../../..
### The object files (add further files here):
OBJS = alphaAPI.o domLib.o domTT_drag.o domTT.o fadomatic.o \
- treeview.o ajax.o
+ treeview.o ajax.o vdr_status.o
### Default rules:
diff --git a/javascript/ajax.js b/javascript/ajax.js
index 4db64e5..4da2b8d 100644
--- a/javascript/ajax.js
+++ b/javascript/ajax.js
@@ -66,18 +66,3 @@ function LiveSimpleAjaxRequest(url, param, value)
xml.onerror = function(message) { alert(message); }
xml.request(param, value);
};
-
-function LiveStatusAjaxRequest(url, containerid)
-{
- var xml = new LiveAjaxCall("text", url);
- xml.oncomplete = function()
- {
- document.getElementById(containerid).innerHTML = this.xml.responseText;
- window.setTimeout("LiveStatusAjaxRequest('" + url + "', '" + containerid + "')", 1000);
- }
- xml.onerror = function(message)
- {
- document.getElementById(containerid).innerHTML = "<div>ERROR: " + message + "</div>";
- }
- xml.request("", "");
-}
diff --git a/javascript/vdr_status.js b/javascript/vdr_status.js
new file mode 100644
index 0000000..2a2a0d1
--- /dev/null
+++ b/javascript/vdr_status.js
@@ -0,0 +1,58 @@
+/*
+ * Javascript functions for the status update box.
+ * This file needs 'ajax.js' to be included on the pages.
+ */
+
+var vst_reload = true;
+var vst_timer;
+var vst_boxId = null;
+var vst_url = null;
+
+function LiveStatusAjaxRequest(url, containerid)
+{
+ if (vst_url == null)
+ vst_url = url;
+ if (vst_boxId == null)
+ vst_boxId = containerid;
+
+ var status = new LiveAjaxCall("text", url);
+ status.oncomplete = function()
+ {
+ document.getElementById(containerid).innerHTML = this.xml.responseText;
+ if (vst_reload)
+ vst_timer = window.setTimeout("LiveStatusAjaxRequest('" + url + "', '" + containerid + "')", 1000);
+ }
+ status.onerror = function(message)
+ {
+ vst_reload = false;
+ document.getElementById(containerid).innerHTML =
+ '<div class="statuscontent>' +
+ '<div class="st_header">' +
+ '<div class="caption">ERROR</div>' +
+ '<div class="now">&nbsp;<img id="statusReloadBtn" src="reload.png" alt="toggle reload on and off" onclick="LiveStatusToggleUpdate()" />&nbsp;ERROR</div>' +
+ '</div>' +
+ '<div class="st_content">' +
+ '<div class="name">' + message + '</div>' +
+ '</div>' +
+ '</div>';
+ }
+ status.request("", "");
+}
+
+function LiveStatusToggleUpdate()
+{
+ if (vst_reload) {
+ vst_reload = false;
+ if (vst_timer != null)
+ window.clearTimeout(vst_timer);
+ }
+ else {
+ vst_reload = true;
+ LiveStatusAjaxRequest(vst_url, vst_boxId);
+ }
+ var img = document.getElementById('statusReloadBtn');
+ if (img != null) {
+ // change image according to state.
+ img.src = vst_reload ? 'stop.png' : 'reload.png';
+ }
+}
diff --git a/pages/pageelems.ecpp b/pages/pageelems.ecpp
index 92afc5a..851a1c8 100644
--- a/pages/pageelems.ecpp
+++ b/pages/pageelems.ecpp
@@ -48,6 +48,7 @@ using namespace vdrlive;
<%def ajax_js>
<script type="text/javascript" language="javascript" src="ajax.js"></script>
+ <script type="text/javascript" language="javascript" src="vdr_status.js"></script>
</%def>
<# ---------------------------------------------------------------------- #>
@@ -113,7 +114,7 @@ using namespace vdrlive;
<div class="statuscontent">
<div class="st_header">
<div class="caption"><$ caption $></div>
- <div class="now">&nbsp;<$ currentTime $></div>
+ <div class="now">&nbsp;<img id="statusReloadBtn" src="stop.png" alt="toggle reload on and off" onclick="LiveStatusToggleUpdate()" />&nbsp;<$ currentTime $></div>
</div>
<div class="st_content">
<div class="name"><$ title $></div>