Enlightenment CVS committal Author : codewarrior Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: Makefile.am e_eap_editor.c e_includes.h e_widget_fileman.c e_widget_iconsel.c Added Files: e_file_selector.c e_file_selector.h e_file_dialog.c e_file_dialog.h Log Message: - e_file_selector (smart) - e_file_dialog (e_object) - fix stuff to use them =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/Makefile.am,v retrieving revision 1.70 retrieving revision 1.71 diff -u -3 -r1.70 -r1.71 --- Makefile.am 27 Oct 2005 10:19:43 -0000 1.70 +++ Makefile.am 28 Oct 2005 13:44:41 -0000 1.71 @@ -105,7 +105,9 @@ e_int_border_remember.h \ e_eap_editor.h \ e_widget_iconsel.h \ -e_widget_fileman.h +e_widget_fileman.h \ +e_file_selector.h \ +e_file_dialog.h enlightenment_src = \ e_user.c \ @@ -192,6 +194,8 @@ e_eap_editor.c \ e_widget_iconsel.c \ e_widget_fileman.c \ +e_file_selector.c \ +e_file_dialog.c \ $(ENLIGHTENMENTHEADERS) enlightenment_SOURCES = \ =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_eap_editor.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- e_eap_editor.c 27 Oct 2005 10:19:43 -0000 1.6 +++ e_eap_editor.c 28 Oct 2005 13:44:41 -0000 1.7 @@ -215,8 +215,8 @@ e_theme_edje_object_set(editor->img, "base/theme/icons/enlightenment/e", "icons/enlightenment/e"); } - editor->img_widget = e_widget_iconsel_add(evas, editor->img, - 48, 48, &cfdata->image); + editor->img_widget = e_widget_iconsel_add(evas, editor->img, 48, 48, + &cfdata->image); e_widget_frametable_object_append(o, editor->img_widget, 0, 0, 1, 1, =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_includes.h,v retrieving revision 1.54 retrieving revision 1.55 diff -u -3 -r1.54 -r1.55 --- e_includes.h 24 Oct 2005 23:08:20 -0000 1.54 +++ e_includes.h 28 Oct 2005 13:44:41 -0000 1.55 @@ -84,3 +84,5 @@ #include "e_thumb.h" #include "e_int_border_remember.h" #include "e_eap_editor.h" +#include "e_file_selector.h" +#include "e_file_dialog.h" =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_widget_fileman.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_widget_fileman.c 27 Oct 2005 10:19:43 -0000 1.1 +++ e_widget_fileman.c 28 Oct 2005 13:44:41 -0000 1.2 @@ -3,19 +3,22 @@ */ #include "e.h" +/*- DESCRIPTION -*/ +/* This widget simply wraps e_file_selector into a widget. When a file is + * selected, the assigned value to valptr changes and contains the new file. + */ typedef struct _E_Widget_Data E_Widget_Data; struct _E_Widget_Data { Evas_Object *o_fm; char **valptr; - Ecore_Event_Handler *change_handler; }; static void _e_wid_del_hook(Evas_Object *obj); static void _e_wid_focus_steal(void *data, Evas *e, Evas_Object *obj, void *event_info); -static int _e_wid_text_change(void *data, Evas_Object *entry, char *key); - +static void _e_wid_fileman_selected_cb(Evas_Object *obj, char *file, void *data); + /* local subsystem functions */ static void @@ -33,33 +36,18 @@ e_widget_focus_steal(data); } -static int -_e_wid_text_change(void *data, Evas_Object *entry, char *key) +static void +_e_wid_fileman_selected_cb(Evas_Object *obj, char *file, void *data) { -#if 0 E_Widget_Data *wd; int size; - wd = data; + wd = data; - if(*(wd->valptr) == NULL) - { - size = (strlen(key) + 1) * sizeof(char); - *(wd->valptr) = realloc(*(wd->valptr), size); - snprintf(*(wd->valptr), size, "%s", key); - } - else - { - char *tmp; - - size = (strlen(*(wd->valptr)) + strlen(key) + 1) * sizeof(char); - tmp = E_NEW(char *, strlen(*(wd->valptr)) + 1); - snprintf(tmp, strlen(*(wd->valptr)) + 1, "%s", *(wd->valptr)); - *(wd->valptr) = realloc(*(wd->valptr), size); - snprintf(*(wd->valptr), size, "%s%s\0", tmp, key); - E_FREE(tmp); - } -#endif + E_FREE(*(wd->valptr)); + size = (strlen(file) + 1) * sizeof(char); + *(wd->valptr) = E_NEW(char *, size); + snprintf(*(wd->valptr), size, "%s", file); } /* externally accessible functions */ @@ -78,26 +66,15 @@ wd->valptr = val; e_widget_data_set(obj, wd); - bg = edje_object_add(evas); - e_theme_edje_object_set(bg, "base/theme/widgets/fileselector", - "widgets/fileselector/main"); - evas_object_show(bg); - - o = e_fm_add(evas); - wd->o_fm = o; - - scrollbar = e_scrollbar_add(evas); - e_scrollbar_direction_set(scrollbar, E_SCROLLBAR_VERTICAL); - - edje_object_part_swallow(bg, "items", wd->o_fm); - edje_object_part_swallow(bg, "vscrollbar", scrollbar); - evas_object_show(bg); - evas_object_resize(bg, 300, 200); + wd->o_fm = e_file_selector_add(evas); + e_file_selector_callback_add(wd->o_fm, _e_wid_fileman_selected_cb, wd); + evas_object_show(wd->o_fm); + evas_object_resize(wd->o_fm, 300, 200); e_widget_min_size_set(obj, 300, 200); - - e_widget_sub_object_add(obj, bg); - evas_object_event_callback_add(bg, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_focus_steal, obj); - e_widget_resize_object_set(obj, bg); + + e_widget_sub_object_add(obj, wd->o_fm); + evas_object_event_callback_add(wd->o_fm, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_focus_steal, obj); + e_widget_resize_object_set(obj, wd->o_fm); return obj; } =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_widget_iconsel.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_widget_iconsel.c 27 Oct 2005 10:19:43 -0000 1.1 +++ e_widget_iconsel.c 28 Oct 2005 13:44:41 -0000 1.2 @@ -155,51 +155,14 @@ _e_wid_activate_hook(Evas_Object *obj) { E_Widget_Data *wd; - E_Fileman *fileman; - E_Popup *popup; - E_Zone *zone; - E_Dialog *dia; - Evas_Object *table; - Evas_Object *button; - Evas *evas; - Evas_Object *ol; - Evas_Coord w, h; + E_File_Dialog *dia; wd = e_widget_data_get(obj); - dia = e_dialog_new(wd->con); - - evas = dia->win->evas; - - ol = e_widget_list_add(evas, 0, 1); - - table = e_widget_frametable_add(evas, "Places", 0); - - e_widget_frametable_object_append(table, e_widget_button_add(evas, "Home", "fileman/home", NULL, - NULL, NULL), - 0, 0, 1, 1, 1, 0, 1, 0); - - e_widget_frametable_object_append(table, e_widget_button_add(evas, " Desktop", "fileman/desktop", NULL, - NULL, NULL), - 0, 1, 1, 1, 1, 0, 1, 0); - - e_widget_frametable_object_append(table, e_widget_button_add(evas, " Icons", "fileman/folder", NULL, - NULL, NULL), - 0, 2, 1, 1, 1, 0, 1, 0); - - e_widget_list_object_append(ol, table, 1, 1, 0.0); - - table = e_widget_frametable_add(evas, "Select File", 0); - - e_widget_frametable_object_append(table, e_widget_fileman_add(evas, NULL), - 0, 0, 4, 4, 1, 1, 1, 1); - - e_widget_list_object_append(ol, table, 1, 1, 0.0); - - e_widget_min_size_get(ol, &w, &h); - e_dialog_content_set(dia, ol, w, h); - e_dialog_title_set(dia, "Select File"); - e_dialog_show(dia); + dia = e_file_dialog_new(wd->con); + if(!dia) return; + e_file_dialog_title_set(dia, "Select File"); + e_file_dialog_show(dia); } static void ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs