forked from enlightenment/enlightenment
Save new apps as .desktops, and also save new images.
SVN revision: 25405
This commit is contained in:
parent
953d902a18
commit
f1589cd360
|
@ -322,7 +322,7 @@ e_app_empty_new(const char *path)
|
||||||
{
|
{
|
||||||
char buf[4096];
|
char buf[4096];
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%s/_new_app_%1.1f.eap",
|
snprintf(buf, sizeof(buf), "%s/_new_app_%1.1f.desktop",
|
||||||
_e_apps_all->path, ecore_time_get());
|
_e_apps_all->path, ecore_time_get());
|
||||||
a->path = evas_stringshare_add(buf);
|
a->path = evas_stringshare_add(buf);
|
||||||
}
|
}
|
||||||
|
@ -1261,9 +1261,16 @@ EAPI void
|
||||||
e_app_fields_save(E_App *a)
|
e_app_fields_save(E_App *a)
|
||||||
{
|
{
|
||||||
char buf[PATH_MAX];
|
char buf[PATH_MAX];
|
||||||
const char *lang, *ext;
|
const char *lang, *ext = NULL;
|
||||||
|
|
||||||
/* FIXME: if there is no path, put it in applications/all/a->name.desktop. */
|
/* Check if it's a new one that has not been saved yet. */
|
||||||
|
if (a->path)
|
||||||
|
ext = ecore_file_get_file(a->path);
|
||||||
|
if ( (!a->path) || ((strncmp(ext, "_new_app_", 9) == 0) && (!ecore_file_exists(a->path))) )
|
||||||
|
{
|
||||||
|
snprintf(buf, sizeof(buf), "%s/%s.desktop", _e_apps_all->path, a->name);
|
||||||
|
a->path = evas_stringshare_add(buf);
|
||||||
|
}
|
||||||
|
|
||||||
ext = strrchr(a->path, '.');
|
ext = strrchr(a->path, '.');
|
||||||
if ((ext) && (strcmp(ext, ".desktop") == 0))
|
if ((ext) && (strcmp(ext, ".desktop") == 0))
|
||||||
|
@ -1275,6 +1282,7 @@ e_app_fields_save(E_App *a)
|
||||||
if (!desktop)
|
if (!desktop)
|
||||||
{
|
{
|
||||||
desktop = E_NEW(Ecore_Desktop, 1);
|
desktop = E_NEW(Ecore_Desktop, 1);
|
||||||
|
desktop->original_path = strdup(a->path);
|
||||||
created = 1;
|
created = 1;
|
||||||
}
|
}
|
||||||
if (desktop)
|
if (desktop)
|
||||||
|
|
|
@ -254,6 +254,7 @@ _e_eap_edit_advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *data
|
||||||
if (data->wtitle) eap->win_title = evas_stringshare_add(data->wtitle);
|
if (data->wtitle) eap->win_title = evas_stringshare_add(data->wtitle);
|
||||||
if (data->wrole) eap->win_role = evas_stringshare_add(data->wrole);
|
if (data->wrole) eap->win_role = evas_stringshare_add(data->wrole);
|
||||||
if (data->iclass) eap->icon_class = evas_stringshare_add(data->iclass);
|
if (data->iclass) eap->icon_class = evas_stringshare_add(data->iclass);
|
||||||
|
if (data->eap.icon_path) eap->icon_path = evas_stringshare_add(data->eap.icon_path);
|
||||||
|
|
||||||
if (data->image)
|
if (data->image)
|
||||||
{
|
{
|
||||||
|
@ -528,16 +529,16 @@ _e_eap_edit_cb_icon_select_ok(void *data, E_Dialog *dia)
|
||||||
cfdata->editor->img_set = 1;
|
cfdata->editor->img_set = 1;
|
||||||
if (cfdata->editor->img) evas_object_del(cfdata->editor->img);
|
if (cfdata->editor->img) evas_object_del(cfdata->editor->img);
|
||||||
|
|
||||||
if (cfdata->eap.path)
|
// if (cfdata->eap.path)
|
||||||
free((char *) cfdata->eap.path);
|
// free((char *) cfdata->eap.path);
|
||||||
if (cfdata->eap.icon_class)
|
if (cfdata->eap.icon_class)
|
||||||
free((char *) cfdata->eap.icon_class);
|
free((char *) cfdata->eap.icon_class);
|
||||||
if (cfdata->eap.icon_path)
|
if (cfdata->eap.icon_path)
|
||||||
free((char *) cfdata->eap.icon_path);
|
free((char *) cfdata->eap.icon_path);
|
||||||
|
|
||||||
cfdata->eap.icon_path = strdup(cfdata->image);
|
cfdata->eap.icon_path = strdup(cfdata->image);
|
||||||
cfdata->eap.path = strdup("");
|
// cfdata->eap.path = strdup("");
|
||||||
cfdata->eap.icon_class = strdup("");
|
cfdata->eap.icon_class = NULL;
|
||||||
cfdata->editor->img = e_app_icon_add(cfdata->editor->evas, &(cfdata->eap));
|
cfdata->editor->img = e_app_icon_add(cfdata->editor->evas, &(cfdata->eap));
|
||||||
#if 0
|
#if 0
|
||||||
cfdata->editor->img = e_icon_add(cfdata->editor->evas);
|
cfdata->editor->img = e_icon_add(cfdata->editor->evas);
|
||||||
|
|
|
@ -556,7 +556,7 @@ _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
{
|
{
|
||||||
if (bname)
|
if (bname)
|
||||||
{
|
{
|
||||||
snprintf(path, sizeof(path), "%s/.e/e/applications/all/%s.eap", getenv("HOME"), bname);
|
snprintf(path, sizeof(path), "%s/.e/e/applications/all/%s.desktop", getenv("HOME"), bname);
|
||||||
a = e_app_empty_new(path);
|
a = e_app_empty_new(path);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue