static void _populate(app_t *app) { FILE *fp; if (app->infile) { fp = fopen(app->infile, "r"); if (fp == NULL) { fprintf(stderr, "Could not open file for reading \"%s\": %s\n", app->infile, strerror(errno)); return; } } else { fprintf(stderr, "No input file provided, reading from stdin.\n"); fp = stdin; } while (!feof(fp)) { Evas_Object *obj; Evas_Coord w, h; char *line; unsigned n; int i; n = 0; line = NULL; i = getline(&line, &n, fp); if (i < 0) break; if (i == 0) { free(line); continue; } line[i - 1] = '\0'; obj = _new_list_item(app, line); e_box_pack_end(app->e_box, obj); edje_object_size_min_calc(obj, &w, &h); e_box_pack_options_set(obj, 1, 1, 1, 0, 0.0, 0.5, w, h, 9999, h); evas_object_show(obj); free(line); } if (fp != stdin) fclose(fp); e_box_align_set(app->e_box, 0.0, 1.0); app->current = 0; }
static void _item_refresh_mode_feed(News_Item *ni, int important_only, int unread_only, int changed_order, int changed_content, int changed_state) { Evas_Object *box; Evas_Object *obj; if (!eina_list_count(ni->config->feed_refs)) return; box = ni->view.box; NEWS_ITEM_FEEDS_FOREACH_BEG_LIST(ni->config->feed_refs); { obj = _feed->obj; if (important_only && (!_feed->important)) continue; if (unread_only && (!_feed->doc || !_feed->doc->unread_count)) continue; DITEM(("refresh : feed %s", _feed->name)); if (!_feed->obj || changed_content || changed_state) { news_feed_obj_refresh(_feed, changed_content, changed_state); obj = _feed->obj; } if (!_feed->obj || changed_order) { /* insert in the box */ e_box_pack_end(box, obj); e_box_pack_options_set(obj, 1, 1, /* fill */ 1, 1, /* expand */ 0, 0, /* align */ 0, 0, -1, -1 ); evas_object_show(obj); } _feed->obj = obj; } NEWS_ITEM_FEEDS_FOREACH_END(); }
static void _item_refresh_mode_one(News_Item *ni, int changed_order, int changed_state) { Evas_Object *box; Evas_Object *obj; box = ni->view.box; obj = ni->view.obj_mode_one; /* create obj */ if (!obj) { obj = edje_object_add(ni->gcc->gadcon->evas); news_theme_edje_set(obj, NEWS_THEME_FEEDONE); edje_object_signal_callback_add(obj, "e,action,open", "e", _cb_item_open, ni); } if (!ni->view.obj_mode_one || changed_order) { e_box_pack_end(box, obj); e_box_pack_options_set(obj, 1, 1, /* fill */ 1, 1, /* expand */ 0, 0, /* align */ 0, 0, -1, -1 ); evas_object_show(obj); } /* state */ if (!ni->view.obj_mode_one || changed_state) { if (ni->unread_count) edje_object_signal_emit(obj, "e,state,new,set", "e"); else edje_object_signal_emit(obj, "e,state,new,unset", "e"); } ni->view.obj_mode_one = obj; }
static void _opinfo_op_registry_listener(void *data, const E_Fm2_Op_Registry_Entry *ere) { Evas_Object *o = data; char *total, buf[4096]; Edje_Message_Float msg; int mw, mh; if (!o || !ere) return; // Don't show if the operation keep less than 1 second if (!ere->needs_attention && (ere->start_time + 1.0 > ecore_loop_time_get())) return; // Update icon switch (ere->op) { case E_FM_OP_COPY: edje_object_signal_emit(o, "e,action,icon,copy", "e"); break; case E_FM_OP_MOVE: edje_object_signal_emit(o, "e,action,icon,move", "e"); break; case E_FM_OP_REMOVE: edje_object_signal_emit(o, "e,action,icon,delete", "e"); break; case E_FM_OP_SECURE_REMOVE: edje_object_signal_emit(o, "e,action,icon,secure_delete", "e"); break; default: edje_object_signal_emit(o, "e,action,icon,unknown", "e"); } // Update information text switch (ere->status) { case E_FM2_OP_STATUS_ABORTED: switch (ere->op) { case E_FM_OP_COPY: snprintf(buf, sizeof(buf), _("Copying is aborted")); break; case E_FM_OP_MOVE: snprintf(buf, sizeof(buf), _("Moving is aborted")); break; case E_FM_OP_REMOVE: snprintf(buf, sizeof(buf), _("Deleting is aborted")); break; case E_FM_OP_SECURE_REMOVE: snprintf(buf, sizeof(buf), _("Secure deletion is aborted")); break; default: snprintf(buf, sizeof(buf), _("Unknown operation from slave is aborted")); } break; default: total = e_util_size_string_get(ere->total); switch (ere->op) { case E_FM_OP_COPY: if (ere->finished) snprintf(buf, sizeof(buf), _("Copy of %s done"), total); else snprintf(buf, sizeof(buf), _("Copying %s (eta: %s)"), total, e_util_time_str_get(ere->eta)); break; case E_FM_OP_MOVE: if (ere->finished) snprintf(buf, sizeof(buf), _("Move of %s done"), total); else snprintf(buf, sizeof(buf), _("Moving %s (eta: %s)"), total, e_util_time_str_get(ere->eta)); break; case E_FM_OP_REMOVE: if (ere->finished) snprintf(buf, sizeof(buf), _("Delete done")); else snprintf(buf, sizeof(buf), _("Deleting files...")); break; case E_FM_OP_SECURE_REMOVE: if (ere->finished) snprintf(buf, sizeof(buf), _("Secure delete done")); else snprintf(buf, sizeof(buf), _("Securely deleting files...")); break; default: snprintf(buf, sizeof(buf), _("Unknown operation from slave %d"), ere->id); } E_FREE(total); } edje_object_part_text_set(o, "e.text.info", buf); // Update spinner wheel if ((ere->finished) || (ere->status == E_FM2_OP_STATUS_ABORTED)) { if (!evas_object_data_get(o, "stopped")) { evas_object_data_set(o, "stopped", o); edje_object_signal_emit(o, "e,state,busy,stop", "e"); } } if (ere->percent > 0) { if (!evas_object_data_get(o, "started")) { evas_object_data_set(o, "started", o); edje_object_signal_emit(o, "e,state,busy,start", "e"); } } // Show/hide the red attention led if (ere->needs_attention) { if (!evas_object_data_get(o, "attention_started")) { evas_object_data_set(o, "attention_started", o); edje_object_signal_emit(o, "e,state,attention,start", "e"); if (evas_object_data_get(o, "attention_stopped")) evas_object_data_del(o, "attention_stopped"); } } else { if (!evas_object_data_get(o, "attention_stopped")) { evas_object_data_set(o, "attention_stopped", o); edje_object_signal_emit(o, "e,state,attention,stop", "e"); if (evas_object_data_get(o, "attention_started")) evas_object_data_del(o, "attention_started"); } } // Update gauge edje_object_part_drag_size_set(o, "e.gauge.bar", ((double)(ere->percent)) / 100.0, 1.0); msg.val = ((double)(ere->percent)) / 100.0; edje_object_message_send(o, EDJE_MESSAGE_FLOAT, 1, &msg); // resize element to fit the box edje_object_size_min_calc(o, &mw, &mh); e_box_pack_options_set(o, 1, 0, 1, 0, 0.0, 0.0, mw, mh, 9999, mh); evas_object_show(o); }
static void setup_gui_list(app_t *app) { Evas_Object *obj; int item_w, item_h, box_w, box_h, i, n_items; destroy_gui_list(app); obj = _new_list_item(app, NULL); edje_object_size_min_calc(obj, &item_w, &item_h); evas_object_del(obj); app->item_height = item_h; e_box_freeze(app->e_box); evas_object_geometry_get(app->e_box, &app->box_x, &app->box_y, &box_w, &box_h); app->box_y -= item_h; evas_object_move(app->e_box, app->box_x, app->box_y); n_items = box_h / item_h + 3; app->n_evas_items = n_items; app->evas_items = malloc(n_items * sizeof(Evas_Object *)); for (i = 0; i < n_items; i++) { Evas_Object *obj; obj = _new_list_item(app, ""); app->evas_items[i] = obj; e_box_pack_end(app->e_box, obj); edje_object_size_min_calc(obj, &item_w, &item_h); e_box_pack_options_set(obj, 1, 1, 1, 0, 0.0, 0.5, item_w, item_h, 9999, item_h); evas_object_show(obj); } e_box_align_set(app->e_box, 0.0, 1.0); app->arrow_down = edje_object_part_object_get(app->edje_main, "arrow_down"); app->arrow_up = edje_object_part_object_get(app->edje_main, "arrow_up"); evas_object_event_callback_add(app->arrow_up, EVAS_CALLBACK_MOUSE_DOWN, mouse_down_arrow_up, app); evas_object_event_callback_add(app->arrow_up, EVAS_CALLBACK_MOUSE_UP, mouse_up_arrow_up, app); evas_object_event_callback_add(app->arrow_down, EVAS_CALLBACK_MOUSE_DOWN, mouse_down_arrow_down, app); evas_object_event_callback_add(app->arrow_down, EVAS_CALLBACK_MOUSE_UP, mouse_up_arrow_down, app); fill_gui_list(app); e_box_thaw(app->e_box); }