--- /dev/null
+:
+
+Option | Description
+-----------------|------------
+**25** | List 25 items per page.
+**50** | List 50 items per page.
+**100** | List 100 items per page.
+**200** | List 200 items per page.
+**All** | List all items on a single page.
+
+This setting can be overridden on a page-by-page basis using the drop-down box.
return strtab2htsmsg_str(tab, 1, lang);
}
+htsmsg_t *
+page_size_get_ui_list ( void *p, const char *lang )
+{
+ static struct strtab tab[] = {
+ { "25", 25 },
+ { "50", 50 },
+ { "100", 100 },
+ { "200", 200 },
+ { N_("All"), 999999999 },
+ };
+ return strtab2htsmsg(tab, 1, lang);
+}
+
static idnode_slist_t access_entry_class_change_slist[] = {
{
.id = "change_rights",
htsmsg_t *language_get_list ( void *obj, const char *lang );
htsmsg_t *language_get_ui_list ( void *obj, const char *lang );
htsmsg_t *theme_get_ui_list ( void *obj, const char *lang );
+htsmsg_t *page_size_get_ui_list ( void *obj, const char *lang );
htsmsg_t *user_get_userlist ( void *obj, const char *lang );
#endif /* ACCESS_H_ */
config.hdhomerun_ip = strdup("");
config.local_ip = strdup("");
config.local_port = 0;
+ config.page_size_ui = 50;
/* Generate default */
if (!path)
PROP_DOC(config_picon_servicetype)
PROP_DOC(viewlevel_config)
PROP_DOC(themes)
+PROP_DOC(page_size)
const idclass_t config_class = {
.ic_snode = &config.idnode,
.opts = PO_DOC_NLIST,
.group = 2
},
+ {
+ .type = PT_U32,
+ .id = "page_size_ui",
+ .name = N_("Items per page"),
+ .desc = N_("The default web interface items per page."),
+ .doc = prop_doc_page_size,
+ .list = page_size_get_ui_list,
+ .off = offsetof(config_t, page_size_ui),
+ .opts = PO_DOC_NLIST,
+ .group = 2
+ },
{
.type = PT_BOOL,
.id = "ui_quicktips",
#if ENABLE_VAAPI
int enable_vainfo;
#endif
+ uint32_t page_size_ui;
} config_t;
extern const idclass_t config_class;
}
}
htsmsg_add_str(m, "theme", access_get_theme(hc->hc_access));
+ htsmsg_add_u32(m, "page_size", config.page_size_ui);
htsmsg_add_u32(m, "quicktips", config.ui_quicktips);
htsmsg_add_u32(m, "chname_num", config.chname_num);
htsmsg_add_u32(m, "chname_src", config.chname_src);
var n = data['theme_ui'];
if (n !== tvheadend.theme)
reload = 1;
- var n = data['uilevel_nochange'] ? true : false;
+ var n = data['page_size_ui'];
+ if (n !== tvheadend.page_size)
+ reload = 1;
+ var n = data['uilevel_nochange'] ? true : false;
if (n !== tvheadend.uilevel_nochange)
reload = 1;
var n = data['ui_quicktips'] ? true : false;
if (conf.all) params['all'] = 1;
if (conf.extraParams) conf.extraParams(params);
+ if(!params['limit']) params['limit'] = tvheadend.page_size;
+
groupReader = new Ext.data.JsonReader({
totalProperty: 'total',
root: 'entries',
data: [[25, '25'], [50, '50'], [100, '100'],
[200, '200'], [999999999, _('All')]]
}),
- value: 50,
+ value: tvheadend.page_size,
mode: 'local',
forceSelection: false,
triggerAction: 'all',
tvheadend.PagingToolbarConf = function(conf, title, auto, count)
{
conf.width = 50;
- conf.pageSize = 50;
+ conf.pageSize = tvheadend.page_size;
conf.displayInfo = true;
/// {0} start, {1} end, {2} total, {3} title
conf.displayMsg = _('{3} {0} - {1} of {2}').replace('{3}', title);
tvheadend.chname_src = o.chname_src ? 1 : 0;
tvheadend.date_mask = o.date_mask;
tvheadend.label_formatting = o.label_formatting ? true : false;
+ tvheadend.page_size = o.page_size;
if (o.uilevel_nochange)
tvheadend.uilevel_nochange = true;