Enlightenment CVS committal

Author  : onefang
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_eap_editor.c 


Log Message:
So used to const just getting in the way, that I sometimes trip over the
places where it actually means something.  All fixed.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_eap_editor.c,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -3 -r1.62 -r1.63
--- e_eap_editor.c      26 Sep 2006 13:51:31 -0000      1.62
+++ e_eap_editor.c      26 Sep 2006 16:09:40 -0000      1.63
@@ -6,10 +6,27 @@
 struct _E_Config_Dialog_Data
 {
    E_App eap;
-   char  *exe;
-   int    icon_theme;
+
+   char         *name; /* app name */
+   char         *generic; /* generic app name */
+   char         *comment; /* a longer description */
+   char         *exe; /* command to execute, NULL if directory */
+   char         *exe_params; /* command params to execute, NULL if directory */
+
+   char         *win_name; /* window name */
+   char         *win_class; /* window class */
+   char         *win_title; /* window title */
+   char         *win_role; /* window role */
+
+   char         *icon_class; /* icon_class */
+   char         *icon_path;  /* icon path */
+   char         *image; /* used when we're saving a image into the eap */
+
    int    startup_notify;
    int    wait_exit;
+
+   char  *exec;
+   int    icon_theme;
    E_App_Edit *editor;
    Evas_Object *themed;
 };
@@ -25,11 +42,11 @@
 static Evas_Object   *_e_eap_edit_advanced_create_widgets(E_Config_Dialog 
*cfd, Evas *evas, E_Config_Dialog_Data *data);
 static void           _e_eap_editor_cb_icon_select(void *data1, void *data2);
 static void           _e_eap_edit_select_cb(void *data, Evas_Object *obj);
-static void           _e_eap_edit_change_cb(void *data, Evas_Object *obj);
 static void           _e_eap_edit_cb_icon_select_del(void *obj);
 static void           _e_eap_edit_cb_icon_select_ok(void *data, E_Dialog *dia);
 static void           _e_eap_edit_cb_icon_select_cancel(void *data, E_Dialog 
*dia);
 static void           _cb_files_icon_theme_changed(void *data, Evas_Object 
*obj, void *event_info);
+static void           _e_eap_editor_icon_show(E_Config_Dialog_Data *cfdata);
 
 #define IFADD(src, dst) if (src) dst = evas_stringshare_add(src); else dst = 
NULL
 #define IFDEL(src) if (src) evas_stringshare_del(src);  src = NULL;
@@ -117,35 +134,35 @@
    cfdata->editor = cfd->data;
    /*- COMMON -*/
    IFADD(cfdata->editor->eap->path, cfdata->eap.path);
-   IFADD(cfdata->editor->eap->name, cfdata->eap.name);
-   IFADD(cfdata->editor->eap->exe, cfdata->eap.exe);
-   IFADD(cfdata->editor->eap->exe_params, cfdata->eap.exe_params);
-   cfdata->exe = ecore_desktop_merge_command((char *)cfdata->editor->eap->exe, 
(char *)cfdata->editor->eap->exe_params);
-   IFADD(cfdata->editor->eap->image, cfdata->eap.image);
+   IFDUP(cfdata->editor->eap->name, cfdata->name);
+   IFDUP(cfdata->editor->eap->exe, cfdata->exe);
+   IFDUP(cfdata->editor->eap->exe_params, cfdata->exe_params);
+   cfdata->exec = ecore_desktop_merge_command((char 
*)cfdata->editor->eap->exe, (char *)cfdata->editor->eap->exe_params);
+   IFDUP(cfdata->editor->eap->image, cfdata->image);
    cfdata->eap.height = cfdata->editor->eap->height;
    cfdata->eap.width = cfdata->editor->eap->width;
    IFADD(cfdata->editor->eap->icon_theme, cfdata->eap.icon_theme);
    IFADD(cfdata->editor->eap->icon, cfdata->eap.icon);
-   IFADD(cfdata->editor->eap->icon_class, cfdata->eap.icon_class);
-   IFADD(cfdata->editor->eap->icon_path, cfdata->eap.icon_path);
+   IFDUP(cfdata->editor->eap->icon_class, cfdata->icon_class);
+   IFDUP(cfdata->editor->eap->icon_path, cfdata->icon_path);
    /*- ADVANCED -*/
