Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_int_shelf_config.c Log Message: new basic mode shelf config - simpler with "pre-defined" recipies - this should stop people asking stupid things like "how can i get gadgets on the desktop" as its a 1 click option. things like "they look like shit - cokie cutter" are hidden so silly peolpe who dont listen to advice and dont select below everything - have it selected for them. don't like the basic set of options given - use advanced to fiddle to your hearts content. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_shelf_config.c,v retrieving revision 1.14 retrieving revision 1.15 diff -u -3 -r1.14 -r1.15 --- e_int_shelf_config.c 15 Jun 2006 13:09:21 -0000 1.14 +++ e_int_shelf_config.c 16 Jun 2006 08:20:36 -0000 1.15 @@ -11,11 +11,21 @@ static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); +#define MODE_CUSTOM 0 +#define MODE_BOTTOM_MIDDLE 1 +#define MODE_BOTTOM_ALL 2 +#define MODE_BOTTOM_DESKTOP 3 +#define MODE_TOP_ALL 4 +#define MODE_TOP_DESKTOP 5 + /* Actual config data we will be playing with whil the dialog is active */ struct _E_Config_Dialog_Data { E_Shelf *es; E_Config_Shelf *escfg; + /* BASIC */ + int mode; + /* ADVANCED */ char *style; int orient; int fit_along; @@ -55,6 +65,42 @@ static void _fill_data(E_Config_Dialog_Data *cfdata) { + cfdata->mode = MODE_CUSTOM; + if ((cfdata->escfg->orient == E_GADCON_ORIENT_BOTTOM) && + ((cfdata->escfg->style) && (!strcmp(cfdata->escfg->style, "default"))) && + (cfdata->escfg->fit_along == 1) && + (cfdata->escfg->popup) && + (cfdata->escfg->layer == 200)) + cfdata->mode = MODE_BOTTOM_MIDDLE; + else + if ((cfdata->escfg->orient == E_GADCON_ORIENT_BOTTOM) && + ((cfdata->escfg->style) && (!strcmp(cfdata->escfg->style, "default"))) && + (cfdata->escfg->fit_along == 0) && + (cfdata->escfg->popup) && + (cfdata->escfg->layer == 200)) + cfdata->mode = MODE_BOTTOM_ALL; + else + if ((cfdata->escfg->orient == E_GADCON_ORIENT_BOTTOM) && + ((cfdata->escfg->style) && (!strcmp(cfdata->escfg->style, "invisible"))) && + (cfdata->escfg->fit_along == 0) && + (!cfdata->escfg->popup) && + (cfdata->escfg->layer == 1)) + cfdata->mode = MODE_BOTTOM_DESKTOP; + else + if ((cfdata->escfg->orient == E_GADCON_ORIENT_TOP) && + ((cfdata->escfg->style) && (!strcmp(cfdata->escfg->style, "default"))) && + (cfdata->escfg->fit_along == 0) && + (cfdata->escfg->popup) && + (cfdata->escfg->layer == 200)) + cfdata->mode = MODE_TOP_ALL; + else + if ((cfdata->escfg->orient == E_GADCON_ORIENT_TOP) && + ((cfdata->escfg->style) && (!strcmp(cfdata->escfg->style, "invisible"))) && + (cfdata->escfg->fit_along == 0) && + (!cfdata->escfg->popup) && + (cfdata->escfg->layer == 1)) + cfdata->mode = MODE_TOP_DESKTOP; + if (cfdata->escfg->style) cfdata->style = strdup(cfdata->escfg->style); else @@ -108,12 +154,53 @@ E_Zone *zone; int id; - cfdata->escfg->fit_along = cfdata->fit_along; - cfdata->escfg->fit_size = cfdata->fit_size; - cfdata->escfg->size = cfdata->size; + switch (cfdata->mode) + { + case MODE_BOTTOM_MIDDLE: + cfdata->escfg->orient = E_GADCON_ORIENT_BOTTOM; + if (cfdata->escfg->style) evas_stringshare_del(cfdata->escfg->style); + cfdata->escfg->style = evas_stringshare_add("default"); + cfdata->escfg->fit_along = 1; + cfdata->escfg->popup = 1; + cfdata->escfg->layer = 200; + break; + case MODE_BOTTOM_ALL: + cfdata->escfg->orient = E_GADCON_ORIENT_BOTTOM; + if (cfdata->escfg->style) evas_stringshare_del(cfdata->escfg->style); + cfdata->escfg->style = evas_stringshare_add("default"); + cfdata->escfg->fit_along = 0; + cfdata->escfg->popup = 1; + cfdata->escfg->layer = 200; + break; + case MODE_BOTTOM_DESKTOP: + cfdata->escfg->orient = E_GADCON_ORIENT_BOTTOM; + if (cfdata->escfg->style) evas_stringshare_del(cfdata->escfg->style); + cfdata->escfg->style = evas_stringshare_add("invisible"); + cfdata->escfg->fit_along = 0; + cfdata->escfg->popup = 0; + cfdata->escfg->layer = 1; + break; + case MODE_TOP_ALL: + cfdata->escfg->orient = E_GADCON_ORIENT_TOP; + if (cfdata->escfg->style) evas_stringshare_del(cfdata->escfg->style); + cfdata->escfg->style = evas_stringshare_add("default"); + cfdata->escfg->fit_along = 0; + cfdata->escfg->popup = 1; + cfdata->escfg->layer = 200; + break; + case MODE_TOP_DESKTOP: + cfdata->escfg->orient = E_GADCON_ORIENT_TOP; + if (cfdata->escfg->style) evas_stringshare_del(cfdata->escfg->style); + cfdata->escfg->style = evas_stringshare_add("invisible"); + cfdata->escfg->fit_along = 0; + cfdata->escfg->popup = 0; + cfdata->escfg->layer = 1; + break; + default: + break; + } - if (cfdata->escfg->style) evas_stringshare_del(cfdata->escfg->style); - cfdata->escfg->style = evas_stringshare_add(cfdata->style); + cfdata->escfg->size = cfdata->size; zone = cfdata->es->zone; id = cfdata->es->id; @@ -198,53 +285,44 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { /* generate the core widget layout for a basic dialog */ - Evas_Object *o, *of, *ob, *oi, *oj; - Evas_Coord wmw, wmh; - Evas_List *styles, *l; - int sel, n; + Evas_Object *o, *of, *ob, *ol; + E_Radio_Group *rg; o = e_widget_list_add(evas, 0, 0); + + ol = e_widget_list_add(evas, 0, 1); - of = e_widget_framelist_add(evas, _("Size"), 0); - ob = e_widget_check_add(evas, _("Shrink"), &(cfdata->fit_along)); + of = e_widget_framelist_add(evas, _("Layout"), 0); + rg = e_widget_radio_group_new(&(cfdata->mode)); + ob = e_widget_radio_icon_add(evas, NULL, "enlightenment/shelf_dock", 64, 24, MODE_BOTTOM_MIDDLE, rg); e_widget_framelist_object_append(of, ob); -// ob = e_widget_check_add(evas, _("Expand width to fit contents"), &(cfdata->fit_size)); -// e_widget_framelist_object_append(of, ob); - ob = e_widget_label_add(evas, _("Shelf Size")); + ob = e_widget_radio_icon_add(evas, NULL, "enlightenment/shelf_panel", 64, 24, MODE_BOTTOM_ALL, rg); e_widget_framelist_object_append(of, ob); - ob = e_widget_slider_add(evas, 1, 0, _("%3.0f pixels"), 4, 120, 4, 0, NULL, &(cfdata->size), 100); + ob = e_widget_radio_icon_add(evas, NULL, "enlightenment/shelf_bottom_desk", 64, 24, MODE_BOTTOM_DESKTOP, rg); e_widget_framelist_object_append(of, ob); - e_widget_list_object_append(o, of, 1, 1, 0.5); - - of = e_widget_framelist_add(evas, _("Styles"), 0); - oi = e_widget_ilist_add(evas, 128, 20, &(cfdata->style)); - - sel = 0; - styles = e_theme_shelf_list(); - - for (n = 0, l = styles; l; l = l->next, n++) - { - char buf[4096]; - - ob = e_livethumb_add(evas); - e_livethumb_vsize_set(ob, 256, 40); - oj = edje_object_add(e_livethumb_evas_get(ob)); - snprintf(buf, sizeof(buf), "shelf/%s/base", (char *)l->data); - e_theme_edje_object_set(oj, "base/theme/shelf", buf); - e_livethumb_thumb_set(ob, oj); - e_widget_ilist_append(oi, ob, (char *)l->data, NULL, NULL, l->data); - if (!strcmp(cfdata->es->style, (char *)l->data)) - sel = n; - } - e_widget_min_size_get(oi, &wmw, &wmh); - e_widget_min_size_set(oi, wmw, 120); - - e_widget_ilist_go(oi); - e_widget_ilist_selected_set(oi, sel); + ob = e_widget_radio_icon_add(evas, NULL, "enlightenment/shelf_menu_bar", 64, 24, MODE_TOP_ALL, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_icon_add(evas, NULL, "enlightenment/shelf_top_desk", 64, 24, MODE_TOP_DESKTOP, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_icon_add(evas, NULL, "enlightenment/shelf_custom", 64, 24, MODE_CUSTOM, rg); + e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(ol, of, 1, 1, 0.5); - e_widget_framelist_object_append(of, oi); + of = e_widget_framelist_add(evas, _("Size"), 0); + rg = e_widget_radio_group_new(&(cfdata->size)); + ob = e_widget_radio_add(evas, _("Tiny"), 24, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Small"), 32, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Medium"), 40, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Large"), 48, rg); + e_widget_framelist_object_append(of, ob); + ob = e_widget_radio_add(evas, _("Huge"), 56, rg); + e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(ol, of, 1, 1, 0.5); - e_widget_list_object_append(o, of, 0, 0, 0.5); + e_widget_list_object_append(o, ol, 0, 0, 0.5); ob = e_widget_button_add(evas, _("Configure Contents..."), "widget/config", _cb_configure, cfdata, NULL); e_widget_list_object_append(o, ob, 0, 0, 0.5); _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs