Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_int_config_wallpaper.c e_widget_radio.c Log Message: simplify wallpaper dialog down to 1 list - and a radio toggle to flip sources. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_wallpaper.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -3 -r1.3 -r1.4 --- e_int_config_wallpaper.c 14 Aug 2006 15:22:45 -0000 1.3 +++ e_int_config_wallpaper.c 15 Aug 2006 13:16:52 -0000 1.4 @@ -18,11 +18,12 @@ Evas_Object *o_usrbg_frame; Evas_Object *o_usrbg_fm; Evas_Object *o_usrbg_up_button; - Evas_Object *o_sysbg_frame; - Evas_Object *o_sysbg_fm; - Evas_Object *o_sysbg_up_button; Evas_Object *o_preview; Evas_Object *o_theme_bg; + Evas_Object *o_personal; + Evas_Object *o_system; + int fmdir; + int use_theme_bg; char *bg; /* advanced */ @@ -62,6 +63,8 @@ cfdata = dia->cfdata; homedir = e_user_homedir_get(); if (!homedir) return; + cfdata->fmdir = 1; + e_widget_radio_toggle_set(cfdata->o_personal, 1); snprintf(path, sizeof(path), "%s/.e/e/backgrounds", homedir); E_FREE(cfdata->bg); cfdata->bg = strdup(file); @@ -77,8 +80,6 @@ cfdata->use_theme_bg = 0; if (cfdata->o_usrbg_frame) e_widget_change(cfdata->o_usrbg_frame); - if (cfdata->o_sysbg_fm) - e_fm2_select_set(cfdata->o_sysbg_fm, "", 0); } EAPI void @@ -88,7 +89,6 @@ cfdata = dia->cfdata; cfdata->win_import = NULL; - printf("DONE!\n"); } @@ -155,7 +155,6 @@ cfdata->use_theme_bg = 0; if (cfdata->o_usrbg_frame) e_widget_change(cfdata->o_usrbg_frame); - e_fm2_select_set(cfdata->o_sysbg_fm, "", 0); } static void @@ -193,127 +192,47 @@ e_fm2_file_show(cfdata->o_usrbg_fm, p); } - static void -_cb_sysbg_button_up(void *data1, void *data2) -{ - E_Config_Dialog_Data *cfdata; - - cfdata = data1; - if (cfdata->o_sysbg_fm) - e_fm2_parent_go(cfdata->o_sysbg_fm); - if (cfdata->o_sysbg_frame) - e_widget_scrollframe_child_pos_set(cfdata->o_sysbg_frame, 0, 0); -} - -static void -_cb_sysbg_files_changed(void *data, Evas_Object *obj, void *event_info) +_cb_theme_wallpaper(void *data, Evas_Object *obj, void *event_info) { E_Config_Dialog_Data *cfdata; + const char *f; cfdata = data; - if (!cfdata->o_sysbg_fm) return; - if (!e_fm2_has_parent_get(cfdata->o_sysbg_fm)) + if (cfdata->use_theme_bg) { - if (cfdata->o_sysbg_up_button) - e_widget_disabled_set(cfdata->o_sysbg_up_button, 1); + f = e_theme_edje_file_get("base/theme/backgrounds", "desktop/background"); + if (cfdata->o_preview) + e_widget_preview_edje_set(cfdata->o_preview, f, "desktop/background"); } else { - if (cfdata->o_sysbg_up_button) - e_widget_disabled_set(cfdata->o_sysbg_up_button, 0); - } - if (cfdata->o_sysbg_frame) - e_widget_scrollframe_child_pos_set(cfdata->o_sysbg_frame, 0, 0); -} - -static void -_cb_sysbg_files_selection_change(void *data, Evas_Object *obj, void *event_info) -{ - E_Config_Dialog_Data *cfdata; - Evas_List *selected; - E_Fm2_Icon_Info *ici; - const char *realpath; - char buf[4096]; - - cfdata = data; - if (!cfdata->o_sysbg_fm) return; - selected = e_fm2_selected_list_get(cfdata->o_sysbg_fm); - if (!selected) return; - ici = selected->data; - realpath = e_fm2_real_path_get(cfdata->o_sysbg_fm); - if (!strcmp(realpath, "/")) - snprintf(buf, sizeof(buf), "/%s", ici->file); - else - snprintf(buf, sizeof(buf), "%s/%s", realpath, ici->file); - evas_list_free(selected); - if (ecore_file_is_dir(buf)) return; - E_FREE(cfdata->bg); - cfdata->bg = strdup(buf); - if (cfdata->o_preview) - e_widget_preview_edje_set(cfdata->o_preview, buf, "desktop/background"); - if (cfdata->o_theme_bg) - e_widget_check_checked_set(cfdata->o_theme_bg, 0); - cfdata->use_theme_bg = 0; - if (cfdata->o_sysbg_frame) - e_widget_change(cfdata->o_sysbg_frame); - e_fm2_select_set(cfdata->o_usrbg_fm, "", 0); -} - -static void -_cb_sysbg_files_selected(void *data, Evas_Object *obj, void *event_info) -{ - E_Config_Dialog_Data *cfdata; - - cfdata = data; -} - -static void -_cb_sysbg_files_files_changed(void *data, Evas_Object *obj, void *event_info) -{ - E_Config_Dialog_Data *cfdata; - char *p, buf[4096]; - - cfdata = data; - if (!cfdata->bg) return; - if (!cfdata->o_sysbg_fm) return; - p = (char *)e_fm2_real_path_get(cfdata->o_sysbg_fm); - if (p) - { - if (strncmp(p, cfdata->bg, strlen(p))) return; + if (cfdata->bg) + { + if (cfdata->o_preview) + e_widget_preview_edje_set(cfdata->o_preview, cfdata->bg, "desktop/background"); + } } - snprintf(buf, sizeof(buf), "%s/data/backgrounds", e_prefix_data_get()); - if (!strncmp(cfdata->bg, buf, strlen(buf))) - p = cfdata->bg + strlen(buf) + 1; - else - p = cfdata->bg; - if (!p) return; - e_fm2_select_set(cfdata->o_sysbg_fm, p, 1); - e_fm2_file_show(cfdata->o_sysbg_fm, p); } - static void -_cb_theme_wallpaper(void *data, Evas_Object *obj, void *event_info) +_cb_usrbg_dir(void *data, Evas_Object *obj, void *event_info) { E_Config_Dialog_Data *cfdata; - const char *f; + char path[4096], *homedir; cfdata = data; - if (cfdata->use_theme_bg) + if (cfdata->fmdir == 1) { - f = e_theme_edje_file_get("base/theme/backgrounds", "desktop/background"); - if (cfdata->o_preview) - e_widget_preview_edje_set(cfdata->o_preview, f, "desktop/background"); + snprintf(path, sizeof(path), "%s/data/backgrounds", e_prefix_data_get()); } else { - if (cfdata->bg) - { - if (cfdata->o_preview) - e_widget_preview_edje_set(cfdata->o_preview, cfdata->bg, "desktop/background"); - } + homedir = e_user_homedir_get(); + snprintf(path, sizeof(path), "%s/.e/e/backgrounds", homedir); + free(homedir); } + e_fm2_path_set(cfdata->o_usrbg_fm, path, "/"); } static void @@ -338,6 +257,7 @@ E_Zone *z; E_Desk *d; Evas_List *l; + char path[4096]; if (e_config->desktop_default_background) cfdata->bg = strdup(e_config->desktop_default_background); @@ -373,6 +293,12 @@ } if (!cfdata->bg) cfdata->use_theme_bg = 1; + if (cfdata->bg) + { + snprintf(path, sizeof(path), "%s/data/backgrounds", e_prefix_data_get()); + if (!strncmp(cfdata->bg, path, strlen(path))) + cfdata->fmdir = 1; + } } static void * @@ -403,6 +329,7 @@ const char *f; E_Fm2_Config fmc; E_Zone *z; + E_Radio_Group *rg; homedir = e_user_homedir_get(); if (!homedir) return NULL; @@ -410,16 +337,32 @@ z = e_zone_current_get(cfd->con); ot = e_widget_table_add(evas, 0); + ol = e_widget_table_add(evas, 0); + il = e_widget_table_add(evas, 1); + + rg = e_widget_radio_group_new(&(cfdata->fmdir)); + o = e_widget_radio_add(evas, _("Personal"), 0, rg); + cfdata->o_personal = o; + evas_object_smart_callback_add(o, "changed", + _cb_usrbg_dir, cfdata); + e_widget_table_object_append(il, o, 0, 0, 1, 1, 1, 1, 0, 0); + o = e_widget_radio_add(evas, _("System"), 1, rg); + cfdata->o_system = o; + evas_object_smart_callback_add(o, "changed", + _cb_usrbg_dir, cfdata); + e_widget_table_object_append(il, o, 1, 0, 1, 1, 1, 1, 0, 0); + + e_widget_table_object_append(ol, il, 0, 0, 1, 1, 0, 0, 0, 0); - - ol = e_widget_frametable_add(evas, _("Personal Wallpapers"), 0); - o = e_widget_button_add(evas, _("Go up a Directory"), "widget/up_dir", _cb_usrbg_button_up, cfdata, NULL); cfdata->o_usrbg_up_button = o; - e_widget_frametable_object_append(ol, o, 0, 0, 1, 1, 0, 0, 0, 0); + e_widget_table_object_append(ol, o, 0, 1, 1, 1, 0, 0, 0, 0); - snprintf(path, sizeof(path), "%s/.e/e/backgrounds", homedir); + if (cfdata->fmdir == 1) + snprintf(path, sizeof(path), "%s/data/backgrounds", e_prefix_data_get()); + else + snprintf(path, sizeof(path), "%s/.e/e/backgrounds", homedir); o = e_fm2_add(evas); cfdata->o_usrbg_fm = o; @@ -456,60 +399,13 @@ e_fm2_pan_max_get, e_fm2_pan_child_size_get); cfdata->o_usrbg_frame = of; - e_widget_min_size_set(of, 160, 256); - e_widget_frametable_object_append(ol, of, 0, 1, 1, 1, 1, 1, 1, 1); + e_widget_min_size_set(of, 160, 160); + e_widget_table_object_append(ol, of, 0, 2, 1, 1, 1, 1, 1, 1); e_widget_table_object_append(ot, ol, 0, 0, 1, 1, 1, 1, 1, 1); + of = e_widget_list_add(evas, 0, 0); - ol = e_widget_frametable_add(evas, _("System Wallpapers"), 0); - - o = e_widget_button_add(evas, _("Go up a Directory"), "widget/up_dir", - _cb_sysbg_button_up, cfdata, NULL); - cfdata->o_sysbg_up_button = o; - e_widget_frametable_object_append(ol, o, 0, 0, 1, 1, 0, 0, 0, 0); - - snprintf(path, sizeof(path), "%s/data/backgrounds", e_prefix_data_get()); - - o = e_fm2_add(evas); - cfdata->o_sysbg_fm = o; - memset(&fmc, 0, sizeof(E_Fm2_Config)); - fmc.view.mode = E_FM2_VIEW_MODE_LIST; - fmc.view.open_dirs_in_place = 1; - fmc.view.selector = 1; - fmc.view.single_click = 0; - fmc.view.no_subdir_jump = 0; - fmc.icon.list.w = 48; - fmc.icon.list.h = 48; - fmc.icon.fixed.w = 1; - fmc.icon.fixed.h = 1; - fmc.icon.extension.show = 0; - fmc.list.sort.no_case = 1; - fmc.list.sort.dirs.first = 0; - fmc.list.sort.dirs.last = 1; - fmc.selection.single = 1; - fmc.selection.windows_modifiers = 0; - e_fm2_config_set(o, &fmc); - evas_object_smart_callback_add(o, "dir_changed", - _cb_sysbg_files_changed, cfdata); - evas_object_smart_callback_add(o, "selection_change", - _cb_sysbg_files_selection_change, cfdata); - evas_object_smart_callback_add(o, "selected", - _cb_sysbg_files_selected, cfdata); - evas_object_smart_callback_add(o, "changed", - _cb_sysbg_files_files_changed, cfdata); - e_fm2_path_set(o, path, "/"); - - of = e_widget_scrollframe_pan_add(evas, o, - e_fm2_pan_set, - e_fm2_pan_get, - e_fm2_pan_max_get, - e_fm2_pan_child_size_get); - cfdata->o_sysbg_frame = of; - e_widget_min_size_set(of, 160, 256); - e_widget_frametable_object_append(ol, of, 0, 1, 1, 1, 1, 1, 1, 1); - e_widget_table_object_append(ot, ol, 2, 0, 1, 1, 1, 1, 1, 1); - - il = e_widget_list_add(evas, 0, 0); + il = e_widget_list_add(evas, 0, 1); o = e_widget_check_add(evas, _("Use Theme Wallpaper"), &cfdata->use_theme_bg); cfdata->o_theme_bg = o; evas_object_smart_callback_add(o, "changed", @@ -524,17 +420,18 @@ NULL, cfdata, NULL); e_widget_list_object_append(ol, o, 1, 0, 0.5); e_widget_list_object_append(il, ol, 1, 0, 0.5); + e_widget_list_object_append(of, il, 1, 0, 0.0); - o = e_widget_preview_add(evas, 240, (240 * z->h) / z->w); + o = e_widget_preview_add(evas, 320, (320 * z->h) / z->w); cfdata->o_preview = o; if (cfdata->bg) f = cfdata->bg; else f = e_theme_edje_file_get("base/theme/backgrounds", "desktop/background"); e_widget_preview_edje_set(o, f, "desktop/background"); - e_widget_list_object_append(il, o, 0, 0, 0.5); + e_widget_list_object_append(of, o, 1, 0, 0.5); - e_widget_table_object_append(ot, il, 1, 0, 1, 1, 0, 1, 0, 1); + e_widget_table_object_append(ot, of, 1, 0, 1, 1, 0, 1, 0, 1); free(homedir); e_dialog_resizable_set(cfd->dia, 1); @@ -580,16 +477,32 @@ z = e_zone_current_get(cfd->con); ot = e_widget_table_add(evas, 0); + ol = e_widget_table_add(evas, 0); + il = e_widget_table_add(evas, 1); + + rg = e_widget_radio_group_new(&(cfdata->fmdir)); + o = e_widget_radio_add(evas, _("Personal"), 0, rg); + cfdata->o_personal = o; + evas_object_smart_callback_add(o, "changed", + _cb_usrbg_dir, cfdata); + e_widget_table_object_append(il, o, 0, 0, 1, 1, 1, 1, 0, 0); + o = e_widget_radio_add(evas, _("System"), 1, rg); + cfdata->o_system = o; + evas_object_smart_callback_add(o, "changed", + _cb_usrbg_dir, cfdata); + e_widget_table_object_append(il, o, 1, 0, 1, 1, 1, 1, 0, 0); + + e_widget_table_object_append(ol, il, 0, 0, 1, 1, 0, 0, 0, 0); - - ol = e_widget_frametable_add(evas, _("Personal Wallpapers"), 0); - o = e_widget_button_add(evas, _("Go up a Directory"), "widget/up_dir", _cb_usrbg_button_up, cfdata, NULL); cfdata->o_usrbg_up_button = o; - e_widget_frametable_object_append(ol, o, 0, 0, 1, 1, 0, 0, 0, 0); + e_widget_table_object_append(ol, o, 0, 1, 1, 1, 0, 0, 0, 0); - snprintf(path, sizeof(path), "%s/.e/e/backgrounds", homedir); + if (cfdata->fmdir == 1) + snprintf(path, sizeof(path), "%s/data/backgrounds", e_prefix_data_get()); + else + snprintf(path, sizeof(path), "%s/.e/e/backgrounds", homedir); o = e_fm2_add(evas); cfdata->o_usrbg_fm = o; @@ -626,60 +539,13 @@ e_fm2_pan_max_get, e_fm2_pan_child_size_get); cfdata->o_usrbg_frame = of; - e_widget_min_size_set(of, 160, 256); - e_widget_frametable_object_append(ol, of, 0, 1, 1, 1, 1, 1, 1, 1); + e_widget_min_size_set(of, 160, 160); + e_widget_table_object_append(ol, of, 0, 2, 1, 1, 1, 1, 1, 1); e_widget_table_object_append(ot, ol, 0, 0, 1, 1, 1, 1, 1, 1); + of = e_widget_list_add(evas, 0, 0); - ol = e_widget_frametable_add(evas, _("System Wallpapers"), 0); - - o = e_widget_button_add(evas, _("Go up a Directory"), "widget/up_dir", - _cb_sysbg_button_up, cfdata, NULL); - cfdata->o_sysbg_up_button = o; - e_widget_frametable_object_append(ol, o, 0, 0, 1, 1, 0, 0, 0, 0); - - snprintf(path, sizeof(path), "%s/data/backgrounds", e_prefix_data_get()); - - o = e_fm2_add(evas); - cfdata->o_sysbg_fm = o; - memset(&fmc, 0, sizeof(E_Fm2_Config)); - fmc.view.mode = E_FM2_VIEW_MODE_LIST; - fmc.view.open_dirs_in_place = 1; - fmc.view.selector = 1; - fmc.view.single_click = 0; - fmc.view.no_subdir_jump = 0; - fmc.icon.list.w = 48; - fmc.icon.list.h = 48; - fmc.icon.fixed.w = 1; - fmc.icon.fixed.h = 1; - fmc.icon.extension.show = 0; - fmc.list.sort.no_case = 1; - fmc.list.sort.dirs.first = 0; - fmc.list.sort.dirs.last = 1; - fmc.selection.single = 1; - fmc.selection.windows_modifiers = 0; - e_fm2_config_set(o, &fmc); - evas_object_smart_callback_add(o, "dir_changed", - _cb_sysbg_files_changed, cfdata); - evas_object_smart_callback_add(o, "selection_change", - _cb_sysbg_files_selection_change, cfdata); - evas_object_smart_callback_add(o, "selected", - _cb_sysbg_files_selected, cfdata); - evas_object_smart_callback_add(o, "changed", - _cb_sysbg_files_files_changed, cfdata); - e_fm2_path_set(o, path, "/"); - - of = e_widget_scrollframe_pan_add(evas, o, - e_fm2_pan_set, - e_fm2_pan_get, - e_fm2_pan_max_get, - e_fm2_pan_child_size_get); - cfdata->o_sysbg_frame = of; - e_widget_min_size_set(of, 160, 256); - e_widget_frametable_object_append(ol, of, 0, 1, 1, 1, 1, 1, 1, 1); - e_widget_table_object_append(ot, ol, 2, 0, 1, 1, 1, 1, 1, 1); - - il = e_widget_list_add(evas, 0, 0); + il = e_widget_list_add(evas, 0, 1); o = e_widget_check_add(evas, _("Use Theme Wallpaper"), &cfdata->use_theme_bg); cfdata->o_theme_bg = o; evas_object_smart_callback_add(o, "changed", @@ -694,15 +560,16 @@ NULL, cfdata, NULL); e_widget_list_object_append(ol, o, 1, 0, 0.5); e_widget_list_object_append(il, ol, 1, 0, 0.5); + e_widget_list_object_append(of, il, 1, 0, 0.0); - o = e_widget_preview_add(evas, 240, (240 * z->h) / z->w); + o = e_widget_preview_add(evas, 320, (320 * z->h) / z->w); cfdata->o_preview = o; if (cfdata->bg) f = cfdata->bg; else f = e_theme_edje_file_get("base/theme/backgrounds", "desktop/background"); e_widget_preview_edje_set(o, f, "desktop/background"); - e_widget_list_object_append(il, o, 0, 0, 0.5); + e_widget_list_object_append(of, o, 1, 0, 0.5); ol = e_widget_framelist_add(evas, _("Where to place the Wallpaper"), 0); e_widget_framelist_content_align_set(ol, 0.0, 0.0); @@ -718,9 +585,9 @@ e_widget_disabled_set(o, 1); e_widget_framelist_object_append(ol, o); - e_widget_list_object_append(il, ol, 0, 1, 0.5); + e_widget_list_object_append(of, ol, 0, 1, 0.5); - e_widget_table_object_append(ot, il, 1, 0, 1, 1, 0, 1, 0, 1); + e_widget_table_object_append(ot, of, 1, 0, 1, 1, 0, 1, 0, 1); free(homedir); e_dialog_resizable_set(cfd->dia, 1); =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_radio.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- e_widget_radio.c 21 May 2006 15:10:20 -0000 1.14 +++ e_widget_radio.c 15 Aug 2006 13:16:52 -0000 1.15 @@ -242,6 +242,7 @@ *(wd->group->valptr) = wd->valnum; edje_object_signal_emit(wd->o_radio, "toggle_on", ""); } + evas_object_smart_callback_call(obj, "changed", NULL); } static void ------------------------------------------------------------------------- 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