/* Called when the iconbox is pressed by the mouse */ static Etk_Bool _etk_test_iconbox_mouse_down_cb(Etk_Object *object, Etk_Event_Mouse_Up *event, void *data) { Etk_Iconbox *iconbox; Etk_Iconbox_Icon *icon; Etk_String *new_folder; char *parent; if (!(iconbox = ETK_ICONBOX(object))) return ETK_TRUE; if (event->button != 1 || !(event->flags & ETK_MOUSE_DOUBLE_CLICK) || (event->flags & ETK_MOUSE_TRIPLE_CLICK)) return ETK_TRUE; if (!(icon = etk_iconbox_icon_get_at_xy(iconbox, event->canvas.x, event->canvas.y, ETK_FALSE, ETK_TRUE, ETK_TRUE))) return ETK_TRUE; if (!strcmp(etk_iconbox_icon_label_get(icon), "..")) { parent = ecore_file_dir_get(etk_string_get(_etk_test_iconbox_current_folder)); _etk_test_iconbox_folder_set(iconbox, parent); free(parent); } else { if (etk_string_length_get(_etk_test_iconbox_current_folder) == 1) new_folder = etk_string_new_printf("/%s", etk_iconbox_icon_label_get(icon)); else new_folder = etk_string_new_printf("%s/%s", etk_string_get(_etk_test_iconbox_current_folder), etk_iconbox_icon_label_get(icon)); _etk_test_iconbox_folder_set(iconbox, etk_string_get(new_folder)); etk_object_destroy(ETK_OBJECT(new_folder)); } return ETK_TRUE; }
/* Image Browser Callbacks */ Etk_Bool _image_browser_iconbox_selected_cb(Etk_Iconbox *iconbox, Etk_Iconbox_Icon *icon, void *data) { const char *image; image = etk_iconbox_icon_label_get(icon); printf("CLICK ON: %s :)\n", image); if (ImageBroserUpdate && etk_string_length_get(Cur.part) && etk_string_length_get(Cur.state)) { edje_edit_state_image_set(edje_o, Cur.part->string, Cur.state->string, image); } image_frame_update(); return ETK_TRUE; }