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:
- formatting
- make it more maintainable

===================================================================
RCS file: /cvs/e/e17/apps/e_utils/src/bin/eapp_edit/eapp_edit_main.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -3 -r1.47 -r1.48
--- eapp_edit_main.c    5 Jun 2006 05:56:49 -0000       1.47
+++ eapp_edit_main.c    5 Jun 2006 06:00:23 -0000       1.48
@@ -10,7 +10,13 @@
 #include <string.h>
 #include <limits.h>
 
-#define TREE_COLS 2
+typedef struct Eapp_Item Eapp_Item;
+struct Eapp_Item
+{
+    char *key;
+    char *name;
+    int checkbox;
+};
 
 static void eapp_usage(void);
 static int eapp_ui_init(char *file, char *lang, char *winclass);
@@ -18,6 +24,7 @@
 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_write_keys(Eet_File *ef, Eapp_Item *keys, char *lang);
 
 static void eapp_cb_quit(Ewl_Widget *w, void *ev, void *data);
 static void eapp_cb_save(Ewl_Widget *w, void *ev, void *data);
@@ -25,26 +32,35 @@
 static void eapp_cb_fd_hide(Ewl_Widget *w, void *ev, void *data);
 static void eapp_cb_fd_changed(Ewl_Widget *w, void *ev, void *data);
 
-typedef struct Eapp_Item Eapp_Item;
-struct Eapp_Item
-{
-    char *key;
-    char *name;
-    int checkbox;
-};
+static Eapp_Item basic_keys[] = {
+            {"app/info/name", "App Name", 0},
+            {"app/info/exe", "Executable", 0},
+            {NULL, NULL, 0}
+        };
 
