Part of a review of icon searching, to be completed on sunday.

SVN revision: 26025
This commit is contained in:
David Walter Seikel 2006-09-22 14:56:41 +00:00
parent 7aa7a741ee
commit d7ac058137
3 changed files with 35 additions and 7 deletions

View File

@ -1260,12 +1260,15 @@ e_app_fields_fill(E_App *a, const char *path)
if (desktop->exec) a->exe = evas_stringshare_add(desktop->exec);
if (desktop->exec_params) a->exe_params = evas_stringshare_add(desktop->exec_params);
if (desktop->icon) a->icon = evas_stringshare_add(desktop->icon);
if (desktop->icon_theme) a->icon_theme = evas_stringshare_add(desktop->icon_theme);
if (desktop->icon_class) a->icon_class = evas_stringshare_add(desktop->icon_class);
if (desktop->icon_path) a->icon_path = evas_stringshare_add(desktop->icon_path);
if (desktop->window_name) a->win_name = evas_stringshare_add(desktop->window_name);
if (desktop->window_class) a->win_class = evas_stringshare_add(desktop->window_class);
if (desktop->window_title) a->win_title = evas_stringshare_add(desktop->window_title);
if (desktop->window_role) a->win_role = evas_stringshare_add(desktop->window_role);
a->icon_time = desktop->icon_time;
a->startup_notify = desktop->startup;
a->wait_exit = desktop->wait_exit;
@ -1409,12 +1412,15 @@ e_app_fields_save(E_App *a)
desktop->exec = (char *) a->exe;
desktop->exec_params = (char *) a->exe_params;
desktop->icon = (char *) a->icon;
desktop->icon_theme = (char *) a->icon_theme;
desktop->icon_class = (char *) a->icon_class;
desktop->icon_path = (char *) a->icon_path;
desktop->window_name = (char *) a->win_name;
desktop->window_class = (char *) a->win_class;
desktop->window_title = (char *) a->win_title;
desktop->window_role = (char *) a->win_role;
desktop->icon_time = a->icon_time;
desktop->startup = a->startup_notify;
desktop->wait_exit = a->wait_exit;
@ -1584,6 +1590,8 @@ e_app_fields_empty(E_App *a)
if (a->comment) evas_stringshare_del(a->comment);
if (a->exe) evas_stringshare_del(a->exe);
if (a->exe_params) evas_stringshare_del(a->exe_params);
if (a->icon_theme) evas_stringshare_del(a->icon_theme);
if (a->icon) evas_stringshare_del(a->icon);
if (a->icon_class) evas_stringshare_del(a->icon_class);
if (a->icon_path) evas_stringshare_del(a->icon_path);
if (a->win_name) evas_stringshare_del(a->win_name);
@ -1596,6 +1604,8 @@ e_app_fields_empty(E_App *a)
a->comment = NULL;
a->exe = NULL;
a->exe_params = NULL;
a->icon_theme = NULL;
a->icon = NULL;
a->icon_class = NULL;
a->icon_path = NULL;
a->win_name = NULL;
@ -2396,10 +2406,13 @@ _e_app_copy(E_App *dst, E_App *src)
dst->win_class = src->win_class;
dst->win_title = src->win_title;
dst->win_role = src->win_role;
dst->icon_theme = src->icon_theme;
dst->icon = src->icon;
dst->icon_class = src->icon_class;
dst->icon_path = src->icon_path;
dst->startup_notify = src->startup_notify;
dst->wait_exit = src->wait_exit;
dst->icon_time = src->icon_time;
dst->starting = src->starting;
dst->scanned = src->scanned;

View File

@ -39,8 +39,7 @@ struct _E_App
const char *exe; /* command to execute, NULL if directory */
const char *exe_params; /* command params to execute, NULL if directory */
const char *path; /* path to .eet containing icons etc. etc. */
// const char *icon_path; /* path to icon file, in case it is different from path. */
const char *path; /* path to .desktop containing icons etc. etc. */
const char *win_name; /* window name */
const char *win_class; /* window class */
@ -48,7 +47,10 @@ struct _E_App
const char *win_role; /* window role */
const char *icon_class; /* icon_class */
const char *icon_path; /* FDO icon path */
const char *icon_theme; /* FDO icon theme */
const char *icon; /* FDO icon */
const char *icon_path; /* icon path */
time_t icon_time; /* For checking if the icon cache is valid. */
Evas_List *subapps; /* if this a directory, a list of more E_App's */

View File

@ -16,6 +16,8 @@ struct _E_Config_Dialog_Data
char *wclass;
char *wtitle;
char *wrole;
char *itheme;
char *icon;
char *iclass;
char *ipath;
int startup_notify;
@ -139,6 +141,8 @@ _e_eap_edit_fill_data(E_Config_Dialog_Data *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_theme, cfdata->itheme);
IFDUP(cfdata->editor->eap->icon, cfdata->icon);
IFDUP(cfdata->editor->eap->icon_class, cfdata->iclass);
IFDUP(cfdata->editor->eap->icon_path, cfdata->ipath);
cfdata->startup_notify = cfdata->editor->eap->startup_notify;
@ -149,6 +153,8 @@ _e_eap_edit_fill_data(E_Config_Dialog_Data *cfdata)
cfdata->width = cfdata->editor->eap->width;
IFADD(cfdata->editor->eap->path, cfdata->eap.path);
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);
if (!cfdata->eap.icon_path)
@ -179,11 +185,15 @@ _e_eap_edit_free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *data)
IFFREE(data->wclass);
IFFREE(data->wtitle);
IFFREE(data->wrole);
IFFREE(data->itheme);
IFFREE(data->icon);
IFFREE(data->iclass);
IFFREE(data->ipath);
IFFREE(data->image);
IFDEL(data->eap.icon_class);
IFDEL(data->eap.icon);
IFDEL(data->eap.icon_theme);
IFDEL(data->eap.icon_path);
if (data->editor)
@ -213,8 +223,11 @@ _e_eap_edit_basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *data)
IFDEL(eap->image);
IFADD(data->name, eap->name);
IFADD(data->itheme, eap->icon_theme);
IFADD(data->iclass, eap->icon_class);
IFADD(data->icon, eap->icon);
IFADD(data->eap.icon_path, eap->icon_path);
IFADD(data->eap.icon, eap->icon);
if (data->exe)
{
char *exe;