Esempio n. 1
0
static void
key_handler(void *data, Evas * evas, Evas_Object * obj, void *event_info)
{
    eoi_help_info_t *info = data;

    if (!info->navigation) {
        char *app;
        if (!asprintf(&app, "help/%s", info->application))
            err(1, "asprintf");
        info->navigation = keys_alloc(app);
        free(app);
    }

    if (!info->keys)
        info->keys = keys_alloc("eoi_help");


    const char *action =
        keys_lookup_by_event(info->navigation,
                             eina_list_data_get(info->history),
                             event_info);

    if (action && strlen(action)) {
        load_page(info, action);
        return;
    }

    action = keys_lookup_by_event(info->keys, "default", event_info);
    if (!action || !strlen(action))
        return;

    if (!strcmp(action, "PageDown"))
        eoi_textbox_page_next(info->textbox);
    else if (!strcmp(action, "PageUp"))
        eoi_textbox_page_prev(info->textbox);
    else if (!strcmp(action, "Back")) {
        if (eina_list_prev(info->history)) {
            free(eina_list_data_get(info->history));
            info->history = eina_list_prev(info->history);
            char *page = strdup(eina_list_data_get(info->history));
            info->history =
                eina_list_remove_list(info->history,
                                      eina_list_next(info->history));

            free(eina_list_data_get(info->history));
            info->history = eina_list_prev(info->history);
            info->history =
                eina_list_remove_list(info->history,
                                      eina_list_next(info->history));

            load_page(info, page);
            free(page);
        } else
            eoi_help_free(info->textbox);
    } else if (!strcmp(action, "Close"))
        eoi_help_free(info->textbox);
}
static Eina_Bool
_cb_alarms_ring_etimer(void *data)
{
   Eina_List *l;
   double now;

   if (alarm_config->alarms_state == ALARM_STATE_OFF)
     {
        alarm_config->alarms_ring_etimer = NULL;
        return EINA_FALSE;
     }

   now = ecore_time_unix_get();

   for(l=alarm_config->alarms; l; l=eina_list_next(l))
     {
        Alarm *al;

        al = eina_list_data_get(l);
        if (al->state != ALARM_STATE_ON)
          continue;

        if (al->sched.date_epoch <= now)
          alarm_alarm_ring(al, 0);
     }

   return EINA_TRUE;
}
static void
_cb_feed_add(void *data, void *data2)
{
   E_Config_Dialog_Data *cfdata;
   News_Item *ni;
   News_Feed *f;
   Eina_List *l;
  
   cfdata = data;
   ni = cfdata->ni;

   for (l=cfdata->ilist_feeds_sel; l; l=eina_list_next(l))
     {
        f = l->data;
        if (f->item) continue;

        if (news_feed_attach(f, NULL, ni))
          news_feed_obj_refresh(f, 1, 1);

        /* dont reselect this feed */
        cfdata->ilist_feeds_sel = eina_list_remove(cfdata->ilist_feeds_sel, f);
     }

   news_item_refresh(ni, 1, 0, 0);
   news_feed_list_ui_refresh();
   news_viewer_refresh(ni->viewer);

   news_config_save();
}
static void
_cb_feed_down(void *data, void *data2)
{
   E_Config_Dialog_Data *cfdata;
   News_Feed *f;
   News_Item *ni;
   News_Feed_Ref *ref;
   Eina_List *sel, *l, *lf;

   cfdata = data;
   ni = cfdata->ni;

   for (sel=eina_list_last(cfdata->ilist_selected_feeds_sel); sel; sel=eina_list_prev(sel))
     {
        f = sel->data;
        ref = news_feed_ref_find(f, ni);
        if (!ref) return;

        l = eina_list_data_find_list(ni->config->feed_refs, ref);
        lf = eina_list_next(l);
        if (!lf) return;
  
        ni->config->feed_refs = eina_list_remove_list(ni->config->feed_refs, l);
        ni->config->feed_refs = eina_list_append_relative_list(ni->config->feed_refs,
                                                               ref, lf);
     }

   news_item_refresh(ni, 1, 0, 0);
   news_config_dialog_item_content_refresh_selected_feeds(ni);
}
Esempio n. 5
0
static void
_pager_place_desks(double scale)
{
   int x, y;
   Eina_List *l = desks;
   int a = (1.0 - scale) * 255.0;

   for (y = 0; y < zone->desk_y_count; y++)
     {
        for (x = 0; x < zone->desk_x_count; x++)
          {
             double x1 = (x - initial_desk->x) * zone_w;
             double y1 = (y - initial_desk->y) * zone_h;
             double x2 = min_x + x * desk_w;
             double y2 = min_y + y * desk_h;
             double cur_x = (scale * x1) + (1.0 - scale) * x2;
             double cur_y = (scale * y1) + (1.0 - scale) * y2;

             Evas_Object *o = eina_list_data_get(l);

             int w = (scale * (zone->w)) + (1.0 - scale) * desk_w - OFFSET;
             int h = (scale * (zone->h)) + (1.0 - scale) * desk_h - OFFSET;

             evas_object_move(o, cur_x, cur_y);
             evas_object_resize(o, w, h);

             if (scale_conf->pager_fade_desktop)
               evas_object_color_set(o, a, a, a, a);

             l = eina_list_next(l);
          }
     }
}
Esempio n. 6
0
static Eina_Bool
eina_list_accessor_get_at(Eina_Accessor_List *it, unsigned int idx, void **data)
{
   const Eina_List *over;
   unsigned int middle;
   unsigned int i;

   EINA_MAGIC_CHECK_LIST_ACCESSOR(it, EINA_FALSE);

   if (idx >= eina_list_count(it->head))
     return EINA_FALSE;

   if (it->index == idx)
     over = it->current;
   else if (idx > it->index)
     {
        /* After current position. */
        middle = ((eina_list_count(it->head) - it->index) >> 1) + it->index;

        if (idx > middle)
          /* Go backward from the end. */
          for (i = eina_list_count(it->head) - 1,
               over = eina_list_last(it->head);
               i > idx && over;
               --i, over = eina_list_prev(over))
            ;
        else
          /* Go forward from current. */
          for (i = it->index, over = it->current;
               i < idx && over;
               ++i, over = eina_list_next(over))
            ;
     }
static void
_cb_feed_change(void *data, Evas_Object *obj)
{
   E_Config_Dialog_Data *cfdata;
   E_Ilist_Item *item;
   News_Feed *feed;
   Eina_List *sel, *items, *l;
   int i;

   cfdata = data;

   if (cfdata->ilist_feeds_sel) eina_list_free(cfdata->ilist_feeds_sel);
   sel = NULL;
   items = e_widget_ilist_items_get(cfdata->ilist_feeds);
   for (l=items, i=0; l; l=eina_list_next(l), i++)
     {
        item = l->data;
        if (item->header) continue;
        if (!item->selected) continue;
        feed = e_widget_ilist_nth_data_get(cfdata->ilist_feeds, i);
        sel = eina_list_append(sel, feed);
     }
   cfdata->ilist_feeds_sel = sel;

   if (e_widget_ilist_selected_get(cfdata->ilist_feeds) >= 0)
     {
        if (cfdata->button_add)
          e_widget_disabled_set(cfdata->button_add, 0);
     }
   else
     {
        if (cfdata->button_add)
          e_widget_disabled_set(cfdata->button_add, 1);
     }
}
Esempio n. 8
0
int
main(int argc, char **argv)
{
   Eina_List *list = NULL;
   Eina_List *l;
   void *list_data;

   eina_init();

   list = eina_list_append(list, eina_stringshare_add("calvin"));
   list = eina_list_append(list, eina_stringshare_add("Leoben"));
   list = eina_list_append(list, eina_stringshare_add("D'Anna"));
   list = eina_list_append(list, eina_stringshare_add("Simon"));
   list = eina_list_append(list, eina_stringshare_add("Doral"));
   list = eina_list_append(list, eina_stringshare_add("Six"));
   list = eina_list_append(list, eina_stringshare_add("Sharon"));

   for(l = list; l; l = eina_list_next(l))
     printf("%s\n", (char*)l->data);

   for(l = eina_list_last(list); l; l = eina_list_prev(l))
      printf("%s\n", (char*)eina_list_data_get(l));

   EINA_LIST_FREE(list, list_data)
     eina_stringshare_del(list_data);

   eina_shutdown();

   return 0;
}
Esempio n. 9
0
Eina_Bool language_next(Language_XML *xml)
{
    Eina_List *p_list;
    Language_XML_Node *parent, *cur;

    if (!xml)
    {
        DBG("One of values is NULL, returning with error.");
        return EINA_FALSE;
    }

    if (xml->current) {
        cur = xml->current;
        parent = cur->parent;

        if (parent) {
            p_list = parent->children;

            p_list = eina_list_data_find_list(p_list, xml->current);
            p_list = eina_list_next( p_list );
            if (!(xml->current = eina_list_data_get(p_list))) {
                xml->current = cur;
                return EINA_FALSE;
            }
        } else
            xml->current = EINA_FALSE;
    }

    return xml->current ? EINA_TRUE : EINA_FALSE;
}
Esempio n. 10
0
void
on_btn_save_clicked(Etk_Object *object, void *data)
{
  Cover_Entry *ce;
  Eet_File *ef;
  Eina_List *list;
  char *cover_file;

  list = cover_changed;
  asprintf(&cover_file, "%s/.e/apps/emphasis/cover.eet", getenv("HOME"));
  ef = eet_open(cover_file, EET_FILE_MODE_READ_WRITE);
  if (!ef)
    {
      fprintf(stderr, "can't open %s\n", cover_file);
      free(cover_file);
      return;
    }

  while (cover_changed)
    {
      ce = eina_list_data_get(cover_changed);
      eet_write(ef, ce->key, ce->path, strlen(ce->path)+1, 0);
      eet_clearcache();
      free(ce->key);
      free(ce->path);
      free(ce);
      cover_changed = eina_list_next(cover_changed);
    }
  eina_list_free(list);
  eet_close(ef);
  free(cover_file);
}
Esempio n. 11
0
static JSBool
elixir_evas_objects_in_rectangle_get(JSContext *cx, uintN argc, jsval *vp)
{
   JSObject *array;
   Eina_List *list;
   Eina_List *walker;
   Evas *evas;
   int x;
   int y;
   int w;
   int h;
   int include_pass_events_objects;
   int include_hidden_objects;
   int i;
   elixir_value_t val[7];

   if (!elixir_params_check(cx, _evas_four_int_double_bool_params, val, argc, JS_ARGV(cx, vp)))
     return JS_FALSE;

   GET_PRIVATE(cx, val[0].v.obj, evas);
   x = val[1].v.num;
   y = val[2].v.num;
   w = val[3].v.num;
   h = val[4].v.num;
   include_pass_events_objects = val[5].v.bol;
   include_hidden_objects = val[6].v.bol;

   list = evas_objects_in_rectangle_get(evas, x, y, w, h, include_pass_events_objects, include_hidden_objects);
   if (!list)
     {
	JS_SET_RVAL(cx, vp, JSVAL_NULL);
	return JS_TRUE;
     }

   array = elixir_return_array(cx, vp);
   if (!array)
     {
	eina_list_free(list);
	return JS_FALSE;
     }

   for (i = 0, walker = list; walker; walker = eina_list_next(walker), ++i)
     {
	Evas_Object *obj;
	jsval js_obj;

	obj = eina_list_data_get(walker);
	evas_object_to_jsval(cx, obj, &js_obj);
	if (JS_SetElement(cx, array, i, &js_obj) == JS_FALSE)
	  {
	     eina_list_free(list);
	     return JS_FALSE;
	  }
     }

   return JS_TRUE;
}
Esempio n. 12
0
/**
 * Get the contents of a defined structure property and load it into the passed
 * C struct
 * @param   key The name of the structure property to look up.
 * @param   data The struct to write into.
 * @return  @c ECORE_CONFIG_ERR_SUCC if the structure is written successfully.
 * @ingroup Ecore_Config_Struct_Group
 */
EAPI int
ecore_config_struct_get(const char *key, void *data)
{
   Ecore_Config_Prop *e, *f;
   Eina_List *l;
   unsigned char *ptr;
   long argb;

   e = ecore_config_get(key);
   if (!e)
     return ECORE_CONFIG_ERR_NODATA;

   l = e->data;
   ptr = data;
   while (l)
     {
	f = (Ecore_Config_Prop *) l->data;
	switch (f->type)
	  {
	     case ECORE_CONFIG_INT:
	       *((int *) ptr) = _ecore_config_int_get(f);
	       ptr += sizeof(int);
	     break;
	     case ECORE_CONFIG_BLN:
	       *((int *) ptr) = _ecore_config_boolean_get(f);
	       ptr += sizeof(int);
	     break;
	     case ECORE_CONFIG_FLT:
	       *((float *) ptr) = _ecore_config_float_get(f);
	       ptr += sizeof(float);
	     break;
	     case ECORE_CONFIG_STR:
	     case ECORE_CONFIG_THM:
	       *((char **) ptr) = _ecore_config_string_get(f);
	       ptr += sizeof(char *);
	     break;
	     case ECORE_CONFIG_RGB:
	       argb = _ecore_config_argbint_get(f);
	       *((int *) ptr) = (argb >> 24) & 0xff;
	       ptr += sizeof(int);
	       *((int *) ptr) = (argb >> 16) & 0xff;
	       ptr += sizeof(int);
	       *((int *) ptr) = (argb >> 8) & 0xff;
	       ptr += sizeof(int);
	       *((int *) ptr) = argb & 0xff;
	       ptr += sizeof(int);
	     break;
	     default:
	       WRN("ARGH - STRUCT coding not implemented yet");
	  }
	l = eina_list_next(l);
     }
   return ECORE_CONFIG_ERR_SUCC;
}
void
alarm_edje_signal_emit(const char *source, const char *message)
{
   Eina_List *l;

   for (l=alarm_config->instances; l; l=eina_list_next(l))
     {
        Instance *inst;

        inst = eina_list_data_get(l);
        edje_object_signal_emit(inst->obj, source, message);
     }
}
void
alarm_edje_text_set(char *part, char *text)
{
   Eina_List *l;

   for (l=alarm_config->instances; l; l=eina_list_next(l))
     {
        Instance *inst;

        inst = eina_list_data_get(l);
        edje_object_part_text_set(inst->obj, part, text);
     }
}
News_Config_Item *
news_config_item_add(const char *id)
{
   News_Config_Item *nic;
   Eina_List *l;
   char buf[128];

   DCONF(("Item new config"));

   if (!id)
     {
	int  num = 0;

	/* Create id */
	if (news->config->items)
	  {
	     const char *p;
	     nic = eina_list_last(news->config->items)->data;
	     p = strrchr(nic->id, '.');
	     if (p) num = atoi(p + 1) + 1;
	  }
	snprintf(buf, sizeof(buf), "%s.%d", _gc_name(), num);
	id = buf;
     }
   else
     {
	/* is there already an item config for this id ? */
	for (l=news->config->items; l; l=eina_list_next(l))
	  {
	     nic = eina_list_data_get(l);
	     if (!strcmp(nic->id, id))
	       {
		  DCONF(("config found ! %s", nic->id));
		  return nic;
	       }
	  }
     }

   DCONF(("config NOT found ! creating new one %s", id));
   /* no, create a new item config */
   nic = E_NEW(News_Config_Item, 1);

   nic->id = eina_stringshare_add(id);
   nic->view_mode = NEWS_ITEM_VIEW_MODE_DEFAULT;
   nic->openmethod = NEWS_ITEM_OPENMETHOD_DEFAULT;
   nic->browser_open_home = NEWS_ITEM_BROWSER_OPEN_HOME_DEFAULT;

   news->config->items = eina_list_append(news->config->items, nic);

   return nic;
}
Esempio n. 16
0
static Eina_Bool
eina_list_iterator_next(Eina_Iterator_List *it, void **data)
{
   EINA_MAGIC_CHECK_LIST_ITERATOR(it, EINA_FALSE);

   if (!it->current)
     return EINA_FALSE;

   *data = eina_list_data_get(it->current);

   it->current = eina_list_next(it->current);

   return EINA_TRUE;
}
Esempio n. 17
0
EAPI void
e_layout_child_raise(Evas_Object *obj)
{
   E_Layout_Item *li;
   
   li = evas_object_data_get(obj, "e_layout_data");
   if (!li) return;
   if (!eina_list_data_find(li->sd->items, obj)) return;
   if ((li->sd->items) && eina_list_next(li->sd->items))
     {
	li->sd->items = eina_list_remove(li->sd->items, obj);
	evas_object_raise(obj);
	li->sd->items = eina_list_append(li->sd->items, obj);
     }
}
Esempio n. 18
0
EAPI void
e_layout_child_lower_below(Evas_Object *obj, Evas_Object *below)
{
   E_Layout_Item *li;
   
   li = evas_object_data_get(obj, "e_layout_data");
   if (!li) return;
   if (!eina_list_data_find(li->sd->items, below)) return;
   if (!eina_list_data_find(li->sd->items, obj)) return;
   if ((li->sd->items) && eina_list_next(li->sd->items))
     {
	li->sd->items = eina_list_remove(li->sd->items, obj);
	evas_object_stack_below(obj, below);
	li->sd->items = eina_list_prepend_relative(li->sd->items, obj, below);
     }
}
Esempio n. 19
0
static JSBool
elixir_evas_object_smart_members_get(JSContext *cx, uintN argc, jsval *vp)
{
   Evas_Object *know = NULL;
   Eina_List *list;
   Eina_List *head;
   JSObject *array;
   int i;
   elixir_value_t val[1];

   if (!elixir_params_check(cx, _evas_object_smart_params, val, argc, JS_ARGV(cx, vp)))
     return JS_FALSE;

   GET_PRIVATE(cx, val[0].v.obj, know);

   list = (Eina_List*) evas_object_smart_members_get(know);
   if (!list)
     {
	JS_SET_RVAL(cx, vp, JSVAL_NULL);
	return JS_TRUE;
     }

   array = elixir_return_array(cx, vp);
   if (!array)
     {
	eina_list_free(list);
	return JS_FALSE;
     }

   for (i = 0, head = list; list; list = eina_list_next(list), ++i)
     {
	Evas_Object *obj;
	jsval js_obj;

	obj = eina_list_data_get(list);

	evas_object_to_jsval(cx, obj, &js_obj);
	if (JS_SetElement(cx, array, i, &js_obj) == JS_FALSE)
	  return JS_FALSE;
     }

   eina_list_free(head);

   return JS_TRUE;
}
Esempio n. 20
0
static char *
stack_id(void)
{
   char *id;
   int len;
   Eina_List *l;
   char *data;

   len = 0;
   EINA_LIST_FOREACH(stack, l, data)
     len += strlen(data) + 1;
   id = mem_alloc(len);
   id[0] = 0;
   EINA_LIST_FOREACH(stack, l, data)
     {
	strcat(id, data);
	if (eina_list_next(l)) strcat(id, ".");
     }
Esempio n. 21
0
static JSBool
elixir_evas_object_clipees_get(JSContext *cx, uintN argc, jsval *vp)
{
   Evas_Object *know = NULL;
   JSObject *array;
   Eina_List *list;
   int i;
   elixir_value_t val[1];

   if (!elixir_params_check(cx, _evas_object_params, val, argc, JS_ARGV(cx, vp)))
     return JS_FALSE;

   GET_PRIVATE(cx, val[0].v.obj, know);

   list = (Eina_List*) evas_object_clipees_get(know);
   if (!list)
     {
	JS_SET_RVAL(cx, vp, JSVAL_NULL);
	return JS_TRUE;
     }

   array = elixir_return_array(cx, vp);
   if (!array)
     {
	evas_render_method_list_free(list);
	return JS_FALSE;
     }

   for (i = 0; list; list = eina_list_next(list), ++i)
     {
	Evas_Object *obj;
	jsval js_obj;

	obj = eina_list_data_get(list);

	evas_object_to_jsval(cx, obj, &js_obj);

	if (JS_SetElement(cx, array, i, &js_obj) == JS_FALSE)
	  return JS_FALSE;
     }

   /* FIXME: We have a little memory leak here. */
   return JS_TRUE;
}
News_Item *
news_item_new(E_Gadcon_Client *gcc, Evas_Object *obj, const char *id)
{
   News_Item *ni;
   News_Config_Item *nic;
   Evas_Object *view;
   Eina_List *l;

   ni = E_NEW(News_Item, 1);

   news_theme_edje_set(obj, NEWS_THEME_ITEM);

   nic = news_config_item_add(id);
   ni->gcc = gcc;
   ni->obj = obj;
   ni->config = nic;

   evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_DOWN,
				  _cb_mouse_down, ni);
   evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_OUT,
				  _cb_mouse_out, ni);

   /* attach feeds */
   for (l=nic->feed_refs; l; l=eina_list_next(l))
     {
        News_Feed_Ref *ref;

        ref = eina_list_data_get(l);
        news_feed_attach(NULL, ref, ni);
     }
   news_feed_list_ui_refresh();

   /* main view */
   view = e_box_add(gcc->gadcon->evas);
   e_box_homogenous_set(view, 1);
   e_box_orientation_set(view, 1);
   edje_object_part_swallow(ni->obj, "view", view);
   evas_object_show(view);
   ni->view.box = view;

   news_item_refresh(ni, 1, 1, 1);

   return ni;
}
void
alarm_edje_refresh_details(void)
{
   Eina_List *l;
   Alarm *al;
   Alarm *first;
   double first_epoch;
   char buf[32];

   first = NULL;
   first_epoch = LONG_MAX;

   for (l=alarm_config->alarms; l; l=eina_list_next(l))
     {
        al = eina_list_data_get(l);
        if (al->state == ALARM_STATE_OFF)
          continue;
        if (al->sched.date_epoch < first_epoch)
          {
             first = al;
             first_epoch = al->sched.date_epoch;
          }
     }

   if (!first)
     {
        alarm_edje_text_set("alarm_txt_line", "-- --:--");
        return;
     }
   else
     {
        struct tm *st;
        time_t t;
        char bufdate[32];
        
        t = first_epoch - (first->sched.hour*3600) - (first->sched.minute*60);
        st = localtime(&t);
        strftime(bufdate, sizeof(bufdate), "%d", st);
        snprintf(buf, sizeof(buf), "%.2s %.2d:%.2d",
                 bufdate, first->sched.hour, first->sched.minute);
        alarm_edje_text_set("alarm_txt_line", buf);
     }
}
Esempio n. 24
0
EAPI void
e_font_apply(void)
{
   char buf[1024];
   Eina_List *l;
   E_Border *bd;
   E_Font_Default *efd;
   E_Font_Fallback *eff;
   int blen, len;

   /* setup edje fallback list */
   blen = sizeof(buf) - 1;
   buf[0] = 0;
   buf[blen] = 0;
   l = e_config->font_fallbacks;
   if (l)
     {
        eff = eina_list_data_get(l);
        len = strlen(eff->name);
        if (len < blen)
          {
             strcpy(buf, eff->name);
             blen -= len;
          }
        EINA_LIST_FOREACH(eina_list_next(l), l, eff)
          {
             len = 1;
             if (len < blen)
               {
                  strcat(buf, ",");
                  blen -= len;
               }
             len = strlen(eff->name);
             if (len < blen)
               {
                  strcat(buf, eff->name);
                  blen -= len;
               }
          }
        edje_fontset_append_set(buf);
     }
void
alarm_details_change(void)
{
   Eina_List *l;

   for(l=alarm_config->instances; l; l=eina_list_next(l))
     {
        Instance *i;

        i = eina_list_data_get(l);
        _gc_orient(i->gcc, -1);
     }

   if (alarm_config->alarms_details)
     {
        alarm_edje_refresh_details();
        alarm_edje_signal_emit(EDJE_SIG_SEND_ALARM_DETAILS_ON);
     }
   else
     alarm_edje_signal_emit(EDJE_SIG_SEND_ALARM_DETAILS_OFF);
}
static int
_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) 
{
   News_Config_Item *nic, *nic2;
   News_Item *ni, *ni2;
   Eina_List *l;
   
   ni = cfdata->ni;
   nic = ni->config;

   if (!cfdata->apply_to_all)
     {
        nic->openmethod = cfdata->openmethod;
        nic->browser_open_home = cfdata->browser_open_home;
        if (nic->view_mode != cfdata->view_mode)
          {
             nic->view_mode = cfdata->view_mode;
             news_item_refresh(ni, 1, 0, 1);
          }
     }
   else
     {
        for (l=news->items; l; l=eina_list_next(l))
          {
             ni2 = l->data;
             nic2 = ni2->config;
             nic2->openmethod = cfdata->openmethod;
             nic2->browser_open_home = cfdata->browser_open_home;
             if (nic2->view_mode != cfdata->view_mode)
               {
                  nic2->view_mode = cfdata->view_mode;
                  news_item_refresh(ni2, 1, 0, 1);
               }
          }
     }
   nic->apply_to_all = cfdata->apply_to_all;
   
   news_config_save();
   return 1;
}
Esempio n. 27
0
File: utils.c Progetto: GeeXboX/enna
int
enna_util_has_suffix(char *str, Eina_List * patterns)
{
    Eina_List *l;
    int result = 0;

    unsigned int i;
    char *tmp;

    if (!patterns || !str || !str[0])
        return 0;

    for (l = patterns; l; l = eina_list_next(l))
    {
        tmp = calloc(1, strlen(str) + 1);
        for (i = 0; i < strlen(str); i++)
            tmp[i] = tolower(str[i]);
        result |= enna_util_str_has_suffix(tmp, (char *)l->data);
        ENNA_FREE(tmp);
    }
    return result;
}
Esempio n. 28
0
static void
_cb_feed_remove(void *data, void *data2)
{
   E_Config_Dialog_Data *cfdata;
   News_Item *ni;
   News_Feed *f;
   Eina_List *l;
  
   cfdata = data;
   ni = cfdata->ni;

   for (l=cfdata->ilist_selected_feeds_sel; l; l=eina_list_next(l))
     {
        f = l->data;
        news_feed_detach(f, 1);
     }

   news_item_refresh(ni, 1, 0, 0);
   news_config_dialog_item_content_refresh_selected_feeds(ni);
   news_viewer_refresh(ni->viewer);

   news_config_save();
}
void
alarm_alarm_ring_stop(Alarm *al, int check)
{
   Eina_List *l;

   if (al)
     {
        if (al->state != ALARM_STATE_RINGING) return;

        al->state = ALARM_STATE_ON;
        alarm_config->alarms_ringing_nb--;
        if (check) _alarm_check_date(al, 0);
     }
   else
     {
        for (l=alarm_config->alarms; l; l=eina_list_next(l))
          {
             al = eina_list_data_get(l);
             if (al->state == ALARM_STATE_RINGING)
               {
                  printf("Stop alarm %s\n", al->name);
                  al->state = ALARM_STATE_ON;
                  alarm_config->alarms_ringing_nb--;
                  if (check) _alarm_check_date(al, 0);
               }
          }
     }

   if (alarm_config->alarms_ringing_nb == 0)
     {
        alarm_edje_signal_emit(EDJE_SIG_SEND_ALARM_STATE_ON);
        alarm_config->alarms_state = ALARM_STATE_ON;
     }

   e_config_save_queue();
}
Esempio n. 30
0
END_TEST

START_TEST(inherits_test)
{
   Eina_List *compare = NULL, *itr1, *itr2;
   Eina_List *inherits_list = NULL;
   char *str1, *str2;
   eina_init();
   compare = eina_list_append(compare, "MyBaseClass1");
   compare = eina_list_append(compare, "MyBaseClass2");

   eolian_database_init();
   eolian_eo_class_desc_parse(EO_COMMENT);
   inherits_list = (Eina_List*) database_class_inherits_list_get("MyClassName");
   fail_if(!inherits_list);
   ck_assert_int_eq(eina_list_count(inherits_list), 2);
   itr2 = compare;
   EINA_LIST_FOREACH(inherits_list, itr1, str1)
     {
        str2 = eina_list_data_get(itr2);
        ck_assert_str_eq(str1, str2);

        itr2 = eina_list_next(itr2);
     }