Index: src/webui/static/app/chconf.js =================================================================== --- src/webui/static/app/chconf.js (revision 3942) +++ src/webui/static/app/chconf.js (working copy) @@ -27,7 +27,7 @@ tvheadend.channels = new Ext.data.JsonStore({ autoLoad: true, root:'entries', - fields: ['name', 'chid', 'xmltvsrc', 'tags', + fields: ['name', 'chid', 'xmltvsrc', 'tags', 'ch_icon', 'epg_pre_start', 'epg_post_end', 'number'], id: 'chid', url: "channels", @@ -210,6 +210,12 @@ displayField: 'name' }) }, + { + header: "Icon (full URL)", + dataIndex: 'ch_icon', + width: 200, + editor: new fm.TextField() + }, { header: "DVR Pre-Start", dataIndex: 'epg_pre_start', Index: src/webui/extjs.c =================================================================== --- src/webui/extjs.c (revision 3942) +++ src/webui/extjs.c (working copy) @@ -328,6 +328,9 @@ if((s = htsmsg_get_str(c, "xmltvsrc")) != NULL) channel_set_xmltv_source(ch, xmltv_channel_find_by_displayname(s)); + if((s = htsmsg_get_str(c, "ch_icon")) != NULL) + channel_set_icon(ch, s); + if((s = htsmsg_get_str(c, "tags")) != NULL) channel_set_tags_from_list(ch, s); @@ -374,6 +377,9 @@ if(ch->ch_xc != NULL) htsmsg_add_str(c, "xmltvsrc", ch->ch_xc->xc_displayname); + if(ch->ch_icon != NULL) + htsmsg_add_str(c, "ch_icon", ch->ch_icon); + buf[0] = 0; LIST_FOREACH(ctm, &ch->ch_ctms, ctm_channel_link) { snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf),