diff --git a/docs/docresources/configtvhlog.png b/docs/docresources/configtvhlog.png
new file mode 100644
index 00000000..1e4320fd
Binary files /dev/null and b/docs/docresources/configtvhlog.png differ
diff --git a/docs/html/config_tvhlog.html b/docs/html/config_tvhlog.html
new file mode 100644
index 00000000..4f94bf34
--- /dev/null
+++ b/docs/html/config_tvhlog.html
@@ -0,0 +1,28 @@
+
+
+

+
+
This tab is used to configure various debugging options in tvheadend.
+
+
Configuration options:
+
+
+
+ - Debug log path
+
+
+ - Debug to syslog
+
+
+ - Debug trace (low-level stuff)
+
+
+ - Debug subsystems
+
+
+ - Trace subsystems
+
+
+
+ Changes to any of these settings must be confirmed by pressing the 'Save configuration' button before taking effect.
+
diff --git a/src/webui/static/app/dvr.js b/src/webui/static/app/dvr.js
index f7773824..a4fc108c 100644
--- a/src/webui/static/app/dvr.js
+++ b/src/webui/static/app/dvr.js
@@ -204,16 +204,19 @@ tvheadend.dvrschedule = function(title, iconCls, dvrStore) {
width: 250,
id: 'title',
header: "Title",
+ sortable: true,
dataIndex: 'title'
}, {
width: 100,
id: 'episode',
header: "Episode",
+ sortable: true,
dataIndex: 'episode'
}, {
width: 100,
id: 'pri',
header: "Priority",
+ sortable: true,
dataIndex: 'pri',
renderer: renderPri,
hidden: iconCls !== 'clock'
@@ -221,6 +224,7 @@ tvheadend.dvrschedule = function(title, iconCls, dvrStore) {
width: 100,
id: 'start',
header: iconCls === 'clock' ? "Start" : "Date/Time",
+ sortable: true,
dataIndex: 'start',
renderer: renderDate
}, {
@@ -228,18 +232,21 @@ tvheadend.dvrschedule = function(title, iconCls, dvrStore) {
hidden: true,
id: 'end',
header: "End",
+ sortable: true,
dataIndex: 'end',
renderer: renderDate
}, {
width: 100,
id: 'duration',
header: "Duration",
+ sortable: true,
dataIndex: 'duration',
renderer: renderDuration
}, {
width: 100,
id: 'filesize',
header: "Filesize",
+ sortable: true,
dataIndex: 'filesize',
renderer: renderSize,
hidden: iconCls !== 'television'
@@ -247,17 +254,20 @@ tvheadend.dvrschedule = function(title, iconCls, dvrStore) {
width: 250,
id: 'channel',
header: "Channel",
+ sortable: true,
dataIndex: 'channel'
}, {
width: 200,
id: 'creator',
header: "Created by",
+ sortable: true,
hidden: true,
dataIndex: 'creator'
}, {
width: 200,
id: 'config_name',
header: "DVR Configuration",
+ sortable: true,
renderer: function(value, metadata, record, row, col, store) {
if (!value) {
return '