Beispiel #1
0
static Eina_Bool
_opinfo_op_registry_free_data_delayed(void *data)
{
   Evas_Object *o = data;
   
   if (o)
     {
        e_box_unpack(o);
        evas_object_del(o);
     }
   
   return ECORE_CALLBACK_CANCEL;
}
/*
 * need to be called when
 *  view orientation
 *  view item size
 *  a feed has been added OR remove to/from an item
 * has changed
 */
void
news_item_refresh(News_Item *ni, int changed_order, int changed_content, int changed_state)
{
   Evas_Object *box;
   News_Item_View_Mode mode;

   box = ni->view.box;
   e_box_freeze(box);

   if (changed_order)
     {
        Evas_Object *o;

        while ((o = e_box_pack_object_first(box)))
          {
             e_box_unpack(o);
             evas_object_hide(o);
          }
     }

   if (!eina_list_count(ni->config->feed_refs))
     mode = NEWS_ITEM_VIEW_MODE_ONE;
   else
     mode = ni->config->view_mode;

   switch (mode)
     {
     case NEWS_ITEM_VIEW_MODE_ONE:
        _item_refresh_mode_one(ni, changed_order, changed_state);
        break;
     case NEWS_ITEM_VIEW_MODE_FEED:
        _item_refresh_mode_feed(ni, 0, 0, changed_order, changed_content, changed_state);
        break;
     case NEWS_ITEM_VIEW_MODE_FEED_UNREAD:
        _item_refresh_mode_feed(ni, 0, 1, changed_order, changed_content, changed_state);
     case NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT:
        _item_refresh_mode_feed(ni, 1, 0, changed_order, changed_content, changed_state);
        break;
     case NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT_UNREAD:
        _item_refresh_mode_feed(ni, 1, 1, changed_order, changed_content, changed_state);
        break;
     }

   e_box_thaw(box);

   /* resize the gadcon */
   if (changed_order && ni->gcc->client_class)
     ni->gcc->client_class->func.orient(ni->gcc, ni->gcc->gadcon->orient);
}
Beispiel #3
0
static void
destroy_gui_list(app_t *app)
{
    if (!app->evas_items)
        return;

    e_box_freeze(app->e_box);
    while (app->n_evas_items > 0) {
        Evas_Object *obj;

        app->n_evas_items--;

        obj = app->evas_items[app->n_evas_items];

        e_box_unpack(obj);
        evas_object_del(obj);
    }
    e_box_thaw(app->e_box);

    free(app->evas_items);
    app->evas_items = NULL;

    evas_object_event_callback_del(app->arrow_up,
                                   EVAS_CALLBACK_MOUSE_DOWN,
                                   mouse_down_arrow_up);
    evas_object_event_callback_del(app->arrow_up,
                                   EVAS_CALLBACK_MOUSE_UP,
                                   mouse_up_arrow_up);

    evas_object_event_callback_del(app->arrow_down,
                                   EVAS_CALLBACK_MOUSE_DOWN,
                                   mouse_down_arrow_down);
    evas_object_event_callback_del(app->arrow_down,
                                   EVAS_CALLBACK_MOUSE_UP,
                                   mouse_up_arrow_down);
}