示例#1
0
文件: settings.c 项目: mla2/showtime
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"));
}
示例#2
0
文件: settings.c 项目: Allba/showtime
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();
}
示例#3
0
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);
}
示例#4
0
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;
}