Enlightenment CVS committal Author : devilhorns Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_includes.h Makefile.am e_int_config_theme.c e_int_config_theme.h Added Files: e_int_config_theme_import.h e_int_config_theme_import.c Log Message: Added theme import dialog :) Auto-sets to the imported theme. Some cleanup on wallpaper import dialog. =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_includes.h,v retrieving revision 1.124 retrieving revision 1.125 diff -u -3 -r1.124 -r1.125 --- e_includes.h 28 Aug 2006 11:22:27 -0000 1.124 +++ e_includes.h 1 Sep 2006 17:21:23 -0000 1.125 @@ -102,6 +102,7 @@ #include "e_int_config_window_manipulation.h" #include "e_int_config_window_display.h" #include "e_int_config_theme.h" +#include "e_int_config_theme_import.h" #include "e_int_config_icon_themes.h" #include "e_int_config_menus.h" #include "e_int_config_keybindings.h" =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/Makefile.am,v retrieving revision 1.145 retrieving revision 1.146 diff -u -3 -r1.145 -r1.146 --- Makefile.am 28 Aug 2006 11:22:27 -0000 1.145 +++ Makefile.am 1 Sep 2006 17:21:23 -0000 1.146 @@ -129,6 +129,7 @@ e_int_config_window_manipulation.h \ e_int_config_window_display.h \ e_int_config_theme.h \ +e_int_config_theme_import.h \ e_int_config_icon_themes.h \ e_int_config_menus.h \ e_int_config_keybindings.h \ @@ -282,6 +283,7 @@ e_int_config_window_manipulation.c \ e_int_config_window_display.c \ e_int_config_theme.c \ +e_int_config_theme_import.c \ e_int_config_icon_themes.c \ e_int_config_menus.c \ e_int_config_keybindings.c \ =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_theme.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -3 -r1.35 -r1.36 --- e_int_config_theme.c 1 Sep 2006 13:32:39 -0000 1.35 +++ e_int_config_theme.c 1 Sep 2006 17:21:23 -0000 1.36 @@ -22,6 +22,9 @@ int fmdir; char *theme; + + /* Dialog */ + E_Win *win_import; }; EAPI E_Config_Dialog * @@ -44,6 +47,53 @@ return cfd; } +EAPI void +e_int_config_theme_import_done(E_Config_Dialog *dia) +{ + E_Config_Dialog_Data *cfdata; + + cfdata = dia->cfdata; + cfdata->win_import = NULL; +} + +EAPI void +e_int_config_theme_update(E_Config_Dialog *dia, char *file) +{ + E_Config_Dialog_Data *cfdata; + char *homedir, path[4096]; + + 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/themes", homedir); + E_FREE(homedir); + E_FREE(cfdata->theme); + cfdata->theme = strdup(file); + + if (cfdata->o_fm) + e_fm2_path_set(cfdata->o_fm, path, "/"); + + if (cfdata->o_preview) + e_widget_preview_edje_set(cfdata->o_preview, cfdata->theme, "e/desktop/background"); + if (cfdata->o_frame) + e_widget_change(cfdata->o_frame); + +/* + + if (cfdata->o_fm) + { + e_fm2_select_set(cfdata->o_fm, file, 1); + e_fm2_file_show(cfdata->o_fm, file); + + evas_object_smart_callback_call(cfdata->o_fm, + "selection_change", cfdata); + } + */ +} static void _cb_button_up(void *data1, void *data2) @@ -86,19 +136,24 @@ E_Fm2_Icon_Info *ici; const char *realpath; char buf[4096]; - + cfdata = data; if (!cfdata->o_fm) return; + selected = e_fm2_selected_list_get(cfdata->o_fm); if (!selected) return; + ici = selected->data; realpath = e_fm2_real_path_get(cfdata->o_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->theme); cfdata->theme = strdup(buf); if (cfdata->o_preview) @@ -207,7 +262,17 @@ evas_object_smart_callback_call(cfdata->o_fm, "selection_change", cfdata); } - +static void +_cb_import(void *data1, void *data2) +{ + E_Config_Dialog_Data *cfdata; + + cfdata = data1; + if (cfdata->win_import) + e_win_raise(cfdata->win_import); + else + cfdata->win_import = e_int_config_theme_import(cfdata->cfd); +} static void _fill_data(E_Config_Dialog_Data *cfdata) @@ -264,6 +329,9 @@ static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { + if (cfdata->win_import) + e_int_config_theme_del(cfdata->win_import); + E_FREE(cfdata->theme); free(cfdata); } @@ -356,6 +424,12 @@ 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_button_add(evas, _("Import..."), "enlightenment/theme", + _cb_import, cfdata, NULL); + e_widget_list_object_append(il, o, 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; =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_theme.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- e_int_config_theme.h 19 Dec 2005 14:42:43 -0000 1.1 +++ e_int_config_theme.h 1 Sep 2006 17:21:23 -0000 1.2 @@ -7,6 +7,8 @@ #define E_INT_CONFIG_THEME_H EAPI E_Config_Dialog *e_int_config_theme(E_Container *con); +EAPI void e_int_config_theme_import_done(E_Config_Dialog *dia); +EAPI void e_int_config_theme_update(E_Config_Dialog *dia, char *file); #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