Enlightenment CVS committal Author : rephorm Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_config.c e_config.h e_int_config_wallpaper_gradient.c Log Message: save the last used gradient colors and use them the next time the dialog is shown =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_config.c,v retrieving revision 1.193 retrieving revision 1.194 diff -u -3 -r1.193 -r1.194 --- e_config.c 20 Aug 2006 08:22:18 -0000 1.193 +++ e_config.c 20 Aug 2006 22:30:44 -0000 1.194 @@ -473,6 +473,13 @@ E_CONFIG_VAL(D, T, wallpaper_import_last_dev, STR); E_CONFIG_VAL(D, T, wallpaper_import_last_path, STR); + + E_CONFIG_VAL(D, T, wallpaper_grad_c1_r, INT); + E_CONFIG_VAL(D, T, wallpaper_grad_c1_g, INT); + E_CONFIG_VAL(D, T, wallpaper_grad_c1_b, INT); + E_CONFIG_VAL(D, T, wallpaper_grad_c2_r, INT); + E_CONFIG_VAL(D, T, wallpaper_grad_c2_g, INT); + E_CONFIG_VAL(D, T, wallpaper_grad_c2_b, INT); e_config = e_config_domain_load("e", _e_config_edd); if (e_config) @@ -1167,6 +1174,15 @@ IFCFG(0x0096); /* the version # where this value(s) was introduced */ e_config->wallpaper_import_last_dev = evas_stringshare_add("~/"); e_config->wallpaper_import_last_path = evas_stringshare_add("/"); + IFCFGEND; + + IFCFG(0x0098); + e_config->wallpaper_grad_c1_r = 0; + e_config->wallpaper_grad_c1_g = 0; + e_config->wallpaper_grad_c1_b = 0; + e_config->wallpaper_grad_c2_r = 255; + e_config->wallpaper_grad_c2_g = 255; + e_config->wallpaper_grad_c2_b = 255; IFCFGEND; #if 0 /* example of new config */ =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_config.h,v retrieving revision 1.107 retrieving revision 1.108 diff -u -3 -r1.107 -r1.108 --- e_config.h 15 Aug 2006 20:17:19 -0000 1.107 +++ e_config.h 20 Aug 2006 22:30:44 -0000 1.108 @@ -50,7 +50,7 @@ /* increment this whenever a new set of config values are added but the users * config doesn't need top be wiped - simply new values need to be put in */ -#define E_CONFIG_FILE_GENERATION 0x0097 +#define E_CONFIG_FILE_GENERATION 0x0098 #define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH << 16) | E_CONFIG_FILE_GENERATION) #define E_EVAS_ENGINE_DEFAULT 0 @@ -236,6 +236,13 @@ const char *wallpaper_import_last_dev; // INTERNAL const char *wallpaper_import_last_path; // INTERNAL + + int wallpaper_grad_c1_r; // INTERNAL + int wallpaper_grad_c1_g; // INTERNAL + int wallpaper_grad_c1_b; // INTERNAL + int wallpaper_grad_c2_r; // INTERNAL + int wallpaper_grad_c2_g; // INTERNAL + int wallpaper_grad_c2_b; // INTERNAL }; struct _E_Config_Module =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_wallpaper_gradient.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- e_int_config_wallpaper_gradient.c 20 Aug 2006 22:15:27 -0000 1.2 +++ e_int_config_wallpaper_gradient.c 20 Aug 2006 22:30:44 -0000 1.3 @@ -57,6 +57,7 @@ static void _import_cb_delete(E_Win *win); static void _import_cb_close(void *data, E_Dialog *dia); static void _import_cb_ok(void *data, E_Dialog *dia); +static void _import_config_save(Import *import); EAPI E_Dialog * e_int_config_wallpaper_gradient(E_Config_Dialog *parent) @@ -69,10 +70,10 @@ E_Radio_Group *rg; Evas_Coord w, h; E_Config_Dialog_Data *cfdata; - + import = E_NEW(Import, 1); if (!import) return NULL; - + dia = e_dialog_new(parent->con, "E", "_wallpaper_gradient_dialog"); if (!dia) { @@ -89,26 +90,31 @@ import->dia = dia; cfdata->name = strdup("gradient"); - + evas = e_win_evas_get(dia->win); - + import->parent = parent; e_dialog_title_set(dia, _("Create a gradient...")); - // e_win_delete_callback_set(dia->win, _import_cb_delete); - + // e_win_delete_callback_set(dia->win, _import_cb_delete); + cfdata->color1 = calloc(1, sizeof(E_Color)); cfdata->color1->a = 255; cfdata->color2 = calloc(1, sizeof(E_Color)); cfdata->color2->a = 255; - // XXX load last used colors from config. + cfdata->color1->r = e_config->wallpaper_grad_c1_r; + cfdata->color1->g = e_config->wallpaper_grad_c1_g; + cfdata->color1->b = e_config->wallpaper_grad_c1_b; + cfdata->color2->r = e_config->wallpaper_grad_c2_r; + cfdata->color2->g = e_config->wallpaper_grad_c2_g; + cfdata->color2->b = e_config->wallpaper_grad_c2_b; ol = e_widget_list_add(evas, 0, 0); ot = e_widget_table_add(evas, 0); evas_object_show(ot); - + o = e_widget_label_add(evas, _("Name:")); evas_object_show(o); e_widget_table_object_append(ot, o, 1, 1, 1, 1, 0, 1, 0, 1); @@ -170,7 +176,7 @@ e_dialog_button_add(dia, _("OK"), NULL, _import_cb_ok, cfdata); e_dialog_button_add(dia, _("Cancel"), NULL, _import_cb_close, cfdata); - + _import_opt_disabled_set(import, 1); e_dialog_resizable_set(dia, 0); e_dialog_show(dia); @@ -180,9 +186,10 @@ void e_int_config_wallpaper_gradient_del(E_Dialog *dia) { - Import *import; + Import *import; - import = dia->win->data; + import = dia->win->data; + _import_config_save(import); if (import->exe_handler) ecore_event_handler_del(import->exe_handler); import->exe_handler = NULL; @@ -209,7 +216,18 @@ static void _import_config_save(Import *import) { - // XXX save last used colors + if (import->cfdata->color1) + { + e_config->wallpaper_grad_c1_r = import->cfdata->color1->r; + e_config->wallpaper_grad_c1_g = import->cfdata->color1->g; + e_config->wallpaper_grad_c1_b = import->cfdata->color1->b; + } + if (import->cfdata->color2) + { + e_config->wallpaper_grad_c2_r = import->cfdata->color2->r; + e_config->wallpaper_grad_c2_g = import->cfdata->color2->g; + e_config->wallpaper_grad_c2_b = import->cfdata->color2->b; + } e_config_save_queue(); } ------------------------------------------------------------------------- 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