return &prop_ptr;
}
+static int
+dvr_entry_class_disp_extratext_set(void *o, const void *v)
+{
+ dvr_entry_t *de = (dvr_entry_t *)o;
+ const char *lang = idnode_lang(o);
+ v = tvh_str_default(v, "?????");
+
+ if (de->de_subtitle && lang_str_get(de->de_subtitle, lang)[0] != '\0'){
+ return lang_str_set(&de->de_subtitle, v, lang);
+ }
+ if (de->de_summary && lang_str_get(de->de_summary, lang)[0] != '\0'){
+ return lang_str_set(&de->de_summary, v, lang);
+ }
+ if (de->de_desc && lang_str_get(de->de_desc, lang)[0] != '\0'){
+ return lang_str_set(&de->de_desc, v, lang);
+ }
+ // If subtitle, summary or descripcion is not set, the extratext
+ // field is stored in subtitle by default
+ return lang_str_set(&de->de_subtitle, v, lang);
+}
+
static int
dvr_entry_class_disp_episode_set(void *o, const void *v)
{
.type = PT_STR,
.id = "disp_extratext",
.name = N_("Extra text"),
- .desc = N_("Subtitle, summary or description of the program (if any) (display only)."),
+ .desc = N_("Subtitle, summary or description of the program (if any)."),
.get = dvr_entry_class_disp_extratext_get,
- .opts = PO_RDONLY | PO_NOSAVE,
+ .set = dvr_entry_class_disp_extratext_set,
+ .opts = PO_NOSAVE,
},
{
.type = PT_INT,
.desc = N_("Episode number/ID."),
.set = dvr_entry_class_disp_episode_set,
.get = dvr_entry_class_disp_episode_get,
- .opts = PO_RDONLY | PO_HIDDEN | PO_NOSAVE,
+ .opts = PO_HIDDEN | PO_NOSAVE,
},
{
.type = PT_STR,
tvheadend.dvr_upcoming = function(panel, index) {
var actions = tvheadend.dvrRowActions();
- var list = 'disp_title,channel,start,start_extra,stop,stop_extra,pri,config_name,comment';
+ var list = 'disp_title,disp_extratext,channel,start,start_extra,stop,stop_extra,pri,config_name,comment';
var elist = 'enabled,' +
(tvheadend.accessUpdate.admin ?
- list + ',owner,creator' : list) + ',retention,removal';
+ list + ',episode_disp,owner,creator' : list) + ',retention,removal';
var duplicates = 0;
var buttonFcn = tvheadend.dvrButtonFcn;
var columnId = null;
tabIndex: index,
edit: {
params: {
- list: tvheadend.admin ? "playcount,retention,removal,owner,comment" :
+ list: tvheadend.admin ? "disp_title,disp_extratext,episode_disp,playcount,retention,removal,owner,comment" :
"retention,removal,comment"
}
},
iconCls: 'remove',
tabIndex: index,
uilevel: 'expert',
- edit: { params: { list: tvheadend.admin ? "retention,owner,comment" : "retention,comment" } },
+ edit: { params: { list: tvheadend.admin ? "retention,owner,disp_title,disp_extratext,episode_disp,comment" : "retention,comment" } },
del: true,
list: 'disp_title,disp_extratext,episode_disp,channelname,image,' +
'copyright_year,start_real,stop_real,duration,status,' +
var list = 'name,title,fulltext,channel,start,start_window,weekdays,' +
'record,tag,btype,content_type,cat1,cat2,cat3,minduration,maxduration,' +
- 'star_rating,dedup,directory,config_name,comment';
+ 'star_rating,dedup,directory,config_name,comment,pri';
var elist = 'enabled,start_extra,stop_extra,' +
(tvheadend.accessUpdate.admin ?
list + ',owner,creator' : list) + ',pri,retention,removal,maxcount,maxsched';