forked from enlightenment/enlightenment
creating new eaps actually works - and shouldnt leak ram now.
SVN revision: 22585
This commit is contained in:
parent
8231fc973d
commit
b24ee237c5
|
@ -306,9 +306,18 @@ EAPI E_App *
|
||||||
e_app_empty_new(const char *path)
|
e_app_empty_new(const char *path)
|
||||||
{
|
{
|
||||||
E_App *a;
|
E_App *a;
|
||||||
|
char buf[4096];
|
||||||
|
|
||||||
a = E_OBJECT_ALLOC(E_App, E_APP_TYPE, _e_app_free);
|
a = E_OBJECT_ALLOC(E_App, E_APP_TYPE, _e_app_free);
|
||||||
a->image = NULL;
|
a->image = NULL;
|
||||||
|
if ((_e_apps_all) && (_e_apps_all->path))
|
||||||
|
{
|
||||||
|
snprintf(buf, sizeof(buf), "%s/_new_app_%1.1f.eap",
|
||||||
|
_e_apps_all->path, ecore_time_get());
|
||||||
|
a->parent = _e_apps_all;
|
||||||
|
_e_apps_all->subapps = evas_list_append(_e_apps_all->subapps, a);
|
||||||
|
path = buf;
|
||||||
|
}
|
||||||
if (path) a->path = evas_stringshare_add(path);
|
if (path) a->path = evas_stringshare_add(path);
|
||||||
return a;
|
return a;
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,20 +70,21 @@ e_eap_edit_show(E_Container *con, E_App *a)
|
||||||
|
|
||||||
editor->eap = a;
|
editor->eap = a;
|
||||||
editor->img = NULL;
|
editor->img = NULL;
|
||||||
|
e_object_ref(E_OBJECT(editor->eap));
|
||||||
|
|
||||||
v = E_NEW(E_Config_Dialog_View, 1);
|
v = E_NEW(E_Config_Dialog_View, 1);
|
||||||
if (v)
|
if (v)
|
||||||
{
|
{
|
||||||
/* methods */
|
/* methods */
|
||||||
v->create_cfdata = _e_eap_edit_create_data;
|
v->create_cfdata = _e_eap_edit_create_data;
|
||||||
v->free_cfdata = _e_eap_edit_free_data;
|
v->free_cfdata = _e_eap_edit_free_data;
|
||||||
v->basic.apply_cfdata = _e_eap_edit_basic_apply_data;
|
v->basic.apply_cfdata = _e_eap_edit_basic_apply_data;
|
||||||
v->basic.create_widgets = _e_eap_edit_basic_create_widgets;
|
v->basic.create_widgets = _e_eap_edit_basic_create_widgets;
|
||||||
v->advanced.apply_cfdata = _e_eap_edit_advanced_apply_data;
|
v->advanced.apply_cfdata = _e_eap_edit_advanced_apply_data;
|
||||||
v->advanced.create_widgets = _e_eap_edit_advanced_create_widgets;
|
v->advanced.create_widgets = _e_eap_edit_advanced_create_widgets;
|
||||||
/* create config diaolg for NULL object/data */
|
/* create config diaolg for NULL object/data */
|
||||||
cfd = e_config_dialog_new(con, _("Eap Editor"), NULL, 0, v, editor);
|
cfd = e_config_dialog_new(con, _("Eap Editor"), NULL, 0, v, editor);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* local subsystem functions */
|
/* local subsystem functions */
|
||||||
|
@ -137,6 +138,8 @@ _e_eap_edit_free_data(E_Config_Dialog *cfd, void *data)
|
||||||
E_FREE(cfdata->iclass);
|
E_FREE(cfdata->iclass);
|
||||||
E_FREE(cfdata->path);
|
E_FREE(cfdata->path);
|
||||||
E_FREE(cfdata->image);
|
E_FREE(cfdata->image);
|
||||||
|
e_object_unref(E_OBJECT(cfdata->editor->eap));
|
||||||
|
E_FREE(cfdata->editor);
|
||||||
free(data);
|
free(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,8 +154,7 @@ _e_eap_edit_basic_apply_data(E_Config_Dialog *cfd, void *data)
|
||||||
editor = cfdata->editor;
|
editor = cfdata->editor;
|
||||||
eap = editor->eap;
|
eap = editor->eap;
|
||||||
|
|
||||||
if (!(cfdata->path))
|
if (!(cfdata->path)) return 0;
|
||||||
return -1;
|
|
||||||
|
|
||||||
if (eap->name) evas_stringshare_del(eap->name);
|
if (eap->name) evas_stringshare_del(eap->name);
|
||||||
if (eap->exe) evas_stringshare_del(eap->exe);
|
if (eap->exe) evas_stringshare_del(eap->exe);
|
||||||
|
@ -185,8 +187,7 @@ _e_eap_edit_advanced_apply_data(E_Config_Dialog *cfd, void *data)
|
||||||
editor = cfdata->editor;
|
editor = cfdata->editor;
|
||||||
eap = editor->eap;
|
eap = editor->eap;
|
||||||
|
|
||||||
if (!(cfdata->path))
|
if (!(cfdata->path)) return 0;
|
||||||
return -1;
|
|
||||||
|
|
||||||
if (eap->name) evas_stringshare_del(eap->name);
|
if (eap->name) evas_stringshare_del(eap->name);
|
||||||
if (eap->exe) evas_stringshare_del(eap->exe);
|
if (eap->exe) evas_stringshare_del(eap->exe);
|
||||||
|
@ -201,13 +202,10 @@ _e_eap_edit_advanced_apply_data(E_Config_Dialog *cfd, void *data)
|
||||||
if (eap->icon_class) evas_stringshare_del(eap->icon_class);
|
if (eap->icon_class) evas_stringshare_del(eap->icon_class);
|
||||||
if (eap->path) evas_stringshare_del(eap->path);
|
if (eap->path) evas_stringshare_del(eap->path);
|
||||||
|
|
||||||
if (cfdata->startup_notify)
|
if (cfdata->startup_notify) eap->startup_notify = 1;
|
||||||
eap->startup_notify = 1;
|
|
||||||
else eap->startup_notify = 0;
|
else eap->startup_notify = 0;
|
||||||
if (cfdata->wait_exit)
|
if (cfdata->wait_exit) eap->wait_exit = 1;
|
||||||
eap->wait_exit = 1;
|
|
||||||
else eap->wait_exit = 0;
|
else eap->wait_exit = 0;
|
||||||
|
|
||||||
|
|
||||||
if (cfdata->name) eap->name = evas_stringshare_add(cfdata->name);
|
if (cfdata->name) eap->name = evas_stringshare_add(cfdata->name);
|
||||||
if (cfdata->exe) eap->exe = evas_stringshare_add(cfdata->exe);
|
if (cfdata->exe) eap->exe = evas_stringshare_add(cfdata->exe);
|
||||||
|
@ -244,21 +242,20 @@ _e_eap_edit_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, void *data)
|
||||||
editor = cfdata->editor;
|
editor = cfdata->editor;
|
||||||
eap = editor->eap;
|
eap = editor->eap;
|
||||||
|
|
||||||
//ol = e_widget_list_add(evas, 0, 1);
|
|
||||||
ol = e_widget_table_add(evas, 0);
|
ol = e_widget_table_add(evas, 0);
|
||||||
|
|
||||||
o = e_widget_frametable_add(evas, _("Icon"), 0);
|
o = e_widget_frametable_add(evas, _("Icon"), 0);
|
||||||
|
|
||||||
if(!editor->img || editor->img_set != 1)
|
if ((!editor->img) || (editor->img_set != 1))
|
||||||
{
|
{
|
||||||
editor->img = e_icon_add(evas);
|
editor->img = e_icon_add(evas);
|
||||||
if(eap->path)
|
if (eap->path)
|
||||||
{
|
{
|
||||||
e_icon_file_key_set(editor->img, eap->path, "images/0");
|
e_icon_file_key_set(editor->img, eap->path, "images/0");
|
||||||
e_icon_fill_inside_set(editor->img, 1);
|
e_icon_fill_inside_set(editor->img, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if(editor->img_set)
|
else if (editor->img_set)
|
||||||
{
|
{
|
||||||
editor->img = e_icon_add(evas);
|
editor->img = e_icon_add(evas);
|
||||||
e_icon_file_set(editor->img, cfdata->image);
|
e_icon_file_set(editor->img, cfdata->image);
|
||||||
|
@ -270,34 +267,27 @@ _e_eap_edit_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, void *data)
|
||||||
e_widget_iconsel_select_callback_add(editor->img_widget, _e_eap_edit_select_cb, editor);
|
e_widget_iconsel_select_callback_add(editor->img_widget, _e_eap_edit_select_cb, editor);
|
||||||
e_widget_iconsel_hilite_callback_add(editor->img_widget, _e_eap_edit_hilite_cb, editor);
|
e_widget_iconsel_hilite_callback_add(editor->img_widget, _e_eap_edit_hilite_cb, editor);
|
||||||
e_widget_frametable_object_append(o, editor->img_widget,
|
e_widget_frametable_object_append(o, editor->img_widget,
|
||||||
0, 0, 1, 1,
|
0, 0, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
|
|
||||||
//e_widget_list_object_append(ol, o, 1, 1, 0.5);
|
|
||||||
e_widget_table_object_append(ol, o, 0, 0, 1, 1, 1 ,1, 1, 1);
|
e_widget_table_object_append(ol, o, 0, 0, 1, 1, 1 ,1, 1, 1);
|
||||||
|
|
||||||
|
|
||||||
o = e_widget_frametable_add(evas, _("Basic Info"), 0);
|
o = e_widget_frametable_add(evas, _("Basic Info"), 0);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("App name")),
|
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("App name")),
|
||||||
0, 0, 1, 1,
|
0, 0, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
entry = e_widget_entry_add(evas, &(cfdata->name));
|
entry = e_widget_entry_add(evas, &(cfdata->name));
|
||||||
e_widget_min_size_set(entry, 100, 1);
|
e_widget_min_size_set(entry, 100, 1);
|
||||||
e_widget_frametable_object_append(o, entry,
|
e_widget_frametable_object_append(o, entry,
|
||||||
1, 0, 1, 1,
|
1, 0, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Executable")),
|
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Executable")),
|
||||||
0, 1, 1, 1,
|
0, 1, 1, 1,
|
||||||
1, 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->exe)),
|
||||||
1, 1, 1, 1,
|
1, 1, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
//e_widget_list_object_append(ol, o, 1, 1, 0.5);
|
|
||||||
e_widget_table_object_append(ol, o, 1, 0, 1, 1, 1 ,1, 1, 1);
|
e_widget_table_object_append(ol, o, 1, 0, 1, 1, 1 ,1, 1, 1);
|
||||||
|
|
||||||
return ol;
|
return ol;
|
||||||
|
@ -316,103 +306,90 @@ _e_eap_edit_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, void *data
|
||||||
editor = cfdata->editor;
|
editor = cfdata->editor;
|
||||||
eap = editor->eap;
|
eap = editor->eap;
|
||||||
|
|
||||||
//ol = e_widget_table_add(evas, 0);
|
|
||||||
ol = _e_eap_edit_basic_create_widgets(cfd, evas, data);
|
ol = _e_eap_edit_basic_create_widgets(cfd, evas, data);
|
||||||
|
|
||||||
o = e_widget_frametable_add(evas, _("General"), 0);
|
o = e_widget_frametable_add(evas, _("General"), 0);
|
||||||
|
|
||||||
/*- general info -*/
|
/*- general info -*/
|
||||||
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Generic Info")),
|
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Generic Info")),
|
||||||
0, 0, 1, 1,
|
0, 0, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
entry = e_widget_entry_add(evas, &(cfdata->generic));
|
entry = e_widget_entry_add(evas, &(cfdata->generic));
|
||||||
e_widget_min_size_set(entry, 100, 1);
|
e_widget_min_size_set(entry, 100, 1);
|
||||||
e_widget_frametable_object_append(o, entry,
|
e_widget_frametable_object_append(o, entry,
|
||||||
1, 0, 1, 1,
|
1, 0, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Comment")),
|
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Comment")),
|
||||||
0, 1, 1, 1,
|
0, 1, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
e_widget_frametable_object_append(o, e_widget_entry_add(evas, &(cfdata->comment)),
|
e_widget_frametable_object_append(o, e_widget_entry_add(evas, &(cfdata->comment)),
|
||||||
1, 1, 1, 1,
|
1, 1, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_table_object_append(ol, o, 0, 1, 1, 1, 1 ,1, 1, 1);
|
e_widget_table_object_append(ol, o, 0, 1, 1, 1, 1 ,1, 1, 1);
|
||||||
|
|
||||||
|
|
||||||
/*- window info -*/
|
/*- window info -*/
|
||||||
|
|
||||||
o = e_widget_frametable_add(evas, _("Window"), 0);
|
o = e_widget_frametable_add(evas, _("Window"), 0);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Window Name")),
|
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Window Name")),
|
||||||
0, 0, 1, 1,
|
0, 0, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
entry = e_widget_entry_add(evas, &(cfdata->wname));
|
entry = e_widget_entry_add(evas, &(cfdata->wname));
|
||||||
e_widget_min_size_set(entry, 100, 1);
|
e_widget_min_size_set(entry, 100, 1);
|
||||||
e_widget_frametable_object_append(o, entry,
|
e_widget_frametable_object_append(o, entry,
|
||||||
1, 0, 1, 1,
|
1, 0, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Window Class")),
|
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Window Class")),
|
||||||
0, 1, 1, 1,
|
0, 1, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
e_widget_frametable_object_append(o, e_widget_entry_add(evas, &(cfdata->wclass)),
|
e_widget_frametable_object_append(o, e_widget_entry_add(evas, &(cfdata->wclass)),
|
||||||
1, 1, 1, 1,
|
1, 1, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Window Title")),
|
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Window Title")),
|
||||||
0, 2, 1, 1,
|
0, 2, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
e_widget_frametable_object_append(o, e_widget_entry_add(evas, &(cfdata->wtitle)),
|
e_widget_frametable_object_append(o, e_widget_entry_add(evas, &(cfdata->wtitle)),
|
||||||
1, 2, 1, 1,
|
1, 2, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Window Role")),
|
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Window Role")),
|
||||||
0, 3, 1, 1,
|
0, 3, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
e_widget_frametable_object_append(o, e_widget_entry_add(evas, &(cfdata->wrole)),
|
e_widget_frametable_object_append(o, e_widget_entry_add(evas, &(cfdata->wrole)),
|
||||||
1, 3, 1, 1,
|
1, 3, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_table_object_append(ol, o, 0, 2, 1, 1, 1 ,1, 1, 1);
|
e_widget_table_object_append(ol, o, 0, 2, 1, 1, 1 ,1, 1, 1);
|
||||||
|
|
||||||
/*- icon info -*/
|
/*- icon info -*/
|
||||||
|
|
||||||
o = e_widget_frametable_add(evas, _("File"), 0);
|
o = e_widget_frametable_add(evas, _("File"), 0);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Icon Class")),
|
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Icon Class")),
|
||||||
0, 0, 1, 1,
|
0, 0, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
entry = e_widget_entry_add(evas, &(cfdata->iclass));
|
entry = e_widget_entry_add(evas, &(cfdata->iclass));
|
||||||
e_widget_min_size_set(entry, 100, 1);
|
e_widget_min_size_set(entry, 100, 1);
|
||||||
e_widget_frametable_object_append(o, entry,
|
e_widget_frametable_object_append(o, entry,
|
||||||
1, 0, 1, 1,
|
1, 0, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Path")),
|
e_widget_frametable_object_append(o, e_widget_label_add(evas, _("Path")),
|
||||||
0, 1, 1, 1,
|
0, 1, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_entry_add(evas, &(cfdata->path)),
|
e_widget_frametable_object_append(o, e_widget_entry_add(evas, &(cfdata->path)),
|
||||||
1, 1, 1, 1,
|
1, 1, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_table_object_append(ol, o, 1, 1, 1, 1, 1 ,1, 1, 1);
|
e_widget_table_object_append(ol, o, 1, 1, 1, 1, 1 ,1, 1, 1);
|
||||||
|
|
||||||
|
|
||||||
/*- misc info -*/
|
/*- misc info -*/
|
||||||
|
|
||||||
o = e_widget_frametable_add(evas, _("Misc"), 0);
|
o = e_widget_frametable_add(evas, _("Misc"), 0);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_check_add(evas, _("Startup Notify"), &(cfdata->startup_notify)),
|
e_widget_frametable_object_append(o, e_widget_check_add(evas, _("Startup Notify"), &(cfdata->startup_notify)),
|
||||||
0, 0, 1, 1,
|
0, 0, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_frametable_object_append(o, e_widget_check_add(evas, _("Wait Exit"), &(cfdata->wait_exit)),
|
e_widget_frametable_object_append(o, e_widget_check_add(evas, _("Wait Exit"), &(cfdata->wait_exit)),
|
||||||
0, 1, 1, 1,
|
0, 1, 1, 1,
|
||||||
1, 1, 1, 1);
|
1, 1, 1, 1);
|
||||||
|
|
||||||
e_widget_table_object_append(ol, o, 1, 2, 1, 1, 1 ,1, 1, 1);
|
e_widget_table_object_append(ol, o, 1, 2, 1, 1, 1 ,1, 1, 1);
|
||||||
|
|
||||||
return ol;
|
return ol;
|
||||||
|
|
|
@ -624,7 +624,7 @@ _e_int_menus_config_pre_cb(void *data, E_Menu *m)
|
||||||
e_menu_item_separator_set(mi, 1);
|
e_menu_item_separator_set(mi, 1);
|
||||||
|
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
e_menu_item_label_set(mi, _("Eap Editor"));
|
e_menu_item_label_set(mi, _("Create a new Application"));
|
||||||
e_util_menu_item_edje_icon_set(mi, "enlightenment/e");
|
e_util_menu_item_edje_icon_set(mi, "enlightenment/e");
|
||||||
e_menu_item_callback_set(mi, _e_int_menus_eapedit_item_cb, NULL);
|
e_menu_item_callback_set(mi, _e_int_menus_eapedit_item_cb, NULL);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue