return &prop_ptr;
}
+static const void *
+dvr_entry_class_disp_extratext_get(void *o)
+{
+ dvr_entry_t *de = (dvr_entry_t *)o;
+ prop_ptr = NULL;
+ if (de->de_subtitle)
+ prop_ptr = lang_str_get(de->de_subtitle, idnode_lang(o));
+ if (prop_ptr == NULL || prop_ptr[0] == '\0')
+ prop_ptr = lang_str_get(de->de_summary, idnode_lang(o));
+ if (prop_ptr == NULL || prop_ptr[0] == '\0')
+ prop_ptr = lang_str_get(de->de_desc, idnode_lang(o));
+ if (prop_ptr == NULL)
+ prop_ptr = "";
+ return &prop_ptr;
+}
+
static int
dvr_entry_class_disp_episode_set(void *o, const void *v)
{
.get = dvr_entry_class_disp_description_get,
.opts = PO_RDONLY | PO_NOSAVE | PO_HIDDEN,
},
+ {
+ .type = PT_STR,
+ .id = "disp_extratext",
+ .name = N_("Extra text"),
+ .desc = N_("Subtitle, summary or description of the program (if any) (display only)."),
+ .get = dvr_entry_class_disp_extratext_get,
+ .opts = PO_RDONLY | PO_NOSAVE,
+ },
{
.type = PT_INT,
.id = "pri",
tvheadend.displayWithDuplicateRenderer = function(value, meta, record) {
return function() {
return function(value, meta, record) {
- return tvheadend.displayDuplicate(value, meta, record);
+ return tvheadend.displayDuplicate(value, meta, record);
}
}
}
tvheadend.displayWithYearAndDuplicateRenderer = function(value, meta, record) {
return function() {
return function(value, meta, record) {
- value = tvheadend.getDisplayTitle(value, record);
+ var value = tvheadend.getDisplayTitle(value, record);
return tvheadend.displayDuplicate(value, meta, record);
}
}
tvheadend.displayWithYearRenderer = function(value, meta, record) {
return function() {
return function(value, meta, record) {
- value = tvheadend.getDisplayTitle(value, record);
- return value;
+ return tvheadend.getDisplayTitle(value, record);
}
}
}
}
},
del: true,
- list: 'category,enabled,duplicate,disp_title,disp_subtitle,disp_summary,episode_disp,' +
+ list: 'category,enabled,duplicate,disp_title,disp_extratext,episode_disp,' +
'channel,image,copyright_year,start_real,stop_real,duration,pri,filesize,' +
'sched_status,errors,data_errors,config_name,owner,creator,comment,genre',
columns: {
disp_title: {
- renderer: tvheadend.displayWithYearAndDuplicateRenderer()
- },
- disp_subtitle: {
- renderer: tvheadend.displayWithDuplicateRenderer()
+ renderer: tvheadend.displayWithYearAndDuplicateRenderer()
},
- disp_summary: {
- renderer: tvheadend.displayWithDuplicateRenderer()
+ disp_extratext: {
+ renderer: tvheadend.displayWithDuplicateRenderer()
},
filesize: {
renderer: tvheadend.filesizeRenderer()
}
},
del: false,
- list: 'disp_title,disp_subtitle,disp_summary,episode_disp,channelname,' +
+ list: 'disp_title,disp_extratext,episode_disp,channelname,' +
'start_real,stop_real,duration,filesize,copyright_year,' +
'sched_status,errors,data_errors,playcount,url,config_name,owner,creator,comment,',
columns: {
disp_title: {
- renderer: tvheadend.displayWithYearRenderer(),
+ renderer: tvheadend.displayWithYearRenderer(),
},
filesize: {
renderer: tvheadend.filesizeRenderer()
del: true,
delquestion: _('Do you really want to delete the selected recordings?') + '<br/><br/>' +
_('The associated file will be removed from storage.'),
- list: 'disp_title,disp_subtitle,disp_summary,episode_disp,channelname,' +
+ list: 'disp_title,disp_extratext,episode_disp,channelname,' +
'image,copyright_year,start_real,stop_real,duration,filesize,status,' +
'sched_status,errors,data_errors,playcount,url,config_name,owner,creator,comment',
columns: {
uilevel: 'expert',
edit: { params: { list: tvheadend.admin ? "retention,owner,comment" : "retention,comment" } },
del: true,
- list: 'disp_title,disp_subtitle,disp_summary,episode_disp,channelname,image,' +
+ list: 'disp_title,disp_extratext,episode_disp,channelname,image,' +
'copyright_year,start_real,stop_real,duration,status,' +
'sched_status,errors,data_errors,url,config_name,owner,creator,comment',
columns: {
disp_title: {
- renderer: tvheadend.displayWithYearRenderer(),
+ renderer: tvheadend.displayWithYearRenderer(),
},
},
sort: {