diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am index 415f3e080..806706248 100644 --- a/src/bin/Makefile.am +++ b/src/bin/Makefile.am @@ -102,7 +102,8 @@ e_int_config_focus.h \ e_icon_layout.h \ e_int_border_locks.h \ e_thumb.h \ -e_int_border_remember.h +e_int_border_remember.h \ +e_eap_editor.h enlightenment_src = \ e_user.c \ @@ -186,6 +187,7 @@ e_icon_layout.c \ e_int_border_locks.c \ e_thumb.c \ e_int_border_remember.c \ +e_eap_editor.c \ $(ENLIGHTENMENTHEADERS) enlightenment_SOURCES = \ diff --git a/src/bin/e_eap_editor.c b/src/bin/e_eap_editor.c new file mode 100644 index 000000000..d11fccec8 --- /dev/null +++ b/src/bin/e_eap_editor.c @@ -0,0 +1,140 @@ +#include "e.h" + +/* local subsystem functions */ + +static void _e_eap_edit_save_cb(void *data, E_Dialog *dia); +static void _e_eap_edit_cancel_cb(void *data, E_Dialog *dia); +static void _e_eap_edit_browse_cb(void *data, E_Dialog *dia); +static void _e_eap_edit_free(E_App_Edit *app); + + +/* externally accessible functions */ +E_App_Edit * +e_eap_edit_show(E_Container *con, E_App *a) +{ + E_Manager *man; + E_App_Edit *app; + Evas_Object *o, *ol; + + app = E_OBJECT_ALLOC(E_App_Edit, E_EAP_EDIT_TYPE, _e_eap_edit_free); + if (!app) return NULL; + app->dia = e_dialog_new(con); + if (!app->dia) + { + free(app); + return NULL; + } + + app->con = con; + e_dialog_title_set(app->dia, _("Eap Editor")); + app->evas = e_win_evas_get(app->dia->win); + + app->eap = a; + + ol = e_widget_list_add(app->evas, 0, 0); + o = e_widget_table_add(app->evas, _("Eap Info"), 0); + + e_widget_table_object_append(o, e_widget_label_add(app->evas, "App name"), + 0, 0, 1, 1, + 1, 1, 1, 1); + { + Evas_Object *entry; + entry = e_widget_entry_add(app->evas, NULL); + e_widget_min_size_set(entry, 100, 1); + e_widget_table_object_append(o, entry, + 1, 0, 1, 1, + 1, 1, 1, 1); + } + + e_widget_table_object_append(o, e_widget_label_add(app->evas, "Generic Info"), + 0, 1, 1, 1, + 1, 1, 1, 1); + e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL), + 1, 1, 1, 1, + 1, 1, 1, 1); + + e_widget_table_object_append(o, e_widget_label_add(app->evas, "Comments"), + 0, 2, 1, 1, + 1, 1, 1, 1); + e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL), + 1, 2, 1, 1, + 1, 1, 1, 1); + + e_widget_table_object_append(o, e_widget_label_add(app->evas, "Executable"), + 0, 3, 1, 1, + 1, 1, 1, 1); + e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL), + 1, 3, 1, 1, + 1, 1, 1, 1); + + e_widget_table_object_append(o, e_widget_label_add(app->evas, "Window Name"), + 0, 4, 1, 1, + 1, 1, 1, 1); + e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL), + 1, 4, 1, 1, + 1, 1, 1, 1); + + e_widget_table_object_append(o, e_widget_label_add(app->evas, "Window Class"), + 0, 5, 1, 1, + 1, 1, 1, 1); + e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL), + 1, 5, 1, 1, + 1, 1, 1, 1); + + e_widget_table_object_append(o, e_widget_label_add(app->evas, "Path"), + 0, 6, 1, 1, + 1, 1, 1, 1); + e_widget_table_object_append(o, e_widget_entry_add(app->evas, NULL), + 1, 6, 1, 1, + 1, 1, 1, 1); + + e_widget_table_object_append(o, e_widget_label_add(app->evas, "Startup notify"), + 0, 7, 1, 1, + 1, 1, 1, 1); + e_widget_table_object_append(o, e_widget_check_add(app->evas, "", NULL), + 1, 7, 1, 1, + 1, 1, 1, 1); + + e_widget_table_object_append(o, e_widget_label_add(app->evas, "Wait exit"), + 0, 8, 1, 1, + 1, 1, 1, 1); + e_widget_table_object_append(o, e_widget_check_add(app->evas, "", NULL), + 1, 8, 1, 1, + 1, 1, 1, 1); + + e_widget_list_object_append(ol, o, 1, 1, 0.5); + + { + Evas_Coord minw, minh; + e_widget_min_size_get(ol, &minw, &minh); + e_dialog_content_set(app->dia, ol, minw, minh); + } + + e_dialog_button_add(app->dia, _("Cancel"), NULL, _e_eap_edit_cancel_cb, app); + e_dialog_button_add(app->dia, _("Save"), NULL, _e_eap_edit_save_cb, app); + + e_dialog_show(app->dia); +} + +/* local subsystem functions */ + +static void +_e_eap_edit_save_cb(void *data, E_Dialog *dia) +{} + +static void +_e_eap_edit_cancel_cb(void *data, E_Dialog *dia) +{ + _e_eap_edit_free(data); +} + +static void +_e_eap_edit_browse_cb(void *data, E_Dialog *dia) +{} + +static void _e_eap_edit_free(E_App_Edit *app) +{ + e_object_del(E_OBJECT(app->eap)); + e_object_del(E_OBJECT(app->dia)); + E_FREE(app); +} diff --git a/src/bin/e_eap_editor.h b/src/bin/e_eap_editor.h new file mode 100644 index 000000000..b860bc2f1 --- /dev/null +++ b/src/bin/e_eap_editor.h @@ -0,0 +1,26 @@ +#ifdef E_TYPEDEFS + +typedef struct _E_App_Edit E_App_Edit; + +#else +#ifndef E_EAP_EDIT_H +#define E_EAP_EDIT_H + +#define E_EAP_EDIT_TYPE 0xE0b01019 + +struct _E_App_Edit +{ + E_Object e_obj_inherit; + + E_Container *con; + E_Win *win; + Evas *evas; + E_Dialog *dia; + + E_App *eap; +}; + +E_App_Edit *e_eap_edit_show(E_Container *con, E_App *a); + +#endif +#endif diff --git a/src/bin/e_includes.h b/src/bin/e_includes.h index 98de25150..8b53cfd1f 100644 --- a/src/bin/e_includes.h +++ b/src/bin/e_includes.h @@ -83,3 +83,4 @@ #include "e_int_border_locks.h" #include "e_thumb.h" #include "e_int_border_remember.h" +#include "e_eap_editor.h" diff --git a/src/bin/e_int_menus.c b/src/bin/e_int_menus.c index 88e508948..a510672e2 100644 --- a/src/bin/e_int_menus.c +++ b/src/bin/e_int_menus.c @@ -610,6 +610,17 @@ _e_int_menus_desktops_item_cb(void *data, E_Menu *m, E_Menu_Item *mi) e_desk_show(desk); } +static void +_e_int_menus_eapedit_item_cb(void *data, E_Menu *m, E_Menu_Item *mi) +{ + /* This is temporarily put here so we can test the eap editor */ + E_App_Edit *eap_edit; + E_App *a; + + a = e_app_empty_new("/tmp/foo.eap"); + eap_edit = e_eap_edit_show(m->zone->container, a); +} + static void _e_int_menus_config_pre_cb(void *data, E_Menu *m) { @@ -625,6 +636,10 @@ _e_int_menus_config_pre_cb(void *data, E_Menu *m) mi = e_menu_item_new(m); e_menu_item_label_set(mi, _("Focus Settings")); e_menu_item_callback_set(mi, _e_int_menus_config_generic_cb, "focus"); + + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, _("Eap Editor")); + e_menu_item_callback_set(mi, _e_int_menus_eapedit_item_cb, NULL); l = evas_hash_find(_e_int_menus_augmentation, "config"); if (l)