-   IFADD(cfdata->editor->eap->generic, cfdata->eap.generic);
-   IFADD(cfdata->editor->eap->comment, cfdata->eap.comment);
-   IFADD(cfdata->editor->eap->win_name, cfdata->eap.win_name);
-   IFADD(cfdata->editor->eap->win_class, cfdata->eap.win_class);
-   IFADD(cfdata->editor->eap->win_title, cfdata->eap.win_title);
-   IFADD(cfdata->editor->eap->win_role, cfdata->eap.win_role);
+   IFDUP(cfdata->editor->eap->generic, cfdata->generic);
+   IFDUP(cfdata->editor->eap->comment, cfdata->comment);
+   IFDUP(cfdata->editor->eap->win_name, cfdata->win_name);
+   IFDUP(cfdata->editor->eap->win_class, cfdata->win_class);
+   IFDUP(cfdata->editor->eap->win_title, cfdata->win_title);
+   IFDUP(cfdata->editor->eap->win_role, cfdata->win_role);
    cfdata->startup_notify = cfdata->editor->eap->startup_notify;
    cfdata->wait_exit = cfdata->editor->eap->wait_exit;
 
-   if (!cfdata->eap.icon_path)
+   if (!cfdata->icon_path)
      {
-        IFADD(cfdata->eap.image, cfdata->eap.icon_path);
-        if (!cfdata->eap.icon_path)
+        IFDUP(cfdata->image, cfdata->icon_path);
+        if (!cfdata->icon_path)
            cfdata->icon_theme = 1;
      }
    /* Save it for later. */
-   IFADD(cfdata->eap.icon_path, cfdata->eap.image);
+   IFDUP(cfdata->icon_path, cfdata->image);
    return cfdata;
 }
 
@@ -153,21 +170,21 @@
 _e_eap_edit_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
 {
    IFDEL(cfdata->eap.path);
-   IFDEL(cfdata->eap.name);
-   IFDEL(cfdata->eap.exe);
-   IFDEL(cfdata->eap.exe_params);
+   IFFREE(cfdata->name);
    IFFREE(cfdata->exe);
-   IFDEL(cfdata->eap.image);
+   IFFREE(cfdata->exe_params);
+   IFFREE(cfdata->exec);
+   IFFREE(cfdata->image);
    IFDEL(cfdata->eap.icon_theme);
    IFDEL(cfdata->eap.icon);
-   IFDEL(cfdata->eap.icon_class);
-   IFDEL(cfdata->eap.icon_path);
-   IFDEL(cfdata->eap.generic);
-   IFDEL(cfdata->eap.comment);
-   IFDEL(cfdata->eap.win_name);
-   IFDEL(cfdata->eap.win_class);
-   IFDEL(cfdata->eap.win_title);
-   IFDEL(cfdata->eap.win_role);
+   IFFREE(cfdata->icon_class);
+   IFFREE(cfdata->icon_path);
+   IFFREE(cfdata->generic);
+   IFFREE(cfdata->comment);
+   IFFREE(cfdata->win_name);
+   IFFREE(cfdata->win_class);
+   IFFREE(cfdata->win_title);
+   IFFREE(cfdata->win_role);
 
    if (cfdata->editor)
      {
@@ -195,19 +212,19 @@
    e_app_fields_empty(eap);
 
    IFADD(cfdata->eap.path, eap->path);
-   IFADD(cfdata->eap.name, eap->name);
-   if (cfdata->exe)
+   IFADD(cfdata->name, eap->name);
+   if (cfdata->exec)
       {
          char *exe;
 
-         exe = strchr(cfdata->exe, ' ');
+         exe = strchr(cfdata->exec, ' ');
         if (exe)
            {
               *exe = '\0';
                eap->exe_params = evas_stringshare_add(++exe);
               *exe = ' ';
            }
-         eap->exe = evas_stringshare_add(cfdata->exe);
+         eap->exe = evas_stringshare_add(cfdata->exec);
       }
 
    if (cfdata->icon_theme)
@@ -216,7 +233,7 @@
      }
    else
      {
-        IFADD(cfdata->eap.icon_path, eap->icon_path);
+        IFADD(cfdata->icon_path, eap->icon_path);
        if (cfdata->editor->eap->image)
          {
 /* FIXME: eap->image was created by the border menu "Create Icon" and it's the
@@ -228,7 +245,7 @@
      }
    IFADD(cfdata->eap.icon_theme, eap->icon_theme);
    IFADD(cfdata->eap.icon, eap->icon);
-   IFADD(cfdata->eap.icon_class, eap->icon_class);
+   IFADD(cfdata->icon_class, eap->icon_class);
 
    /* FIXME: hardcoded until the eap editor provides fields to change it */
    if (cfdata->eap.width) eap->width = cfdata->eap.width;
@@ -236,12 +253,12 @@
    if (cfdata->eap.height) eap->height = cfdata->eap.height;
    else eap->height = 128;
 
-   IFADD(cfdata->eap.generic, eap->generic);
-   IFADD(cfdata->eap.comment, eap->comment);
-   IFADD(cfdata->eap.win_name, eap->win_name);
-   IFADD(cfdata->eap.win_class, eap->win_class);
-   IFADD(cfdata->eap.win_title, eap->win_title);
-   IFADD(cfdata->eap.win_role, eap->win_role);
+   IFADD(cfdata->generic, eap->generic);
+   IFADD(cfdata->comment, eap->comment);
+   IFADD(cfdata->win_name, eap->win_name);
+   IFADD(cfdata->win_class, eap->win_class);
+   IFADD(cfdata->win_title, eap->win_title);
+   IFADD(cfdata->win_role, eap->win_role);
    eap->startup_notify = cfdata->startup_notify;
    eap->wait_exit = cfdata->wait_exit;
 
@@ -274,13 +291,7 @@
 
    o = e_widget_frametable_add(evas, _("Icon"), 0);
 
-   if (editor->img)
-     {
-       evas_object_del(editor->img);
-       editor->img = NULL;
-     }
-   
-   editor->img = e_app_icon_add(evas, &(cfdata->eap));
+   _e_eap_editor_icon_show(cfdata);
 
    if (editor->img_widget) evas_object_del(editor->img_widget);
    editor->img_widget = e_widget_button_add(evas, "", NULL,
@@ -298,7 +309,7 @@
                                     0, 0, 1, 1,
                                     1, 1, 1, 1);
 
-   entry = e_widget_entry_add(evas, (char **) &(cfdata->eap.name));
+   entry = e_widget_entry_add(evas, &(cfdata->name));
    e_widget_min_size_set(entry, 100, 1);
    e_widget_frametable_object_append(o, entry,
                                     1, 0, 1, 1,
@@ -306,7 +317,7 @@
    e_widget_frametable_object_append(o, e_widget_label_add(evas, 
_("Executable")),
                                     0, 1, 1, 1,
                                     1, 1, 1, 1);
-   e_widget_frametable_object_append(o, e_widget_entry_add(evas, 
&(cfdata->exe)),
+   e_widget_frametable_object_append(o, e_widget_entry_add(evas, 
&(cfdata->exec)),
                                     1, 1, 1, 1,
                                     1, 1, 1, 1);
    e_widget_table_object_append(ol, o, 1, 0, 1, 1, 1 ,1, 1, 1);
@@ -334,7 +345,7 @@
                                     0, 0, 1, 1,
                                     1, 1, 1, 1);
 
-   entry = e_widget_entry_add(evas, (char **) &(cfdata->eap.generic));
+   entry = e_widget_entry_add(evas, &(cfdata->generic));
    e_widget_min_size_set(entry, 100, 1);
    e_widget_frametable_object_append(o, entry,
                                     1, 0, 1, 1,
@@ -342,7 +353,7 @@
    e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Comment")),
                                     0, 1, 1, 1,
                                     1, 1, 1, 1);
-   e_widget_frametable_object_append(o, e_widget_entry_add(evas, (char **) 
&(cfdata->eap.comment)),
+   e_widget_frametable_object_append(o, e_widget_entry_add(evas, 
&(cfdata->comment)),
                                     1, 1, 1, 1,
                                     1, 1, 1, 1);
    e_widget_table_object_append(ol, o, 0, 1, 1, 1, 1 ,1, 1, 1);
@@ -355,7 +366,7 @@
                                     0, 0, 1, 1,
                                     1, 1, 1, 1);
 
-   entry = e_widget_entry_add(evas, (char **) &(cfdata->eap.win_name));
+   entry = e_widget_entry_add(evas, &(cfdata->win_name));
    e_widget_min_size_set(entry, 100, 1);
    e_widget_frametable_object_append(o, entry,
                                     1, 0, 1, 1,
@@ -363,19 +374,19 @@
    e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Window 
Class")),
                                     0, 1, 1, 1,
                                     1, 1, 1, 1);
-   e_widget_frametable_object_append(o, e_widget_entry_add(evas, (char **) 
&(cfdata->eap.win_class)),
+   e_widget_frametable_object_append(o, e_widget_entry_add(evas, 
&(cfdata->win_class)),
                                     1, 1, 1, 1,
                                     1, 1, 1, 1);
    e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Window 
Title")),
                                     0, 2, 1, 1,
                                     1, 1, 1, 1);
-   e_widget_frametable_object_append(o, e_widget_entry_add(evas, (char **) 
&(cfdata->eap.win_title)),
+   e_widget_frametable_object_append(o, e_widget_entry_add(evas, 
&(cfdata->win_title)),
                                     1, 2, 1, 1,
                                     1, 1, 1, 1);
    e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Window 
Role")),
                                     0, 3, 1, 1,
                                     1, 1, 1, 1);
-   e_widget_frametable_object_append(o, e_widget_entry_add(evas, (char **) 
&(cfdata->eap.win_role)),
+   e_widget_frametable_object_append(o, e_widget_entry_add(evas, 
&(cfdata->win_role)),
                                     1, 3, 1, 1,
                                     1, 1, 1, 1);
    e_widget_table_object_append(ol, o, 0, 2, 1, 1, 1 ,1, 1, 1);
@@ -394,7 +405,7 @@
                                     0, 1, 1, 1,
                                     1, 1, 1, 1);
 
-   entry = e_widget_entry_add(evas, (char **) &(cfdata->eap.icon_class));
+   entry = e_widget_entry_add(evas, &(cfdata->icon_class));
    e_widget_min_size_set(entry, 100, 1);
    e_widget_frametable_object_append(o, entry,
                                     1, 1, 1, 1,
@@ -435,9 +446,9 @@
    dia->data = cfdata;
    e_object_del_attach_func_set(E_OBJECT(dia), _e_eap_edit_cb_icon_select_del);
 
-   if (cfdata->eap.icon_path)
+   if (cfdata->icon_path)
       {
-         dir = ecore_file_get_dir(cfdata->eap.icon_path);
+         dir = ecore_file_get_dir(cfdata->icon_path);
       }
    if (dir)
      {
@@ -476,11 +487,6 @@
 }
 
 static void
-_e_eap_edit_change_cb(void *data, Evas_Object *obj)
-{
-}
-
-static void
 _e_eap_edit_cb_icon_select_del(void *obj)
 {
    E_Dialog *dia;
@@ -501,15 +507,15 @@
    file = e_widget_fsel_selection_path_get(cfdata->editor->fsel);
    if (file)
      {
-        IFDEL(cfdata->eap.image);
-        IFADD(file, cfdata->eap.image);
+        IFFREE(cfdata->image);
+        IFDUP(file, cfdata->image);
         if (cfdata->themed)
            e_widget_check_checked_set(cfdata->themed, 0);
        else
          {
             cfdata->icon_theme = 0;
-             IFDEL(cfdata->eap.icon_path);
-             IFADD(file, cfdata->eap.icon_path);
+             IFFREE(cfdata->icon_path);
+             IFDUP(file, cfdata->icon_path);
          }
         _cb_files_icon_theme_changed(cfdata, NULL, NULL);
      }
@@ -534,12 +540,25 @@
    E_Config_Dialog_Data *cfdata;
 
    cfdata = data;
-   IFDEL(cfdata->eap.icon_path);
+   IFFREE(cfdata->icon_path);
    if (!cfdata->icon_theme)
-      {
-         IFADD(cfdata->eap.image, cfdata->eap.icon_path);
-      }
-   if (cfdata->editor->img) evas_object_del(cfdata->editor->img);
-   cfdata->editor->img = e_app_icon_add(cfdata->editor->evas, &(cfdata->eap));
+      IFDUP(cfdata->image, cfdata->icon_path);
+   _e_eap_editor_icon_show(cfdata);
    e_widget_button_icon_set(cfdata->editor->img_widget, cfdata->editor->img);
+}
+
+static void
+_e_eap_editor_icon_show(E_Config_Dialog_Data *cfdata)
+{
+   if (cfdata->editor->img)
+     {
+       evas_object_del(cfdata->editor->img);
+       cfdata->editor->img = NULL;
+     }
+
+   IFDEL(cfdata->eap.icon_class);
+   IFDEL(cfdata->eap.icon_path);
+   IFADD(cfdata->icon_class, cfdata->eap.icon_class);
+   IFADD(cfdata->icon_path, cfdata->eap.icon_path);
+   cfdata->editor->img = e_app_icon_add(cfdata->editor->evas, &(cfdata->eap));
 }



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to