Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: Makefile.am e_border.c e_border.h e_configure.c e_entry.c e_fm.c e_fm.h e_includes.h e_int_menus.c e_scrollframe.c e_widget_check.c e_widget_fsel.c e_widget_label.c e_widget_label.h Added Files: e_int_config_wallpaper.c e_int_config_wallpaper.h e_int_config_wallpaper_import.c e_int_config_wallpaper_import.h Log Message: aaah.... first a few patches - authors mailed. then - bg selector work. and a few sample bg's. system bg's dir and user bg dir - new bg dialog should also handle multihead simply too. picture select button does work - but its only as smart as the old one (the code was built off the old one). that needs a little work, but now the bg selector is fast and slick - comes up instantly. resiable too. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/Makefile.am,v retrieving revision 1.131 retrieving revision 1.132 diff -u -3 -r1.131 -r1.132 --- Makefile.am 30 Jul 2006 16:58:38 -0000 1.131 +++ Makefile.am 7 Aug 2006 20:25:34 -0000 1.132 @@ -167,7 +167,9 @@ e_widget_scrollframe.h \ e_sha1.h \ e_widget_fsel.h \ -e_fm_mime.h +e_fm_mime.h \ +e_int_config_wallpaper.h \ +e_int_config_wallpaper_import.h enlightenment_src = \ e_user.c \ @@ -311,6 +313,8 @@ e_sha1.c \ e_widget_fsel.c \ e_fm_mime.c \ +e_int_config_wallpaper.c \ +e_int_config_wallpaper_import.c \ $(ENLIGHTENMENTHEADERS) enlightenment_SOURCES = \ =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.520 retrieving revision 1.521 diff -u -3 -r1.520 -r1.521 --- e_border.c 6 Aug 2006 15:14:09 -0000 1.520 +++ e_border.c 7 Aug 2006 20:25:34 -0000 1.521 @@ -77,6 +77,7 @@ static void _e_border_event_border_uniconify_free(void *data, void *ev); static void _e_border_event_border_stick_free(void *data, void *ev); static void _e_border_event_border_unstick_free(void *data, void *ev); +static void _e_border_event_border_property_free(void *data, void *ev); static void _e_border_zone_update(E_Border *bd); @@ -131,6 +132,7 @@ EAPI int E_EVENT_BORDER_ICON_CHANGE = 0; EAPI int E_EVENT_BORDER_FOCUS_IN = 0; EAPI int E_EVENT_BORDER_FOCUS_OUT = 0; +EAPI int E_EVENT_BORDER_PROPERTY = 0; #define GRAV_SET(bd, grav) \ ecore_x_window_gravity_set(bd->bg_win, grav); \ @@ -183,6 +185,7 @@ E_EVENT_BORDER_ICON_CHANGE = ecore_event_type_new(); E_EVENT_BORDER_FOCUS_IN = ecore_event_type_new(); E_EVENT_BORDER_FOCUS_OUT = ecore_event_type_new(); + E_EVENT_BORDER_PROPERTY = ecore_event_type_new(); return 1; } @@ -3726,6 +3729,7 @@ { printf("ECORE_X_ATOM_NET_WM_SYNC_REQUEST_COUNTER\n"); } + return 1; } @@ -4660,6 +4664,7 @@ static void _e_border_eval(E_Border *bd) { + E_Event_Border_Property *event; int change_urgent = 0; int rem_change = 0; @@ -6217,6 +6222,12 @@ if ((bd->remember) && (rem_change)) e_remember_update(bd->remember, bd); + + + event = calloc(1, sizeof(E_Event_Border_Property)); + event->border = bd; + e_object_ref(E_OBJECT(bd)); + ecore_event_add(E_EVENT_BORDER_PROPERTY, event, _e_border_event_border_property_free, NULL); } static void @@ -6615,6 +6626,16 @@ _e_border_event_border_focus_out_free(void *data, void *ev) { E_Event_Border_Focus_Out *e; + + e = ev; + e_object_unref(E_OBJECT(e->border)); + free(e); +} + +static void +_e_border_event_border_property_free(void *data, void *ev) +{ + E_Event_Border_Property *e; e = ev; e_object_unref(E_OBJECT(e->border)); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.h,v retrieving revision 1.146 retrieving revision 1.147 diff -u -3 -r1.146 -r1.147 --- e_border.h 17 Jul 2006 19:04:01 -0000 1.146 +++ e_border.h 7 Aug 2006 20:25:34 -0000 1.147 @@ -89,6 +89,7 @@ typedef struct _E_Event_Border_Icon_Change E_Event_Border_Icon_Change; typedef struct _E_Event_Border_Focus_In E_Event_Border_Focus_In; typedef struct _E_Event_Border_Focus_Out E_Event_Border_Focus_Out; +typedef struct _E_Event_Border_Property E_Event_Border_Property; #else #ifndef E_BORDER_H @@ -535,6 +536,11 @@ E_Border *border; }; +struct _E_Event_Border_Property +{ + E_Border *border; +}; + EAPI int e_border_init(void); EAPI int e_border_shutdown(void); @@ -628,6 +634,7 @@ extern EAPI int E_EVENT_BORDER_ICON_CHANGE; extern EAPI int E_EVENT_BORDER_FOCUS_IN; extern EAPI int E_EVENT_BORDER_FOCUS_OUT; +extern EAPI int E_EVENT_BORDER_PROPERTY; #endif #endif =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_configure.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -3 -r1.47 -r1.48 --- e_configure.c 2 Jul 2006 16:19:51 -0000 1.47 +++ e_configure.c 7 Aug 2006 20:25:34 -0000 1.48 @@ -64,7 +64,8 @@ /* add items here */ e_configure_header_item_add(eco, "enlightenment/appearance", _("Appearance")); - e_configure_standard_item_add(eco, "enlightenment/background", _("Wallpaper"), e_int_config_background); +// e_configure_standard_item_add(eco, "enlightenment/background", _("Wallpaper"), e_int_config_background); + e_configure_standard_item_add(eco, "enlightenment/background", _("Wallpaper"), e_int_config_wallpaper); e_configure_standard_item_add(eco, "enlightenment/themes", _("Theme"), e_int_config_theme); e_configure_standard_item_add(eco, "enlightenment/fonts", _("Fonts"), e_int_config_fonts); e_configure_standard_item_add(eco, "enlightenment/mouse", _("Mouse Cursor"), e_int_config_cursor); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_entry.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- e_entry.c 27 Jul 2006 19:29:16 -0000 1.19 +++ e_entry.c 7 Aug 2006 20:25:34 -0000 1.20 @@ -108,7 +108,7 @@ { E_Editable_Text_Smart_Data *sd; - if ((!object) || (!text) || !(sd = evas_object_smart_data_get(object))) + if ((!object) || !(sd = evas_object_smart_data_get(object))) return; evas_object_textblock_text_markup_set(sd->text_object, text); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_fm.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- e_fm.c 30 Jul 2006 16:58:38 -0000 1.23 +++ e_fm.c 7 Aug 2006 20:25:34 -0000 1.24 @@ -397,7 +397,7 @@ } else { - if (ic->sd->config->view.single_click) + if (ic->sd->config->selection.single) _e_fm2_icon_deselect(ic); ic->last_selected = 0; } @@ -405,6 +405,29 @@ } EAPI void +e_fm2_file_show(Evas_Object *obj, char *file) +{ + E_Fm2_Smart_Data *sd; + Evas_List *l; + E_Fm2_Icon *ic; + + sd = evas_object_smart_data_get(obj); + if (!sd) return; // safety + if (!evas_object_type_get(obj)) return; // safety + if (strcmp(evas_object_type_get(obj), "e_fm")) return; // safety + for (l = sd->icons; l; l = l->next) + { + ic = l->data; + if (!strcmp(ic->info.file, file)) + { + e_fm2_pan_set(obj, ic->x, ic->y); + evas_object_smart_callback_call(obj, "pan_changed", NULL); + return; + } + } +} + +EAPI void e_fm2_pan_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y) { E_Fm2_Smart_Data *sd; @@ -1401,7 +1424,7 @@ snprintf(buf, sizeof(buf), "%s/%s", ic->sd->realpath, ic->info.file); ic->obj_icon = e_thumb_icon_add(evas_object_evas_get(ic->sd->obj)); e_thumb_icon_file_set(ic->obj_icon, buf, NULL); - e_thumb_icon_size_set(ic->obj_icon, 64, 48); + e_thumb_icon_size_set(ic->obj_icon, 64, 64); evas_object_smart_callback_add(ic->obj_icon, "e_thumb_gen", _e_fm2_cb_icon_thumb_gen, ic); _e_fm2_icon_thumb(ic); edje_object_part_swallow(ic->obj, "icon_swallow", ic->obj_icon); @@ -1444,7 +1467,7 @@ snprintf(buf, sizeof(buf), "%s/%s", ic->sd->realpath, ic->info.file); ic->obj_icon = e_thumb_icon_add(evas_object_evas_get(ic->sd->obj)); e_thumb_icon_file_set(ic->obj_icon, buf, "desktop/background"); - e_thumb_icon_size_set(ic->obj_icon, 64, 64); + e_thumb_icon_size_set(ic->obj_icon, 64, 48); evas_object_smart_callback_add(ic->obj_icon, "e_thumb_gen", _e_fm2_cb_icon_thumb_gen, ic); _e_fm2_icon_thumb(ic); edje_object_part_swallow(ic->obj, "icon_swallow", ic->obj_icon); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_fm.h,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- e_fm.h 28 Jul 2006 11:44:23 -0000 1.8 +++ e_fm.h 7 Aug 2006 20:25:34 -0000 1.9 @@ -108,6 +108,7 @@ EAPI Evas_List *e_fm2_selected_list_get(Evas_Object *obj); EAPI Evas_List *e_fm2_all_list_get(Evas_Object *obj); EAPI void e_fm2_select_set(Evas_Object *obj, char *file, int select); +EAPI void e_fm2_file_show(Evas_Object *obj, char *file); EAPI void e_fm2_pan_set(Evas_Object *obj, Evas_Coord x, Evas_Coord y); EAPI void e_fm2_pan_get(Evas_Object *obj, Evas_Coord *x, Evas_Coord *y); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_includes.h,v retrieving revision 1.110 retrieving revision 1.111 diff -u -3 -r1.110 -r1.111 --- e_includes.h 30 Jul 2006 16:58:38 -0000 1.110 +++ e_includes.h 7 Aug 2006 20:25:34 -0000 1.111 @@ -144,3 +144,5 @@ #include "e_widget_framelist.h" #include "e_widget_fsel.h" #include "e_fm_mime.h" +#include "e_int_config_wallpaper.h" +#include "e_int_config_wallpaper_import.h" =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_menus.c,v retrieving revision 1.143 retrieving revision 1.144 diff -u -3 -r1.143 -r1.144 --- e_int_menus.c 21 Jul 2006 00:46:40 -0000 1.143 +++ e_int_menus.c 7 Aug 2006 20:25:34 -0000 1.144 @@ -580,7 +580,7 @@ static void _e_int_menus_background_item_cb(void *data, E_Menu *m, E_Menu_Item *mi) { - e_int_config_background(m->zone->container); + e_int_config_wallpaper(m->zone->container); } static void =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_scrollframe.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- e_scrollframe.c 7 Jan 2006 10:39:45 -0000 1.9 +++ e_scrollframe.c 7 Aug 2006 20:25:34 -0000 1.10 @@ -42,6 +42,7 @@ /* local subsystem functions */ static void _e_smart_child_del_hook(void *data, Evas *e, Evas_Object *obj, void *event_info); static void _e_smart_pan_changed_hook(void *data, Evas_Object *obj, void *event_info); +static void _e_smart_pan_pan_changed_hook(void *data, Evas_Object *obj, void *event_info); static void _e_smart_event_wheel(void *data, Evas *e, Evas_Object *obj, void *event_info); static void _e_smart_event_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info); static void _e_smart_edje_drag_v(void *data, Evas_Object *obj, const char *emission, const char *source); @@ -96,6 +97,7 @@ o = e_pan_add(evas_object_evas_get(obj)); sd->pan_obj = o; evas_object_smart_callback_add(o, "changed", _e_smart_pan_changed_hook, sd); + evas_object_smart_callback_add(o, "changed", _e_smart_pan_pan_changed_hook, sd); evas_object_show(o); edje_object_part_swallow(sd->edje_obj, "item", o); } @@ -153,6 +155,7 @@ sd->pan_func.child_size_get = pan_child_size_get; sd->extern_pan = 1; evas_object_smart_callback_add(sd->pan_obj, "changed", _e_smart_pan_changed_hook, sd); + evas_object_smart_callback_add(sd->pan_obj, "pan_changed", _e_smart_pan_pan_changed_hook, sd); edje_object_part_swallow(sd->edje_obj, "item", sd->pan_obj); evas_object_show(sd->pan_obj); } @@ -334,6 +337,17 @@ sd->child.h = h; _e_smart_scrollbar_size_adjust(sd); } +} + +static void +_e_smart_pan_pan_changed_hook(void *data, Evas_Object *obj, void *event_info) +{ + Evas_Coord x, y; + E_Smart_Data *sd; + + sd = data; + sd->pan_func.get(sd->pan_obj, &x, &y); + e_scrollframe_child_pos_set(sd->smart_obj, x, y); } static void =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_check.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -3 -r1.12 -r1.13 --- e_widget_check.c 15 Jul 2006 14:59:51 -0000 1.12 +++ e_widget_check.c 7 Aug 2006 20:25:34 -0000 1.13 @@ -191,6 +191,7 @@ edje_object_signal_emit(wd->o_check, "toggle_off", ""); } } + evas_object_smart_callback_call(obj, "changed", NULL); } static void =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_fsel.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- e_widget_fsel.c 29 Jul 2006 09:26:18 -0000 1.4 +++ e_widget_fsel.c 7 Aug 2006 20:25:34 -0000 1.5 @@ -32,8 +32,10 @@ E_Widget_Data *wd; wd = data1; - e_fm2_parent_go(wd->o_files_fm); - e_widget_scrollframe_child_pos_set(wd->o_files_frame, 0, 0); + if (wd->o_files_fm) + e_fm2_parent_go(wd->o_files_fm); + if (wd->o_files_frame) + e_widget_scrollframe_child_pos_set(wd->o_files_frame, 0, 0); } static void @@ -46,6 +48,8 @@ char *p1, *p2; wd = data; + if (!wd->o_favorites_fm) return; + if (!wd->o_files_fm) return; icons = e_fm2_all_list_get(wd->o_favorites_fm); if (!icons) return; realpath = e_fm2_real_path_get(wd->o_files_fm); @@ -82,6 +86,8 @@ E_Fm2_Icon_Info *ici; wd = data; + if (!wd->o_favorites_fm) return; + if (!wd->o_files_frame) return; selected = e_fm2_selected_list_get(wd->o_favorites_fm); if (!selected) return; ici = selected->data; @@ -99,11 +105,19 @@ E_Widget_Data *wd; wd = data; + if (!wd->o_files_fm) return; if (!e_fm2_has_parent_get(wd->o_files_fm)) - e_widget_disabled_set(wd->o_up_button, 1); + { + if (wd->o_up_button) + e_widget_disabled_set(wd->o_up_button, 1); + } else - e_widget_disabled_set(wd->o_up_button, 0); - e_widget_scrollframe_child_pos_set(wd->o_files_frame, 0, 0); + { + if (wd->o_up_button) + e_widget_disabled_set(wd->o_up_button, 0); + } + if (wd->o_files_frame) + e_widget_scrollframe_child_pos_set(wd->o_files_frame, 0, 0); E_FREE(wd->path); if (wd->chg_func) wd->chg_func(wd->chg_data, wd->obj); } @@ -118,6 +132,7 @@ char buf[4096]; wd = data; + if (!wd->o_files_fm) return; selected = e_fm2_selected_list_get(wd->o_files_fm); if (!selected) return; ici = selected->data; @@ -185,7 +200,7 @@ wd->o_table2 = o; e_widget_sub_object_add(obj, o); - o = e_widget_button_add(evas, _("Go up a Directory"), NULL, + o = e_widget_button_add(evas, _("Go up a Directory"), "widget/up_dir", _e_wid_fsel_button_up, wd, NULL); wd->o_up_button = o; e_widget_sub_object_add(obj, o); @@ -211,11 +226,11 @@ fmc.selection.single = 1; fmc.selection.windows_modifiers = 0; e_fm2_config_set(o, &fmc); - e_fm2_path_set(o, "favorites", "/"); - evas_object_smart_callback_add(o, "files_changed", + evas_object_smart_callback_add(o, "changed", _e_wid_fsel_favorites_files_changed, wd); evas_object_smart_callback_add(o, "selected", _e_wid_fsel_favorites_selected, wd); + e_fm2_path_set(o, "favorites", "/"); o = e_widget_scrollframe_pan_add(evas, wd->o_favorites_fm, e_fm2_pan_set, @@ -247,13 +262,13 @@ fmc.selection.single = 1; fmc.selection.windows_modifiers = 0; e_fm2_config_set(o, &fmc); - e_fm2_path_set(o, dev, path); evas_object_smart_callback_add(o, "dir_changed", _e_wid_fsel_files_changed, wd); evas_object_smart_callback_add(o, "selection_change", _e_wid_fsel_files_selection_change, wd); evas_object_smart_callback_add(o, "selected", _e_wid_fsel_files_selected, wd); + e_fm2_path_set(o, dev, path); o = e_widget_scrollframe_pan_add(evas, wd->o_files_fm, e_fm2_pan_set, @@ -293,6 +308,7 @@ { E_Widget_Data *wd; + if (!obj) return NULL; wd = e_widget_data_get(obj); return wd->path; } =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_label.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- e_widget_label.c 6 Apr 2006 12:07:45 -0000 1.4 +++ e_widget_label.c 7 Aug 2006 20:25:34 -0000 1.5 @@ -2,7 +2,14 @@ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ #include "e.h" - + +typedef struct _E_Widget_Data E_Widget_Data; +struct _E_Widget_Data +{ + Evas_Object *text; +}; + +static void _e_wid_del_hook(Evas_Object *obj); /* local subsystem functions */ /* externally accessible functions */ @@ -11,12 +18,17 @@ { Evas_Object *obj, *o; Evas_Coord mw, mh; + E_Widget_Data *wd; obj = e_widget_add(evas); - + e_widget_del_hook_set(obj, _e_wid_del_hook); + wd = calloc(1, sizeof(E_Widget_Data)); + e_widget_data_set(obj, wd); + o = edje_object_add(evas); e_theme_edje_object_set(o, "base/theme/widgets", "widgets/label"); + wd->text = o; edje_object_part_text_set(o, "label", label); evas_object_show(o); edje_object_size_min_calc(o, &mw, &mh); @@ -24,6 +36,29 @@ e_widget_min_size_set(obj, mw, mh); e_widget_sub_object_add(obj, o); e_widget_resize_object_set(obj, o); - + return obj; } + +EAPI void +e_widget_label_text_set(Evas_Object *obj, const char *text) +{ + E_Widget_Data *wd; + Evas_Coord mw, mh; + + wd = e_widget_data_get(obj); + edje_object_part_text_set(wd->text, "label", text); + edje_object_size_min_calc(wd->text, &mw, &mh); + evas_object_resize(wd->text, mw, mh); + return; +} + +static void +_e_wid_del_hook(Evas_Object *obj) +{ + E_Widget_Data *wd; + + wd = e_widget_data_get(obj); + free(wd); +} + =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_label.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e_widget_label.h 6 Apr 2006 12:07:45 -0000 1.3 +++ e_widget_label.h 7 Aug 2006 20:25:34 -0000 1.4 @@ -7,6 +7,7 @@ #define E_WIDGET_LABEL_H EAPI Evas_Object *e_widget_label_add(Evas *evas, const char *label); +EAPI void e_widget_label_text_set(Evas_Object *obj, const char *text); #endif #endif ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs