Enlightenment CVS committal Author : dj2 Project : e17 Module : apps/e_utils
Dir : e17/apps/e_utils/src/bin/eapp_edit Modified Files: eapp_edit_main.c Log Message: - clean this up a bit more, break the engrave stuff out to its own function =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e_utils/src/bin/eapp_edit/eapp_edit_main.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -3 -r1.19 -r1.20 --- eapp_edit_main.c 20 Aug 2005 14:28:59 -0000 1.19 +++ eapp_edit_main.c 20 Aug 2005 15:07:22 -0000 1.20 @@ -10,6 +10,7 @@ static int eapp_populate(Ewl_Tree *tree, char *file, char *lang); static char *eapp_eet_read(Eet_File *ef, char *key, char *lang); static void eapp_eet_write(Eet_File *ef, char *key, char *lang, char *val, int size); +static void eapp_engrave_write(char *file); static void eapp_cb_quit(Ewl_Widget *w, void *ev, void *data); static void eapp_cb_save(Ewl_Widget *w, void *ev, void *data); @@ -147,7 +148,6 @@ tree = ewl_tree_new(TREE_COLS); ewl_container_child_append(EWL_CONTAINER(vbox), tree); ewl_tree_headers_visible_set(EWL_TREE(tree), FALSE); - ewl_tree_mode_set(EWL_TREE(tree), EWL_TREE_MODE_NONE); ewl_widget_show(tree); if (!eapp_populate(EWL_TREE(tree), file, lang)) @@ -242,32 +242,6 @@ return 1; } -static char * -eapp_eet_read(Eet_File *ef, char *key, char *lang) -{ - if (ef) - { - int size; - char buf[4096]; - char *ret, *r; - - if (lang) - snprintf(buf, sizeof(buf), "%s[%s]", key, lang); - else - snprintf(buf, sizeof(buf), "%s", key); - - r = eet_read(ef, buf, &size); - if (r) - { - ret = malloc(sizeof(char) * (size + 1)); - snprintf(ret, size + 1, "%s", r); - free(r); - return ret; - } - } - return strdup(""); -} - static void eapp_cb_fd_show(Ewl_Widget *w, void *ev, void *data) { @@ -336,22 +310,115 @@ { Eet_File *ef; Ewl_Widget *o; - char *icon = NULL, *file = NULL, *lang = NULL; + char *file = NULL, *lang = NULL; int i; file = ewl_widget_data_get(w, "file"); lang = ewl_widget_data_get(w, "lang"); + eapp_engrave_write(file); + + ef = eet_open(file, EET_FILE_MODE_READ_WRITE); + if (!ef) + { + fprintf(stderr, "Error opening file for READ/WRITE.\n"); + return; + } + + /* add all the eet data */ + for (i = 0; i < (sizeof(keys) / sizeof(keys[0])); i++) + { + Ewl_Widget *o; + char *v = NULL; + int s = 0; + char c; + + o = ewl_widget_name_find(keys[i].key); + if (keys[i].checkbox) + { + s = 1; + c = ewl_checkbutton_is_checked(EWL_CHECKBUTTON(o)); + v = &c; + } + else + { + v = ewl_text_text_get(EWL_TEXT(o)); + if (v) s = strlen(v); + } + + eapp_eet_write(ef, keys[i].key, lang, v, s); + } + + eet_close(ef); + eapp_cb_quit(NULL, NULL, NULL); +} + +static char * +eapp_eet_read(Eet_File *ef, char *key, char *lang) +{ + if (ef) + { + int size; + char buf[4096]; + char *ret, *r; + + if (lang) + snprintf(buf, sizeof(buf), "%s[%s]", key, lang); + else + snprintf(buf, sizeof(buf), "%s", key); + + r = eet_read(ef, buf, &size); + if (r) + { + ret = malloc(sizeof(char) * (size + 1)); + if (ret) + { + snprintf(ret, size + 1, "%s", r); + } + else ret = strdup(""); + + free(r); + return ret; + } + } + return strdup(""); +} + +static void +eapp_eet_write(Eet_File *ef, char *key, char *lang, char *val, int size) +{ + char buf[4096]; + + if (ef) + { + if (lang) + snprintf(buf, sizeof(buf), "%s[%s]", key, lang); + else + snprintf(buf, sizeof(buf), "%s", key); + + if (size == 0) + eet_delete(ef, buf); + else + eet_write(ef, buf, val, size, 0); + } +} + +static void +eapp_engrave_write(char *file) +{ + Engrave_File *eet; + Ewl_Widget *o; + char *icon; + o = ewl_widget_name_find("icon"); icon = ewl_widget_data_get(o, "file"); if (icon) { - Engrave_File *eet; + char *icon_dir, *icon_file; Engrave_Image *image; Engrave_Group *grp; Engrave_Part *part; Engrave_Part_State *ps; - char *icon_dir, *icon_file; icon_file = strrchr(icon, '/'); *icon_file = '\0'; @@ -388,8 +455,6 @@ } else { - Engrave_File *eet; - /* if the file dosen't exist, create it */ if (!ecore_file_exists(file)) { @@ -398,57 +463,5 @@ engrave_file_free(eet); } } - - ef = eet_open(file, EET_FILE_MODE_READ_WRITE); - if (!ef) - { - fprintf(stderr, "Error opening file for READ/WRITE.\n"); - return; - } - - /* add all the eet data */ - for (i = 0; i < (sizeof(keys) / sizeof(keys[0])); i++) - { - Ewl_Widget *o; - char *v = NULL; - int s = 0; - char c; - - o = ewl_widget_name_find(keys[i].key); - if (keys[i].checkbox) - { - s = 1; - c = ewl_checkbutton_is_checked(EWL_CHECKBUTTON(o)); - v = &c; - } - else - { - v = ewl_text_text_get(EWL_TEXT(o)); - if (v) s = strlen(v); - } - - eapp_eet_write(ef, keys[i].key, lang, v, s); - } - - eet_close(ef); - eapp_cb_quit(NULL, NULL, NULL); } -static void -eapp_eet_write(Eet_File *ef, char *key, char *lang, char *val, int size) -{ - char buf[4096]; - - if (lang) - snprintf(buf, sizeof(buf), "%s[%s]", key, lang); - else - snprintf(buf, sizeof(buf), "%s", key); - - if (size == 0) - eet_delete(ef, buf); - else - eet_write(ef, buf, val, size, 0); -} - - - ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs