Enlightenment CVS committal Author : urandom Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_file_dialog.c e_file_selector.c e_file_selector.h e_widget_fileman.c e_widget_fileman.h Log Message: the 3 buttons in the file dialog now point somewhere. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_file_dialog.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- e_file_dialog.c 18 Feb 2006 04:35:26 -0000 1.12 +++ e_file_dialog.c 12 Jun 2006 07:19:03 -0000 1.13 @@ -5,12 +5,15 @@ * buttons, and a "Places" frame where the user can add his favorite places. * When the user selects a file, it will trigger a callback. */ - + static void _e_file_dialog_button1_click(void *data, E_Dialog *dia); static void _e_file_dialog_button2_click(void *data, E_Dialog *dia); static void _e_file_dialog_free(E_File_Dialog *dia); static void _e_file_dialog_file_select_cb(Evas_Object *obj, char *file, void *data); static void _e_file_dialog_file_hilite_cb(Evas_Object *obj, char *file, void *data); +static void _cb_icons(void *data, void *data2); +static void _cb_home(void *data, void *data2); +static void _cb_desktop(void *data, void *data2); EAPI E_File_Dialog * e_file_dialog_new(E_Container *con) @@ -44,20 +47,21 @@ dia->select_func = NULL; dia->hilite_func = NULL; dia->select_data = NULL; - evas = dia->dia->win->evas; + evas = dia->dia->win->evas; + + fm = e_widget_fileman_add(evas, &(dia->file)); + e_widget_fileman_select_callback_add(fm, _e_file_dialog_file_select_cb, dia); + e_widget_fileman_hilite_callback_add(fm, _e_file_dialog_file_hilite_cb, dia); ol = e_widget_list_add(evas, 0, 1); list = e_widget_framelist_add(evas, _("Places"), 0); e_widget_framelist_content_align_set(list, 0.5, 0.0); - e_widget_framelist_object_append(list, e_widget_button_add(evas, _("Home"), "fileman/home", NULL, NULL, NULL)); - e_widget_framelist_object_append(list, e_widget_button_add(evas, _("Desktop"), "fileman/desktop", NULL, NULL, NULL)); - e_widget_framelist_object_append(list, e_widget_button_add(evas, _("Icons"), "fileman/folder", NULL, NULL, NULL)); + e_widget_framelist_object_append(list, e_widget_button_add(evas, _("Home"), "fileman/home", _cb_home, fm, NULL)); + e_widget_framelist_object_append(list, e_widget_button_add(evas, _("Desktop"), "fileman/desktop", _cb_desktop, fm, NULL)); + e_widget_framelist_object_append(list, e_widget_button_add(evas, _("Icons"), "fileman/folder", _cb_icons, fm, NULL)); e_widget_list_object_append(ol, list, 1, 0, 0.0); - - fm = e_widget_fileman_add(evas, &(dia->file)); - e_widget_fileman_select_callback_add(fm, _e_file_dialog_file_select_cb, dia); - e_widget_fileman_hilite_callback_add(fm, _e_file_dialog_file_hilite_cb, dia); + e_widget_list_object_append(ol, fm, 1, 1, 0.0); e_widget_min_size_get(ol, &w, &h); @@ -146,4 +150,37 @@ e_object_unref(E_OBJECT(dia->dia)); E_FREE(dia->file); //free(dia); +} + +static void +_cb_icons(void *data, void *data2) +{ + Evas_Object *obj; + char path[PATH_MAX]; + + obj = data; + snprintf(path, PATH_MAX, "%s/.icons", e_user_homedir_get()); + e_widget_fileman_dir_set(obj, path); +} + +static void +_cb_desktop(void *data, void *data2) +{ + Evas_Object *obj; + char path[PATH_MAX]; + + obj = data; + snprintf(path, PATH_MAX, "%s/Desktop", e_user_homedir_get()); + e_widget_fileman_dir_set(obj, path); +} + +static void +_cb_home(void *data, void *data2) +{ + Evas_Object *obj; + char path[PATH_MAX]; + + obj = data; + snprintf(path, PATH_MAX, "%s", e_user_homedir_get()); + e_widget_fileman_dir_set(obj, path); } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_file_selector.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- e_file_selector.c 7 Jan 2006 10:39:45 -0000 1.8 +++ e_file_selector.c 12 Jun 2006 07:19:03 -0000 1.9 @@ -90,6 +90,14 @@ sd->func_data = data; } +EAPI void +e_file_selector_dir_set(Evas_Object *obj, const char *dir) +{ + API_ENTRY return; + + e_fm_dir_set(sd->files, dir); +} + static void _e_file_selector_scroll_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y) { =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_file_selector.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e_file_selector.h 5 Dec 2005 22:20:33 -0000 1.3 +++ e_file_selector.h 12 Jun 2006 07:19:03 -0000 1.4 @@ -19,6 +19,7 @@ EAPI void e_file_selector_view_set(Evas_Object *object, int view); EAPI int e_file_selector_view_get(Evas_Object *object); EAPI void e_file_selector_callback_add(Evas_Object *obj, void (*func) (Evas_Object *obj, char *file, void *data), void (*hilite_func) (Evas_Object *obj, char *file, void *data), void *data); +EAPI void e_file_selector_dir_set(Evas_Object *obj, const char *dir); #endif #endif =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_fileman.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- e_widget_fileman.c 21 Jan 2006 15:37:41 -0000 1.9 +++ e_widget_fileman.c 12 Jun 2006 07:19:03 -0000 1.10 @@ -134,3 +134,12 @@ wd->hilite_func = func; wd->hilite_data = data; } + +EAPI void +e_widget_fileman_dir_set(Evas_Object *obj, const char *dir) +{ + E_Widget_Data *wd; + + wd = e_widget_data_get(obj); + e_file_selector_dir_set(wd->o_fm, dir); +} =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_fileman.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e_widget_fileman.h 29 Dec 2005 15:34:47 -0000 1.3 +++ e_widget_fileman.h 12 Jun 2006 07:19:03 -0000 1.4 @@ -9,6 +9,7 @@ EAPI Evas_Object *e_widget_fileman_add(Evas *evas, char **val); EAPI void e_widget_fileman_select_callback_add(Evas_Object *obj, void (*func) (Evas_Object *obj, char *file, void *data), void *data); EAPI void e_widget_fileman_hilite_callback_add(Evas_Object *obj, void (*func) (Evas_Object *obj, char *file, void *data), void *data); +EAPI void e_widget_fileman_dir_set(Evas_Object *obj, const char *dir); #endif #endif _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs