diff --git a/src/bin/e_eap_editor.c b/src/bin/e_eap_editor.c index 2c998c812..e226de18d 100644 --- a/src/bin/e_eap_editor.c +++ b/src/bin/e_eap_editor.c @@ -68,6 +68,7 @@ e_eap_edit_show(E_Container *con, E_App *a) if (!editor) return; editor->eap = a; + editor->img = NULL; /* methods */ v.create_cfdata = _e_eap_edit_create_data; @@ -95,6 +96,7 @@ _e_eap_edit_fill_data(E_App_Edit_CFData *cfdata) IFDUP(cfdata->editor->eap->win_class, cfdata->wclass); IFDUP(cfdata->editor->eap->win_title, cfdata->wtitle); IFDUP(cfdata->editor->eap->win_role, cfdata->wrole); + IFDUP(cfdata->editor->eap->icon_class, cfdata->iclass); IFDUP(cfdata->editor->eap->path, cfdata->path); cfdata->startup_notify = cfdata->editor->eap->startup_notify; cfdata->wait_exit = cfdata->editor->eap->wait_exit; @@ -127,6 +129,7 @@ _e_eap_edit_free_data(E_Config_Dialog *cfd, void *data) E_FREE(cfdata->wclass); E_FREE(cfdata->wtitle); E_FREE(cfdata->wrole); + E_FREE(cfdata->iclass); E_FREE(cfdata->path); E_FREE(cfdata->image); free(data); @@ -233,10 +236,19 @@ _e_eap_edit_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, void *data) o = e_widget_frametable_add(evas, _("Icon"), 0); - editor->img = e_icon_add(evas); - if(eap->path) - { - e_icon_file_key_set(editor->img, eap->path, "images/0"); + if(!editor->img) + { + editor->img = e_icon_add(evas); + if(eap->path) + { + e_icon_file_key_set(editor->img, eap->path, "images/0"); + e_icon_fill_inside_set(editor->img, 1); + } + } + else + { + editor->img = e_icon_add(evas); + e_icon_file_set(editor->img, cfdata->image); e_icon_fill_inside_set(editor->img, 1); } @@ -408,5 +420,5 @@ _e_eap_edit_hilite_cb(Evas_Object *obj, char *file, void *data) E_App_Edit *editor; editor = data; - printf("hilited: %s\n", file); + printf("hilited: %s\n", file); } diff --git a/src/bin/e_ipc_handlers.h b/src/bin/e_ipc_handlers.h index a867f9a74..53f75abbf 100644 --- a/src/bin/e_ipc_handlers.h +++ b/src/bin/e_ipc_handlers.h @@ -857,6 +857,31 @@ break; #endif #undef HDL /****************************************************************************/ +#define HDL E_IPC_EAP_EDIT_START +#if (TYPE == E_REMOTE_OPTIONS) + OP("-start-eap-edit", 1, "Starts the Eap editor on the eap 'OPT1'", 0, HDL) +#elif (TYPE == E_REMOTE_OUT) + REQ_STRING(params[0], HDL); +#elif (TYPE == E_WM_IN) + STRING(s, HDL); + E_App *a; + if(ecore_file_exists(s)) + { + a = e_app_new(s, 0); + if(a) + e_eap_edit_show(e_container_current_get(e_manager_current_get()), a); + } + else + { + a = e_app_empty_new(s); + if(a) + e_eap_edit_show(e_container_current_get(e_manager_current_get()), a); + } + END_STRING(s); +#elif (TYPE == E_REMOTE_IN) +#endif +#undef HDL +/****************************************************************************/ #define HDL E_IPC_OP_MODULE_LOAD #if (TYPE == E_REMOTE_OPTIONS) OP("-module-load", 1, "Loads the module named 'OPT1' into memory", 0, HDL) diff --git a/src/bin/e_ipc_handlers_list.h b/src/bin/e_ipc_handlers_list.h index f5f11409b..81f2cdfe5 100644 --- a/src/bin/e_ipc_handlers_list.h +++ b/src/bin/e_ipc_handlers_list.h @@ -352,3 +352,5 @@ #define E_IPC_OP_CACHE_FLUSH_INTERVAL_SET 330 #define E_IPC_OP_CACHE_FLUSH_INTERVAL_GET 331 #define E_IPC_OP_CACHE_FLUSH_INTERVAL_GET_REPLY 332 + +#define E_IPC_EAP_EDIT_START 333 diff --git a/src/bin/e_widget_iconsel.c b/src/bin/e_widget_iconsel.c index 942cc3aea..d6a979a4e 100644 --- a/src/bin/e_widget_iconsel.c +++ b/src/bin/e_widget_iconsel.c @@ -300,7 +300,7 @@ _e_wid_hilite_cb(E_File_Dialog *dia, char *file, void *data) return; if (wd->hilite_func) - wd->hilite_func(wd->obj, file, wd->select_data); + wd->hilite_func(wd->obj, file, wd->hilite_data); //e_icon_file_set(wd->o_icon, file); E_FREE(*(wd->valptr));