icon_cache: fix.

This commit is contained in:
Alastair Poole 2020-11-17 01:14:12 +00:00
parent 26a57a24d4
commit 789c2781b1
4 changed files with 17 additions and 14 deletions

View File

@ -465,11 +465,6 @@ _content_get(void *data, Evas_Object *obj, const char *source)
struct passwd *pwd_entry;
Evas_Object *l, *r, *o, *hbx, *pb;
Evas_Coord w, ow;
#if defined(__linux__)
const char *kernel_icon = "linux";
#else
const char *kernel_icon = "freebsd";
#endif
Ui_Data *pd = _private_data;
proc = (void *) data;
@ -536,10 +531,7 @@ _content_get(void *data, Evas_Object *obj, const char *source)
evas_object_show(l);
o = evas_object_data_get(it->obj, "icon");
if (proc->is_kernel)
elm_icon_standard_set(o, evisum_icon_path_get(kernel_icon));
else
elm_icon_standard_set(o, evisum_icon_path_get(evisum_icon_cache_find(proc->command)));
elm_icon_standard_set(o, evisum_icon_path_get(evisum_icon_cache_find(proc)));
r = evas_object_data_get(o, "rect");
evas_object_size_hint_min_set(r, w, 1);
evas_object_show(o);
@ -1029,7 +1021,7 @@ _item_menu_create(Ui_Data *pd, Proc_Info *proc)
stopped = !(!strcmp(proc->state, "stop"));
menu_it = elm_menu_item_add(menu, NULL,
evisum_icon_path_get(evisum_icon_cache_find(proc->command)),
evisum_icon_path_get(evisum_icon_cache_find(proc)),
proc->command, NULL, NULL);
menu_it2 = elm_menu_item_add(menu, menu_it, evisum_icon_path_get("window"),

View File

@ -465,7 +465,7 @@ _tree_icon_get(void *data, Evas_Object *obj, const char *part)
if (!strcmp(part, "elm.swallow.icon"))
{
elm_icon_standard_set(ic, evisum_icon_path_get(evisum_icon_cache_find(proc->command)));
elm_icon_standard_set(ic, evisum_icon_path_get(evisum_icon_cache_find(proc)));
}
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);

View File

@ -170,13 +170,23 @@ evisum_icon_cache_shutdown(void)
eina_hash_free(_icon_cache);
}
const char *
evisum_icon_cache_find(const char *cmd)
evisum_icon_cache_find(const Proc_Info *proc)
{
Efreet_Desktop *e;
const char *name;
const char *name, *cmd;
char *exists;
if (proc->is_kernel)
#if defined(__linux__)
return "linux";
#else
return "freebsd;
#endif
cmd = proc->command;
exists = eina_hash_find(_icon_cache, cmd);
if (exists) return exists;

View File

@ -2,6 +2,7 @@
#define __UI_UTIL_H__
#include <Evas.h>
#include "system/process.h"
#define FILL EVAS_HINT_FILL
#define EXPAND EVAS_HINT_EXPAND
@ -23,7 +24,7 @@ void
evisum_icon_cache_shutdown(void);
const char *
evisum_icon_cache_find(const char *cmd);
evisum_icon_cache_find(const Proc_Info *proc);
Evas_Object *
evisum_ui_tab_add(Evas_Object *parent, Evas_Object **alias, const char *text,