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