/* Externally accesible functions */ EAPI E_Entry_Dialog * e_entry_dialog_show(const char *title, const char *icon, const char *text, const char *initial_text, const char *button_text, const char *button2_text, void (*ok_func)(void *data, char *text), void (*cancel_func)(void *data), void *data) { E_Entry_Dialog *ed; E_Dialog *dia; Evas_Object *o, *ob; Evas_Modifier_Mask mask; int w, h; ed = E_OBJECT_ALLOC(E_Entry_Dialog, E_ENTRY_DIALOG_TYPE, _e_entry_dialog_free); ed->ok.func = ok_func; ed->ok.data = data; ed->cancel.func = cancel_func; ed->cancel.data = data; if (initial_text) ed->text = strdup(initial_text); dia = e_dialog_new(e_container_current_get(e_manager_current_get()), "E", "_entry_dialog"); if (!dia) { e_object_del(E_OBJECT(ed)); return NULL; } dia->data = ed; ed->dia = dia; mask = 0; evas_object_key_ungrab(dia->event_object, "space", mask, ~mask); e_object_del_attach_func_set(E_OBJECT(dia), _e_entry_dia_del); e_win_delete_callback_set(dia->win, _e_entry_dialog_delete); if (title) e_dialog_title_set(dia, title); if (icon) e_dialog_icon_set(dia, icon, 64); o = e_widget_list_add(dia->win->evas, 0, 0); if (text) { ob = e_widget_label_add(dia->win->evas, text); e_widget_list_object_append(o, ob, 1, 0, 0.5); } ed->entry = e_widget_entry_add(dia->win->evas, &(ed->text), NULL, NULL, NULL); evas_object_smart_callback_add(ed->entry, "key_down", _e_entry_cb_key_down, ed); e_widget_list_object_append(o, ed->entry, 1, 1, 0.5); e_widget_size_min_get(o, &w, &h); e_dialog_content_set(dia, o, w, h); e_dialog_button_add(dia, !button_text ? _("OK") : button_text, NULL, _e_entry_dialog_ok, ed); e_dialog_button_add(dia, !button2_text ? _("Cancel") : button2_text, NULL, _e_entry_dialog_cancel, ed); e_win_centered_set(dia->win, 1); e_dialog_show(dia); e_widget_focus_set(ed->entry, 1); e_editable_select_all(e_widget_entry_editable_object_get(ed->entry)); return ed; }
void vm_info_cb(void *data, Evas_Object *obj, void *event_info) { Elm_Genlist_Item *gl; vmitem *item; zrpc_vm *vm; const char *os_icon, *state; char tmp[PATH_MAX]; Eina_List *l; zrpc_disk *d; zrpc_vif *v; int cpus; elm_toolbar_item_unselect_all(win->main_vm->bar); gl = elm_genlist_selected_item_get(win->main_vm->list); if (!gl) return; ecore_timer_del(win->timerget); item = (vmitem*)elm_genlist_item_data_get(gl); vm = item->vm; win->info->vmuuid = eina_stringshare_ref(vm->uuid); evas_object_smart_callback_del(win->main_vm->list, "clicked", vm_info_cb); create_info_vm(); win->info->state = NULL; zinfo_job_updatevm(win); for (cpus = 0;cpus < vm->vcpus;cpus++) { win->info->cpus = elm_icon_add(win->win); elm_icon_file_set(win->info->cpus, "images/cpu.png", NULL); elm_icon_scale_set(win->info->cpus, 0, 0); elm_icon_smooth_set(win->info->cpus, 1); evas_object_size_hint_weight_set(win->info->state_icon, 0.0, 0.0); evas_object_size_hint_align_set(win->info->state_icon, 0.0, 1.0); elm_box_pack_after(win->info->vbox2, win->info->cpus, win->info->state_label); evas_object_show(win->info->cpus); } elm_frame_label_set(win->info->frame, vm->name); os_icon = get_os_icon(vm); elm_icon_file_set(win->info->os_icon, os_icon, NULL); eina_stringshare_del(os_icon); elm_label_label_set(win->info->os, vm->os); elm_label_label_set (win->info->uuid, vm->uuid); elm_label_label_set(win->info->puuid, vm->puuid); EINA_LIST_FOREACH(vm->disks, l, d) elm_hoversel_item_add(win->info->disks, d->ext_dev, NULL, ELM_ICON_NONE, NULL, d); state = get_state_icon(vm->state); elm_icon_file_set(win->info->state_icon, state, NULL); eina_stringshare_del(state); EINA_LIST_FOREACH(vm->vifs, l, v) elm_hoversel_item_add(win->info->vifs, v->name, NULL, ELM_ICON_NONE, NULL, v); sprintf(tmp, "Kernel: %s", vm->kernel); elm_label_label_set(win->info->kernel, tmp); sprintf(tmp, "Ramdisk: %s", vm->ramdisk); elm_label_label_set(win->info->ramdisk, tmp); sprintf(tmp, "Kernel args: %s", vm->cmdline); elm_label_label_set(win->info->cmdline, tmp); evas_object_key_ungrab(win->win, "Up", 0, 0); evas_object_key_ungrab(win->win, "Down", 0, 0); evas_object_key_ungrab(win->win, "Left", 0, 0); evas_object_key_ungrab(win->win, "Right", 0, 0); evas_object_key_ungrab(win->win, "Home", 0, 0); evas_object_key_ungrab(win->win, "End", 0, 0); elm_flip_content_back_set(win->main_vm->fl, win->info->frame); win->view = win->info->vmview; elm_flip_go(win->main_vm->fl, ELM_FLIP_ROTATE_X_CENTER_AXIS); EINA_LIST_FREE(win->elist, item) free_vmitem(item); win->elist = NULL; eina_list_free(win->list); win->list = NULL; evas_object_hide(win->main_vm->box2); evas_object_del(win->main_vm->box2); win->timerget = ecore_timer_add(5, zinfo_job_updatevm, NULL); }