void news_config_dialog_item_content_refresh_selected_feeds(News_Item *ni) { E_Config_Dialog_Data *cfdata; Evas_Object *ilist; int pos, iw, ih; if (!ni->config_dialog_content) return; cfdata = ni->config_dialog_content->cfdata; ilist = cfdata->ilist_selected_feeds; e_widget_ilist_freeze(ilist); /* disable the callback until we finish to refresh the list */ e_widget_on_change_hook_set(ilist, NULL, NULL); e_widget_ilist_clear(ilist); if (cfdata->button_rem) { e_widget_disabled_set(cfdata->button_rem, 1); e_widget_disabled_set(cfdata->button_up, 1); e_widget_disabled_set(cfdata->button_down, 1); } cfdata->ilist_selected_feeds_inrefresh = 1; pos = -1; NEWS_ITEM_FEEDS_FOREACH_BEG(ni); { Evas_Object *ic = NULL; char buf[1024]; if (_feed->icon && _feed->icon[0]) { ic = e_icon_add(evas_object_evas_get(ilist)); e_icon_file_set(ic, _feed->icon); } snprintf(buf, sizeof(buf), "%s%s", (_feed->important) ? "[i] " : "", _feed->name); e_widget_ilist_append(ilist, ic, buf, NULL, _feed, NULL); pos++; if (eina_list_data_find(cfdata->ilist_selected_feeds_sel, _feed)) e_widget_ilist_multi_select(ilist, pos); } NEWS_ITEM_FEEDS_FOREACH_END(); cfdata->ilist_selected_feeds_inrefresh = 0; e_widget_size_min_get(ilist, &iw, &ih); if (iw < 200) iw = 200; e_widget_size_min_set(ilist, iw, 250); e_widget_ilist_go(ilist); e_widget_ilist_thaw(ilist); _cb_selected_feed_change(cfdata, NULL); /* restore the callback */ e_widget_on_change_hook_set(ilist, _cb_selected_feed_change, cfdata); }
/* * Populate the list of projections. * Note that this list is the same as the planet list - * its contents are replaced according to context. */ static void _fill_projection_ilist(Evas_Object *ilist, const char *value, E_Config_Dialog_Data *cfdata, int *store_item) { Evas *evas; int count = -1; evas = evas_object_evas_get(ilist); evas_event_freeze(evas); edje_freeze(); e_widget_ilist_freeze(ilist); e_widget_ilist_clear(ilist); _add_ilist_entry(ilist, "Ancient", "ancient", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Azimuthal", "azimuthal", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Bonne", "bonne", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Equal Area", "equalarea", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Gnomonic", "gnomonic", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Hemisphere", "hemisphere", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Icosagnomonic", "icosagnomonic", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Lambert", "lambert", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Mercator", "mercator", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Mollweide", "mollweide", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Orthographic", "orthographic", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Peters", "peters", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Polyconic", "polyconic", value, _cb_source, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Rectangular", "rectangular", value, _cb_source, cfdata, ++count, store_item); e_widget_ilist_go(ilist); e_widget_ilist_thaw(ilist); edje_thaw(); evas_event_thaw(evas); }
void news_config_dialog_item_content_refresh_feeds(News_Item *ni) { E_Config_Dialog_Data *cfdata; Eina_List *l, *l2; Evas_Object *ilist; int pos; int iw, ih; if (!ni->config_dialog_content) return; cfdata = ni->config_dialog_content->cfdata; ilist = cfdata->ilist_feeds; e_widget_ilist_freeze(ilist); /* disable the callback until we finish to refresh the list */ e_widget_on_change_hook_set(ilist, NULL, NULL); e_widget_ilist_clear(ilist); if (cfdata->button_add) e_widget_disabled_set(cfdata->button_add, 1); pos = -1; for(l=news->config->feed.categories; l; l=eina_list_next(l)) { News_Feed_Category *cat; Evas_Object *iccat = NULL; cat = eina_list_data_get(l); if (!cat->feeds_visible) continue; if (cat->icon) { iccat = e_icon_add(evas_object_evas_get(ilist)); e_icon_file_set(iccat, cat->icon); } e_widget_ilist_header_append(ilist, iccat, cat->name); pos++; for(l2=cat->feeds_visible; l2; l2=eina_list_next(l2)) { Evas_Object *ic = NULL; News_Feed *f; char buf[1024]; f = eina_list_data_get(l2); if (f->icon && f->icon[0]) { ic = e_icon_add(evas_object_evas_get(ilist)); e_icon_file_set(ic, f->icon); } snprintf(buf, sizeof(buf), "%s%s", (f->important) ? "[i] " : "", f->name); e_widget_ilist_append(ilist, ic, buf, NULL, f, NULL); pos++; if (eina_list_data_find(cfdata->ilist_feeds_sel, f)) e_widget_ilist_multi_select(ilist, pos); } } e_widget_ilist_thaw(ilist); e_widget_size_min_get(ilist, &iw, &ih); if (iw < 200) iw = 200; e_widget_size_min_set(ilist, iw, 250); e_widget_ilist_go(ilist); _cb_feed_change(cfdata, NULL); /* restore the callback */ e_widget_on_change_hook_set(ilist, _cb_feed_change, cfdata); }
/* * Populate the list of planets * Note that this list is the same as the projection list - * its contents are replaced according to context. */ static void _fill_planet_ilist(Evas_Object *ilist, const char *value, void(*callback)(void *data), E_Config_Dialog_Data *cfdata, int *store_item) { Evas *evas; int count = -1; evas = evas_object_evas_get(ilist); evas_event_freeze(evas); edje_freeze(); e_widget_ilist_freeze(ilist); e_widget_ilist_clear(ilist); _add_ilist_entry(ilist, "Sun", "sun", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Mercury", "mercury", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Venus", "venus", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Earth", "earth", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Moon", "moon", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Mars", "mars", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Phobos", "phobos", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Deimos", "deimos", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Jupiter", "jupiter", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Io", "io", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Europa", "europa", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Ganymede", "ganymede", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Callisto", "callisto", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Saturn", "saturn", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Mimas", "mimas", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Enceladus", "enceladus", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Tethys", "tethys", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Dione", "dione", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Rhea", "rhea", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Titan", "titan", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Hyperion", "hyperion", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Iapetus", "iapetus", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Phoebe", "phoebe", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Uranus", "uranus", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Miranda", "miranda", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Ariel", "ariel", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Umbriel", "umbriel", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Titania", "titania", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Oberon", "oberon", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Neptune", "neptune", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Triton", "triton", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Nereid", "nereid", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Pluto", "pluto", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, " Charon", "charon", value, callback, cfdata, ++count, store_item); _add_ilist_entry(ilist, "Random", "random", value, callback, cfdata, ++count, store_item); e_widget_ilist_go(ilist); e_widget_ilist_thaw(ilist); edje_thaw(); evas_event_thaw(evas); }