-static Eapp_Item keys[] = {
-            {"app/info/name",           "App Name", 0},
-           {"app/info/exe",            "Executable", 0},
-            {"app/info/generic",        "Generic Info", 0},
-            {"app/info/comment",        "Comment", 0},
-           {"app/icon/class",          "Icon Class", 0},
-            {"app/window/name",         "Window Name", 0},
-            {"app/window/class",        "Window Class", 0},
-            {"app/window/title",        "Window Title", 0},
-            {"app/window/role",         "Window Role", 0},
+static Eapp_Item general_keys[] = {
+            {"app/info/generic", "Generic Info", 0},
+            {"app/info/comment", "Comment", 0},
+            {NULL, NULL, 0}
+        };
+
+static Eapp_Item icon_theme_keys[] = {
+           {"app/icon/class", "Icon Class", 0},
+            {NULL, NULL, 0}
+        };
+
+static Eapp_Item window_keys[] = {
+            {"app/window/name", "Window Name", 0},
+            {"app/window/class", "Window Class", 0},
+            {"app/window/title", "Window Title", 0},
+            {"app/window/role", "Window Role", 0},
+            {NULL, NULL, 0}
+        };
+
+static Eapp_Item misc_keys[] = {
             {"app/info/startup_notify", "Startup Notify", 1},
-            {"app/info/wait_exit",      "Wait Exit", 1}
+            {"app/info/wait_exit", "Wait Exit", 1},
+            {NULL, NULL, 0}
         };
 
 int
@@ -158,10 +174,7 @@
 eapp_ui_init(char *file, char *lang, char *winclass)
 {
     Ewl_Widget *win, *vbox, *hbox, *o;
-    char tmp[PATH_MAX];
     
-    snprintf(tmp, PATH_MAX, "%s/data/e_utils_eapp_edit/default.edj", 
-                                                    PACKAGE_DATA_DIR);
     win = ewl_window_new();
     ewl_window_title_set(EWL_WINDOW(win), "Eapp Editor");
     ewl_window_class_set(EWL_WINDOW(win), "Eapp Editor");
@@ -212,8 +225,9 @@
 static int
 eapp_populate(Ewl_Widget *vbox, char *file, char *lang, char *winclass)
 {
-    Ewl_Widget *hbox, *icon_border, *icon, *basic, *o, *hsep, *label, *entry, 
*general, 
-               *icon_theme, *window, *misc, *checkbutton;
+    Ewl_Widget *hbox, *icon_border, *icon, *basic, *o;
+    Ewl_Widget *hsep, *label, *entry, *general;
+    Ewl_Widget *icon_theme, *window, *misc, *checkbutton;
     Eet_File *ef = NULL;
     char *v;
     int i = 0;
@@ -223,7 +237,7 @@
         ef = eet_open(file, EET_FILE_MODE_READ);
         if (!ef)
         {
-            fprintf(stderr, "Error, unable to open eap file.");
+            fprintf(stderr, "Error, unable to open eap file.\n");
             return 0;
         }
     }
@@ -262,34 +276,32 @@
     ewl_container_child_append(EWL_CONTAINER(vbox), hsep);
     ewl_widget_show(hsep);
 
-    /* add all the eet data */
-    while ( i <= 1 ) {
-       hbox = ewl_hbox_new();
-       ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL);
-       ewl_container_child_append(EWL_CONTAINER(basic), hbox);
-       ewl_widget_show(hbox);
+    for (i = 0; basic_keys[i].key; i++)
+    {
+        hbox = ewl_hbox_new();
+        ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL);
+        ewl_container_child_append(EWL_CONTAINER(basic), hbox);
+        ewl_widget_show(hbox);
 
-       v = eapp_eet_read(ef, keys[i].key, lang);
+        v = eapp_eet_read(ef, basic_keys[i].key, lang);
 
         label = ewl_label_new();
-        ewl_label_text_set(EWL_LABEL(label), keys[i].name);
+        ewl_label_text_set(EWL_LABEL(label), basic_keys[i].name);
         ewl_object_fill_policy_set(EWL_OBJECT(label), EWL_FLAG_FILL_NONE);
         ewl_object_alignment_set(EWL_OBJECT(label), EWL_FLAG_ALIGN_LEFT);
         ewl_container_child_append(EWL_CONTAINER(hbox), label);
-       ewl_object_minimum_size_set(EWL_OBJECT(label), 65, 15);
-       ewl_object_maximum_size_set(EWL_OBJECT(label), 65, 15);
-       ewl_widget_show(label);
-
-       entry = ewl_entry_new();
-       ewl_text_text_set(EWL_TEXT(entry), v);
-       ewl_object_maximum_size_set(EWL_OBJECT(entry), 99999, 8);
-       ewl_object_alignment_set(EWL_OBJECT(entry), EWL_FLAG_ALIGN_RIGHT);
-       ewl_container_child_append(EWL_CONTAINER(hbox), entry);
-        ewl_widget_name_set(entry, keys[i].key);       
-       ewl_widget_show(entry);
-       
-       i++;
-     }
+        ewl_object_minimum_size_set(EWL_OBJECT(label), 65, 15);
+        ewl_object_maximum_size_set(EWL_OBJECT(label), 65, 15);
+        ewl_widget_show(label);
+
+        entry = ewl_entry_new();
+        ewl_text_text_set(EWL_TEXT(entry), v);
+        ewl_object_maximum_size_set(EWL_OBJECT(entry), 99999, 8);
+        ewl_object_alignment_set(EWL_OBJECT(entry), EWL_FLAG_ALIGN_RIGHT);
+        ewl_container_child_append(EWL_CONTAINER(hbox), entry);
+        ewl_widget_name_set(entry, basic_keys[i].key);    
+        ewl_widget_show(entry);
+    }
 
     hbox = ewl_hbox_new();
     ewl_container_child_append(EWL_CONTAINER(vbox), hbox);
@@ -327,17 +339,17 @@
     ewl_object_alignment_set(EWL_OBJECT(misc), EWL_FLAG_ALIGN_RIGHT);
     ewl_widget_show(misc);
 
-
-    while ( i <= 3 ) {
-       hbox = ewl_hbox_new();
-       ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL);
+    for (i = 0; general_keys[i].key; i++)
+    {
+        hbox = ewl_hbox_new();
+        ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL);
         ewl_container_child_append(EWL_CONTAINER(general), hbox);
         ewl_widget_show(hbox);
 
-        v = eapp_eet_read(ef, keys[i].key, lang);
+        v = eapp_eet_read(ef, general_keys[i].key, lang);
 
         label = ewl_label_new();
-        ewl_label_text_set(EWL_LABEL(label), keys[i].name);
+        ewl_label_text_set(EWL_LABEL(label), general_keys[i].name);
         ewl_object_fill_policy_set(EWL_OBJECT(label), EWL_FLAG_FILL_NONE);
         ewl_object_alignment_set(EWL_OBJECT(label), EWL_FLAG_ALIGN_LEFT);
         ewl_container_child_append(EWL_CONTAINER(hbox), label);
@@ -347,25 +359,24 @@
 
         entry = ewl_entry_new();
         ewl_text_text_set(EWL_TEXT(entry), v);
-       ewl_object_maximum_size_set(EWL_OBJECT(entry), 99999, 8);
-       ewl_object_alignment_set(EWL_OBJECT(entry), EWL_FLAG_ALIGN_RIGHT);
+        ewl_object_maximum_size_set(EWL_OBJECT(entry), 99999, 8);
+        ewl_object_alignment_set(EWL_OBJECT(entry), EWL_FLAG_ALIGN_RIGHT);
         ewl_container_child_append(EWL_CONTAINER(hbox), entry);
-        ewl_widget_name_set(entry, keys[i].key);
+        ewl_widget_name_set(entry, general_keys[i].key);
         ewl_widget_show(entry);
-
-        i++;
     }
 
-    while ( i <= 4 ) {
+    for (i = 0; icon_theme_keys[i].key; i++)
+    {
         hbox = ewl_hbox_new();
-       ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL);
+        ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL);
         ewl_container_child_append(EWL_CONTAINER(icon_theme), hbox);
         ewl_widget_show(hbox);
 
-       v = eapp_eet_read(ef, keys[i].key, lang);
+        v = eapp_eet_read(ef, icon_theme_keys[i].key, lang);
 
         label = ewl_label_new();
-        ewl_label_text_set(EWL_LABEL(label), keys[i].name);
+        ewl_label_text_set(EWL_LABEL(label), icon_theme_keys[i].name);
         ewl_object_fill_policy_set(EWL_OBJECT(label), EWL_FLAG_FILL_NONE);
         ewl_object_alignment_set(EWL_OBJECT(label), EWL_FLAG_ALIGN_LEFT);
         ewl_container_child_append(EWL_CONTAINER(hbox), label);
@@ -375,30 +386,29 @@
 
         entry = ewl_entry_new();
         ewl_text_text_set(EWL_TEXT(entry), v);
-       ewl_object_maximum_size_set(EWL_OBJECT(entry), 99999, 8);
+        ewl_object_maximum_size_set(EWL_OBJECT(entry), 99999, 8);
         ewl_container_child_append(EWL_CONTAINER(hbox), entry);
         ewl_object_alignment_set(EWL_OBJECT(entry), EWL_FLAG_ALIGN_RIGHT);
-       ewl_widget_name_set(entry, keys[i].key);
-       ewl_widget_show(entry);
-
-        i++;
+        ewl_widget_name_set(entry, icon_theme_keys[i].key);
+        ewl_widget_show(entry);
     }
 
-    while ( i <= 8 ) {
-       hbox = ewl_hbox_new();
-       ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL);
+    for (i = 0; window_keys[i].key; i++)
+    {
+        hbox = ewl_hbox_new();
+        ewl_object_fill_policy_set(EWL_OBJECT(hbox), EWL_FLAG_FILL_ALL);
         ewl_container_child_append(EWL_CONTAINER(window), hbox);
         ewl_widget_show(hbox);
 
-       v = eapp_eet_read(ef, keys[i].key, lang);
+        v = eapp_eet_read(ef, window_keys[i].key, lang);
 
-       if (!strcmp(keys[i].key, "app/window/class"))
+        if (!strcmp(window_keys[i].key, "app/window/class"))
         {
             if (winclass) v = winclass;
         }
 
         label = ewl_label_new();
-        ewl_label_text_set(EWL_LABEL(label), keys[i].name);
+        ewl_label_text_set(EWL_LABEL(label), window_keys[i].name);
         ewl_object_fill_policy_set(EWL_OBJECT(label), EWL_FLAG_FILL_NONE);
         ewl_object_alignment_set(EWL_OBJECT(label), EWL_FLAG_ALIGN_LEFT);
         ewl_container_child_append(EWL_CONTAINER(hbox), label);
@@ -408,26 +418,23 @@
 
         entry = ewl_entry_new();
         ewl_text_text_set(EWL_TEXT(entry), v);
-       ewl_object_maximum_size_set(EWL_OBJECT(entry), 99999, 8);
+        ewl_object_maximum_size_set(EWL_OBJECT(entry), 99999, 8);
         ewl_container_child_append(EWL_CONTAINER(hbox), entry);
         ewl_object_alignment_set(EWL_OBJECT(entry), EWL_FLAG_ALIGN_RIGHT);
-       ewl_widget_name_set(entry, keys[i].key);
-       ewl_widget_show(entry);
-
-        i++;
+        ewl_widget_name_set(entry, window_keys[i].key);
+        ewl_widget_show(entry);
     }
 
