void settings_init(void) { prop_t *n, *d, *model; prop_t *s1; settings_root = prop_create(prop_get_global(), "settings"); prop_set_string(prop_create(settings_root, "type"), "settings"); set_title(settings_root, _p("Global settings")); settings_nodes = prop_create_root(NULL); s1 = prop_create_root(NULL); prop_nf_create(s1, settings_nodes, NULL, "node.model.metadata.title", PROP_NF_AUTODESTROY); settings_apps = prop_create_root(NULL); settings_sd = prop_create_root(NULL); prop_concat_t *pc; pc = prop_concat_create(prop_create(settings_root, "nodes"), 0); prop_concat_add_source(pc, s1, NULL); // Applications and plugins n = prop_create(prop_create(settings_apps, "model"), "nodes"); d = prop_create_root(NULL); model = prop_create(d, "model"); set_title(model, _p("Applications and installed plugins")); prop_set_string(prop_create(model, "type"), "divider"); prop_concat_add_source(pc, n, d); d = prop_create_root(NULL); model = prop_create(d, "model"); set_title(model, _p("Discovered media sources")); prop_set_string(prop_create(model, "type"), "divider"); n = prop_create(prop_create(settings_sd, "model"), "nodes"); prop_concat_add_source(pc, n, d); // General settings settings_general = settings_add_dir(NULL, _p("General"), NULL, NULL, _p("System related settings")); }
void settings_init(void) { prop_t *n, *d; prop_t *s1; settings_root = prop_create(prop_get_global(), "settings"); prop_set_string(prop_create(settings_root, "type"), "settings"); set_title2(settings_root, _p("Global settings")); settings_nodes = prop_create_root(NULL); s1 = prop_create_root(NULL); struct prop_nf *pnf; pnf = prop_nf_create(s1, settings_nodes, NULL, PROP_NF_AUTODESTROY); prop_nf_sort(pnf, "node.metadata.title", 0, 0, NULL, 1); settings_apps = prop_create_root(NULL); settings_sd = prop_create_root(NULL); prop_concat_t *pc; pc = prop_concat_create(prop_create(settings_root, "nodes"), 0); prop_concat_add_source(pc, s1, NULL); // Applications and plugins n = prop_create(settings_apps, "nodes"); d = prop_create_root(NULL); set_title2(d, _p("Applications and installed plugins")); prop_set_string(prop_create(d, "type"), "separator"); prop_concat_add_source(pc, n, d); d = prop_create_root(NULL); set_title2(d, _p("Discovered media sources")); prop_set_string(prop_create(d, "type"), "separator"); n = prop_create(settings_sd, "nodes"); prop_concat_add_source(pc, n, d); // General settings settings_general = settings_add_dir(NULL, _p("General"), NULL, NULL, _p("System related settings"), "settings:general"); // Developer settings, only available via its URI init_dev_settings(); }
void settings_init(void) { settings_root = prop_create(prop_get_global(), "settings"); settings_nodes = prop_create_root("sources"); prop_nf_create(prop_create(settings_root, "nodes"), settings_nodes, NULL, "node.model.metadata.title", PROP_NF_AUTODESTROY); prop_set_string(prop_create(settings_root, "type"), "settings"); set_title(settings_root, "Global settings"); settings_apps = settings_add_dir(NULL, "Plugins", "settings", NULL); settings_sd = settings_add_dir(NULL, "Autodiscovered services", "settings", NULL); }
static int search_open(prop_t *page, const char *url0) { const char *url; prop_t *model, *meta, *source; char title[256]; if((url = strchr(url0, ':')) == NULL) abort(); url++; if(!backend_open(page, url)) return 0; model = prop_create(page, "model"); prop_set_string(prop_create(model, "type"), "directory"); meta = prop_create(model, "metadata"); rstr_t *fmt = _("Search result for: %s"); snprintf(title, sizeof(title), rstr_get(fmt), url); rstr_release(fmt); prop_set_string(prop_create(meta, "title"), title); source = prop_create(page, "source"); struct prop_nf *pnf; pnf = prop_nf_create(prop_create(model, "nodes"), prop_create(source, "nodes"), NULL, PROP_NF_AUTODESTROY); prop_nf_sort(pnf, "node.metadata.title", 0, 2, NULL, 1); prop_nf_pred_int_add(pnf, "node.entries", PROP_NF_CMP_EQ, 0, NULL, PROP_NF_MODE_EXCLUDE); prop_nf_release(pnf); backend_search(source, url); return 0; }