Enlightenment CVS committal

Author  : devilhorns
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/modules/conf_wallpaper


Modified Files:
        e_int_config_wallpaper.c 


Log Message:
Better resize for wallpaper dialog. Uses less tables & lists too :)

===================================================================
RCS file: 
/cvs/e/e17/apps/e/src/modules/conf_wallpaper/e_int_config_wallpaper.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- e_int_config_wallpaper.c    5 Dec 2007 11:37:40 -0000       1.7
+++ e_int_config_wallpaper.c    14 Dec 2007 16:34:47 -0000      1.8
@@ -14,6 +14,16 @@
 
 static E_Config_Dialog *_e_int_config_wallpaper_desk(E_Container *con, int 
con_num, int zone_num, int desk_x, int desk_y);
 
+static void _cb_button_up(void *data1, void *data2);
+static void _cb_files_changed(void *data, Evas_Object *obj, void *event_info);
+static void _cb_files_selection_change(void *data, Evas_Object *obj, void 
*event_info);
+static void _cb_files_files_changed(void *data, Evas_Object *obj, void 
*event_info);
+static void _cb_files_files_deleted(void *data, Evas_Object *obj, void 
*event_info);
+static void _cb_theme_wallpaper(void *data, Evas_Object *obj, void 
*event_info);
+static void _cb_dir(void *data, Evas_Object *obj, void *event_info);
+static void _cb_import(void *data1, void *data2);
+static void _cb_gradient(void *data1, void *data2);
+
 #define E_CONFIG_WALLPAPER_ALL 0
 #define E_CONFIG_WALLPAPER_DESK 1
 #define E_CONFIG_WALLPAPER_SCREEN 2
@@ -237,14 +247,6 @@
 }
 
 static void
-_cb_files_selected(void *data, Evas_Object *obj, void *event_info)
-{
-   E_Config_Dialog_Data *cfdata;
-
-   cfdata = data;
-}
-
-static void
 _cb_files_files_changed(void *data, Evas_Object *obj, void *event_info)
 {
    E_Config_Dialog_Data *cfdata;
@@ -466,44 +468,46 @@
 static Evas_Object *
 _basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
 {
-   Evas_Object *o, *ot, *of, *il, *ol, *oa;
+   Evas_Object *o, *rt, *ot;
+   Evas_Object *ow, *of, *oa;
+   E_Zone *zone = NULL;
+   E_Radio_Group *rg;
    char path[4096];
-   const char *f;
    E_Fm2_Config fmc;
-   E_Zone *z;
-   E_Radio_Group *rg;
    int mw, mh;
+   const char *f;
+
+   zone = e_zone_current_get(cfd->con);
+   o = e_widget_list_add(evas, 0, 1);
 
-   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_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_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);
-   
-   o = e_widget_button_add(evas, _("Go up a Directory"), "widget/up_dir",
-                          _cb_button_up, cfdata, NULL);
-   cfdata->o_up_button = o;
-   e_widget_table_object_append(ol, o, 0, 1, 1, 1, 0, 0, 0, 0);
-   
+   ot = e_widget_table_add(evas, 0);
+   rt = e_widget_table_add(evas, 1);
+
+   /* create dir radios */
+   ow = e_widget_radio_add(evas, _("Personal"), 0, rg);
+   cfdata->o_personal = ow;
+   evas_object_smart_callback_add(ow, "changed", _cb_dir, cfdata);
+   e_widget_table_object_append(rt, ow, 0, 0, 1, 1, 1, 1, 0, 0);
+   ow = e_widget_radio_add(evas, _("System"), 1, rg);
+   cfdata->o_system = ow;
+   evas_object_smart_callback_add(ow, "changed", _cb_dir, cfdata);
+   e_widget_table_object_append(rt, ow, 1, 0, 1, 1, 1, 1, 0, 0);
+   e_widget_table_object_append(ot, rt, 0, 0, 1, 1, 0, 0, 0, 0);
+
+   ow = e_widget_button_add(evas, _("Go up a Directory"), "widget/up_dir",
+                           _cb_button_up, cfdata, NULL);
+   cfdata->o_up_button = ow;
+   e_widget_table_object_append(ot, ow, 0, 1, 1, 1, 0, 0, 0, 0);
+
    if (cfdata->fmdir == 1)
      snprintf(path, sizeof(path), "%s/data/backgrounds", e_prefix_data_get());
    else
      snprintf(path, sizeof(path), "%s/.e/e/backgrounds", e_user_homedir_get());
-   
-   o = e_fm2_add(evas);
-   cfdata->o_fm = o;
+
+   /* add file selector */
+   ow = e_fm2_add(evas);
+   cfdata->o_fm = ow;
    memset(&fmc, 0, sizeof(E_Fm2_Config));
    fmc.view.mode = E_FM2_VIEW_MODE_LIST;
    fmc.view.open_dirs_in_place = 1;
@@ -521,66 +525,56 @@
    fmc.list.sort.dirs.last = 1;
    fmc.selection.single = 1;
    fmc.selection.windows_modifiers = 0;
-   e_fm2_config_set(o, &fmc);
-   e_fm2_icon_menu_flags_set(o, E_FM2_MENU_NO_SHOW_HIDDEN);
-   evas_object_smart_callback_add(o, "dir_changed",
+   e_fm2_config_set(ow, &fmc);
+   e_fm2_icon_menu_flags_set(ow, E_FM2_MENU_NO_SHOW_HIDDEN);
+   evas_object_smart_callback_add(ow, "dir_changed",
                                  _cb_files_changed, cfdata);
-   evas_object_smart_callback_add(o, "selection_change",
+   evas_object_smart_callback_add(ow, "selection_change",
                                  _cb_files_selection_change, cfdata);
-   evas_object_smart_callback_add(o, "selected",
-                                 _cb_files_selected, cfdata);
-   evas_object_smart_callback_add(o, "changed",
+   evas_object_smart_callback_add(ow, "changed",
                                  _cb_files_files_changed, cfdata);
-   evas_object_smart_callback_add(o, "files_deleted",
+   evas_object_smart_callback_add(ow, "files_deleted",
                                  _cb_files_files_deleted, cfdata);
-   
-   e_fm2_path_set(o, path, "/");
+   e_fm2_path_set(ow, path, "/");
 
-   of = e_widget_scrollframe_pan_add(evas, o,
+   of = e_widget_scrollframe_pan_add(evas, ow,
                                     e_fm2_pan_set,
                                     e_fm2_pan_get,
                                     e_fm2_pan_max_get,
                                     e_fm2_pan_child_size_get);
    cfdata->o_frame = of;
    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);
-   
-   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", _cb_theme_wallpaper, cfdata);
-   e_widget_list_object_append(il, o, 1, 0, 0.5);
-
-   ol = e_widget_list_add(evas, 1, 1);
-   o = e_widget_button_add(evas, _("Picture..."), "enlightenment/picture",
-                          _cb_import, cfdata, NULL);
-   e_widget_list_object_append(ol, o, 1, 0, 0.5);
-   o = e_widget_button_add(evas, _("Gradient..."), "enlightenment/gradient",
-                          _cb_gradient, 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);
+   e_widget_table_object_append(ot, of, 0, 2, 1, 1, 1, 1, 1, 1);
+   e_widget_list_object_append(o, ot, 1, 1, 0.0);
+
+   ot = e_widget_table_add(evas, 0);
+   ow = e_widget_check_add(evas, _("Use Theme Wallpaper"), 
&cfdata->use_theme_bg);
+   cfdata->o_theme_bg = ow;
+   evas_object_smart_callback_add(ow, "changed", _cb_theme_wallpaper, cfdata);
+   e_widget_table_object_append(ot, ow, 0, 0, 2, 1, 1, 0, 0, 0);
+   ow = e_widget_button_add(evas, _("Picture..."), "enlightenment/picture",
+                           _cb_import, cfdata, NULL);
+   e_widget_table_object_append(ot, ow, 0, 1, 1, 1, 1, 0, 0, 0);
+   ow = e_widget_button_add(evas, _("Gradient..."), "enlightenment/gradient",
+                           _cb_gradient, cfdata, NULL);
+   e_widget_table_object_append(ot, ow, 1, 1, 1, 1, 1, 0, 0, 0);
 
    mw = 320;
-   mh = (320 * z->h) / z->w;
+   mh = (320 * zone->h) / zone->w;
    oa = e_widget_aspect_add(evas, mw, mh);
-   o = e_widget_preview_add(evas, mw, mh);
-   cfdata->o_preview = o;
+   ow = e_widget_preview_add(evas, mw, mh);
+   cfdata->o_preview = ow;
    if (cfdata->bg)
      f = cfdata->bg;
    else
      f = e_theme_edje_file_get("base/theme/backgrounds", 
"e/desktop/background");
-   e_widget_preview_edje_set(o, f, "e/desktop/background");
-   e_widget_aspect_child_set(oa, o);
-   e_widget_list_object_append(of, oa, 1, 1, 0.5);
-   
-   e_widget_table_object_append(ot, of, 1, 0, 1, 1, 1, 1, 1, 1);
-   
+   e_widget_preview_edje_set(ow, f, "e/desktop/background");
+   e_widget_aspect_child_set(oa, ow);
+   e_widget_table_object_append(ot, oa, 0, 2, 4, 1, 1, 1, 1, 1);
+
+   e_widget_list_object_append(o, ot, 1, 0, 0.5);
    e_dialog_resizable_set(cfd->dia, 1);
-   return ot;
+   return o;
 }
 
 static int
@@ -620,43 +614,46 @@
 static Evas_Object *
 _adv_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
 {
-   Evas_Object *o, *ot, *of, *il, *ol;
+   Evas_Object *o, *rt, *ot;
+   Evas_Object *ow, *of, *oa;
+   E_Zone *zone = NULL;
+   E_Radio_Group *rg;
    char path[4096];
-   const char *f;
    E_Fm2_Config fmc;
-   E_Zone *z;
-   E_Radio_Group *rg;
+   int mw, mh;
+   const char *f;
+
+   zone = e_zone_current_get(cfd->con);
+   o = e_widget_list_add(evas, 0, 1);
 
-   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_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_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);
-   
-   o = e_widget_button_add(evas, _("Go up a Directory"), "widget/up_dir",
-                          _cb_button_up, cfdata, NULL);
-   cfdata->o_up_button = o;
-   e_widget_table_object_append(ol, o, 0, 1, 1, 1, 0, 0, 0, 0);
-   
+   ot = e_widget_table_add(evas, 0);
+   rt = e_widget_table_add(evas, 1);
+
+   /* create dir radios */
+   ow = e_widget_radio_add(evas, _("Personal"), 0, rg);
+   cfdata->o_personal = ow;
+   evas_object_smart_callback_add(ow, "changed", _cb_dir, cfdata);
+   e_widget_table_object_append(rt, ow, 0, 0, 1, 1, 1, 1, 0, 0);
+   ow = e_widget_radio_add(evas, _("System"), 1, rg);
+   cfdata->o_system = ow;
+   evas_object_smart_callback_add(ow, "changed", _cb_dir, cfdata);
+   e_widget_table_object_append(rt, ow, 1, 0, 1, 1, 1, 1, 0, 0);
+   e_widget_table_object_append(ot, rt, 0, 0, 1, 1, 0, 0, 0, 0);
+
+   ow = e_widget_button_add(evas, _("Go up a Directory"), "widget/up_dir",
+                           _cb_button_up, cfdata, NULL);
+   cfdata->o_up_button = ow;
+   e_widget_table_object_append(ot, ow, 0, 1, 1, 1, 0, 0, 0, 0);
+
    if (cfdata->fmdir == 1)
      snprintf(path, sizeof(path), "%s/data/backgrounds", e_prefix_data_get());
    else
      snprintf(path, sizeof(path), "%s/.e/e/backgrounds", e_user_homedir_get());
-   
-   o = e_fm2_add(evas);
-   cfdata->o_fm = o;
+
+   /* add file selector */
+   ow = e_fm2_add(evas);
+   cfdata->o_fm = ow;
    memset(&fmc, 0, sizeof(E_Fm2_Config));
    fmc.view.mode = E_FM2_VIEW_MODE_LIST;
    fmc.view.open_dirs_in_place = 1;
@@ -674,75 +671,69 @@
    fmc.list.sort.dirs.last = 1;
    fmc.selection.single = 1;
    fmc.selection.windows_modifiers = 0;
-   e_fm2_config_set(o, &fmc);
-   e_fm2_icon_menu_flags_set(o, E_FM2_MENU_NO_SHOW_HIDDEN);
-   evas_object_smart_callback_add(o, "dir_changed",
+   e_fm2_config_set(ow, &fmc);
+   e_fm2_icon_menu_flags_set(ow, E_FM2_MENU_NO_SHOW_HIDDEN);
+   evas_object_smart_callback_add(ow, "dir_changed",
                                  _cb_files_changed, cfdata);
-   evas_object_smart_callback_add(o, "selection_change",
+   evas_object_smart_callback_add(ow, "selection_change",
                                  _cb_files_selection_change, cfdata);
-   evas_object_smart_callback_add(o, "selected",
-                                 _cb_files_selected, cfdata);
-   evas_object_smart_callback_add(o, "changed",
+   evas_object_smart_callback_add(ow, "changed",
                                  _cb_files_files_changed, cfdata);
-   e_fm2_path_set(o, path, "/");
+   evas_object_smart_callback_add(ow, "files_deleted",
+                                 _cb_files_files_deleted, cfdata);
+   e_fm2_path_set(ow, path, "/");
 
-   of = e_widget_scrollframe_pan_add(evas, o,
+   of = e_widget_scrollframe_pan_add(evas, ow,
                                     e_fm2_pan_set,
                                     e_fm2_pan_get,
                                     e_fm2_pan_max_get,
                                     e_fm2_pan_child_size_get);
    cfdata->o_frame = of;
    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);
-   
-   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", _cb_theme_wallpaper, cfdata);
-   e_widget_list_object_append(il, o, 1, 0, 0.5);
-
-   ol = e_widget_list_add(evas, 1, 1);
-   o = e_widget_button_add(evas, _("Picture..."), "enlightenment/picture",
-                          _cb_import, cfdata, NULL);
-   e_widget_list_object_append(ol, o, 1, 0, 0.5);
-   o = e_widget_button_add(evas, _("Gradient..."), "enlightenment/gradient",
-                          _cb_gradient, 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, 320, (320 * z->h) / z->w);
-   cfdata->o_preview = o;
+   e_widget_table_object_append(ot, of, 0, 2, 1, 1, 1, 1, 1, 1);
+   e_widget_list_object_append(o, ot, 1, 1, 0.0);
+
+   ot = e_widget_table_add(evas, 0);
+   ow = e_widget_check_add(evas, _("Use Theme Wallpaper"), 
&cfdata->use_theme_bg);
+   cfdata->o_theme_bg = ow;
+   evas_object_smart_callback_add(ow, "changed", _cb_theme_wallpaper, cfdata);
+   e_widget_table_object_append(ot, ow, 0, 0, 2, 1, 1, 0, 0, 0);
+   ow = e_widget_button_add(evas, _("Picture..."), "enlightenment/picture",
+                           _cb_import, cfdata, NULL);
+   e_widget_table_object_append(ot, ow, 0, 1, 1, 1, 1, 0, 0, 0);
+   ow = e_widget_button_add(evas, _("Gradient..."), "enlightenment/gradient",
+                           _cb_gradient, cfdata, NULL);
+   e_widget_table_object_append(ot, ow, 1, 1, 1, 1, 1, 0, 0, 0);
+
+   mw = 320;
+   mh = (320 * zone->h) / zone->w;
+   oa = e_widget_aspect_add(evas, mw, mh);
+   ow = e_widget_preview_add(evas, mw, mh);
+   cfdata->o_preview = ow;
    if (cfdata->bg)
      f = cfdata->bg;
    else
      f = e_theme_edje_file_get("base/theme/backgrounds", 
"e/desktop/background");
-   e_widget_preview_edje_set(o, f, "e/desktop/background");
-   e_widget_list_object_append(of, o, 0, 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);
-   rg = e_widget_radio_group_new(&(cfdata->all_this_desk_screen));
+   e_widget_preview_edje_set(ow, f, "e/desktop/background");
+   e_widget_aspect_child_set(oa, ow);
+   e_widget_table_object_append(ot, oa, 0, 2, 4, 1, 1, 1, 0, 0);
 
-   o = e_widget_radio_add(evas, _("All Desktops"), E_CONFIG_WALLPAPER_ALL, rg);
-   e_widget_framelist_object_append(ol, o);
-   o = e_widget_radio_add(evas, _("This Desktop"), E_CONFIG_WALLPAPER_DESK, 
rg);
-   e_widget_framelist_object_append(ol, o);
-   o = e_widget_radio_add(evas, _("This Screen"), E_CONFIG_WALLPAPER_SCREEN, 
rg);
-   if (!((e_util_container_zone_number_get(0, 1)) ||
+   rg = e_widget_radio_group_new(&(cfdata->all_this_desk_screen));
+   of = e_widget_frametable_add(evas, _("Where to place the Wallpaper"), 0);
+   ow = e_widget_radio_add(evas, _("All Desktops"), E_CONFIG_WALLPAPER_ALL, 
rg);
+   e_widget_frametable_object_append(of, ow, 0, 0, 1, 1, 1, 0, 1, 0);
+   ow = e_widget_radio_add(evas, _("This Desktop"), E_CONFIG_WALLPAPER_DESK, 
rg);
+   e_widget_frametable_object_append(of, ow, 0, 1, 1, 1, 1, 0, 1, 0);
+   ow = e_widget_radio_add(evas, _("This Screen"), E_CONFIG_WALLPAPER_SCREEN, 
rg);
+   if (!(e_util_container_zone_number_get(0, 1) ||
         (e_util_container_zone_number_get(1, 0))))
-     e_widget_disabled_set(o, 1);
-   e_widget_framelist_object_append(ol, o);
-   
-   e_widget_list_object_append(of, ol, 1, 0, 0.5);
-   
-   e_widget_table_object_append(ot, of, 1, 0, 1, 1, 0, 0, 0, 0);
-   
+     e_widget_disabled_set(ow, 1);
+   e_widget_frametable_object_append(of, ow, 0, 2, 1, 1, 1, 0, 1, 0);
+   e_widget_table_object_append(ot, of, 0, 3, 4, 1, 1, 1, 1, 1);
+
+   e_widget_list_object_append(o, ot, 1, 0, 0.5);
    e_dialog_resizable_set(cfd->dia, 1);
-   return ot;
+   return o;
 }
 
 static int



-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to