-    while ( i <= 10 ) {
-       v = eapp_eet_read(ef, keys[i].key, lang);
+    for (i = 0; misc_keys[i].key; i++)
+    {
+        v = eapp_eet_read(ef, misc_keys[i].key, lang);
 
         checkbutton = ewl_checkbutton_new();
-        ewl_button_label_set(EWL_BUTTON(checkbutton), keys[i].name);
+        ewl_button_label_set(EWL_BUTTON(checkbutton), misc_keys[i].name);
         ewl_object_alignment_set(EWL_OBJECT(checkbutton), EWL_FLAG_ALIGN_LEFT);
         ewl_container_child_append(EWL_CONTAINER(misc), checkbutton);
-        ewl_widget_name_set(checkbutton, keys[i].key);
-       ewl_widget_show(checkbutton);
-
-        i++;
+        ewl_widget_name_set(checkbutton, misc_keys[i].key);
+        ewl_widget_show(checkbutton);
     }
 
     if (v) free(v);
@@ -447,7 +454,7 @@
     if (!fd)
     {
         fd = ewl_filedialog_new();
-       ewl_widget_name_set(fd, "fd");
+        ewl_widget_name_set(fd, "fd");
         ewl_callback_append(fd, EWL_CALLBACK_VALUE_CHANGED,
                                 eapp_cb_fd_changed, NULL);
         ewl_widget_show(fd);
@@ -473,7 +480,7 @@
         char *icon;
         const char *icon2;
         char icon3[PATH_MAX];
-       
+    
         icon = ewl_filedialog_selected_file_get(EWL_FILEDIALOG(w));
         icon2 = ewl_filedialog_directory_get(EWL_FILEDIALOG(w));
         snprintf(icon3, PATH_MAX, "%s/%s", icon2, icon);
@@ -492,7 +499,6 @@
 {
     Eet_File *ef;
     char *file = NULL, *lang = NULL;
-    int i;
 
     file = ewl_widget_data_get(w, "file");
     lang = ewl_widget_data_get(w, "lang");
@@ -506,8 +512,24 @@
         return;
     }
 
+    eapp_write_keys(ef, basic_keys, lang);
+    eapp_write_keys(ef, general_keys, lang);
+    eapp_write_keys(ef, icon_theme_keys, lang);
+    eapp_write_keys(ef, window_keys, lang);
+    eapp_write_keys(ef, misc_keys, lang);
+
+    eet_close(ef);
+    eapp_cb_quit(NULL, NULL, NULL);
+}
+
+static void
+eapp_write_keys(Eet_File *ef, Eapp_Item *keys, char *lang)
+{
+    int i;
+
+
     /* add all the eet data */
-    for (i = 0; i < (sizeof(keys) / sizeof(keys[0])); i++)
+    for (i = 0; keys[i].key; i++)
     {
         Ewl_Widget *o;
         char *v = NULL;
@@ -529,9 +551,6 @@
 
         eapp_eet_write(ef, keys[i].key, lang, v, s);
     }
-
-    eet_close(ef);
-    eapp_cb_quit(NULL, NULL, NULL);
 }
 
 static char *




_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to