procs: genlist speedz

hide core files too risky :)
This commit is contained in:
Alastair Poole 2020-12-29 12:55:46 +00:00
parent 17a3fc3491
commit 91f7726518
2 changed files with 17 additions and 25 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
build/* build/*
build build
*.swp *.swp
*.core

View File

@ -41,8 +41,9 @@ typedef struct
Evas_Object *entry; Evas_Object *entry;
Eina_Bool entry_visible; Eina_Bool entry_visible;
Evas_Object *scroller; Evas_Object *scroller;
Evas_Object *genlist; Evas_Object *genlist;
Elm_Genlist_Item_Class itc;
Evas_Object *btn_menu; Evas_Object *btn_menu;
@ -472,10 +473,10 @@ _content_get(void *data, Evas_Object *obj, const char *source)
} }
static void static void
_genlist_ensure_n_items(Evas_Object *genlist, unsigned int items) _genlist_ensure_n_items(Evas_Object *genlist, unsigned int items,
Elm_Genlist_Item_Class *itc)
{ {
Elm_Object_Item *it; Elm_Object_Item *it;
Elm_Genlist_Item_Class *itc;
unsigned int i, existing = elm_genlist_items_count(genlist); unsigned int i, existing = elm_genlist_items_count(genlist);
if (items < existing) if (items < existing)
@ -490,20 +491,11 @@ _genlist_ensure_n_items(Evas_Object *genlist, unsigned int items)
if (items == existing) return; if (items == existing) return;
itc = elm_genlist_item_class_new();
itc->item_style = "full";
itc->func.text_get = NULL;
itc->func.content_get = _content_get;
itc->func.filter_get = NULL;
itc->func.del = _item_del;
for (i = existing; i < items; i++) for (i = existing; i < items; i++)
{ {
elm_genlist_item_append(genlist, itc, NULL, NULL, elm_genlist_item_append(genlist, itc, NULL, NULL,
ELM_GENLIST_ITEM_NONE, NULL, NULL); ELM_GENLIST_ITEM_NONE, NULL, NULL);
} }
elm_genlist_item_class_free(itc);
} }
static Eina_Bool static Eina_Bool
@ -736,7 +728,7 @@ _process_list_feedback_cb(void *data, Ecore_Thread *thread EINA_UNUSED,
pd = data; pd = data;
list = msg; list = msg;
_genlist_ensure_n_items(pd->genlist, eina_list_count(list)); _genlist_ensure_n_items(pd->genlist, eina_list_count(list), &pd->itc);
it = elm_genlist_first_item_get(pd->genlist); it = elm_genlist_first_item_get(pd->genlist);
@ -818,7 +810,6 @@ _btn_pid_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
if (ui->proc.sort_type == SORT_BY_PID) if (ui->proc.sort_type == SORT_BY_PID)
ui->proc.sort_reverse = !ui->proc.sort_reverse; ui->proc.sort_reverse = !ui->proc.sort_reverse;
ui->proc.sort_type = SORT_BY_PID; ui->proc.sort_type = SORT_BY_PID;
_btn_clicked_state_save(pd, pd->btn_pid); _btn_clicked_state_save(pd, pd->btn_pid);
} }
@ -832,7 +823,6 @@ _btn_uid_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
if (ui->proc.sort_type == SORT_BY_UID) if (ui->proc.sort_type == SORT_BY_UID)
ui->proc.sort_reverse = !ui->proc.sort_reverse; ui->proc.sort_reverse = !ui->proc.sort_reverse;
ui->proc.sort_type = SORT_BY_UID; ui->proc.sort_type = SORT_BY_UID;
_btn_clicked_state_save(pd, pd->btn_uid); _btn_clicked_state_save(pd, pd->btn_uid);
} }
@ -846,7 +836,6 @@ _btn_cpu_usage_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
if (ui->proc.sort_type == SORT_BY_CPU_USAGE) if (ui->proc.sort_type == SORT_BY_CPU_USAGE)
ui->proc.sort_reverse = !ui->proc.sort_reverse; ui->proc.sort_reverse = !ui->proc.sort_reverse;
ui->proc.sort_type = SORT_BY_CPU_USAGE; ui->proc.sort_type = SORT_BY_CPU_USAGE;
_btn_clicked_state_save(pd, pd->btn_cpu_usage); _btn_clicked_state_save(pd, pd->btn_cpu_usage);
} }
@ -860,7 +849,6 @@ _btn_size_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
if (ui->proc.sort_type == SORT_BY_SIZE) if (ui->proc.sort_type == SORT_BY_SIZE)
ui->proc.sort_reverse = !ui->proc.sort_reverse; ui->proc.sort_reverse = !ui->proc.sort_reverse;
ui->proc.sort_type = SORT_BY_SIZE; ui->proc.sort_type = SORT_BY_SIZE;
_btn_clicked_state_save(pd, pd->btn_size); _btn_clicked_state_save(pd, pd->btn_size);
} }
@ -874,7 +862,6 @@ _btn_rss_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
if (ui->proc.sort_type == SORT_BY_RSS) if (ui->proc.sort_type == SORT_BY_RSS)
ui->proc.sort_reverse = !ui->proc.sort_reverse; ui->proc.sort_reverse = !ui->proc.sort_reverse;
ui->proc.sort_type = SORT_BY_RSS; ui->proc.sort_type = SORT_BY_RSS;
_btn_clicked_state_save(pd, pd->btn_rss); _btn_clicked_state_save(pd, pd->btn_rss);
} }
@ -888,7 +875,6 @@ _btn_cmd_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
if (ui->proc.sort_type == SORT_BY_CMD) if (ui->proc.sort_type == SORT_BY_CMD)
ui->proc.sort_reverse = !ui->proc.sort_reverse; ui->proc.sort_reverse = !ui->proc.sort_reverse;
ui->proc.sort_type = SORT_BY_CMD; ui->proc.sort_type = SORT_BY_CMD;
_btn_clicked_state_save(pd, pd->btn_cmd); _btn_clicked_state_save(pd, pd->btn_cmd);
} }
@ -902,7 +888,6 @@ _btn_state_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED,
if (ui->proc.sort_type == SORT_BY_STATE) if (ui->proc.sort_type == SORT_BY_STATE)
ui->proc.sort_reverse = !ui->proc.sort_reverse; ui->proc.sort_reverse = !ui->proc.sort_reverse;
ui->proc.sort_type = SORT_BY_STATE; ui->proc.sort_type = SORT_BY_STATE;
_btn_clicked_state_save(pd, pd->btn_state); _btn_clicked_state_save(pd, pd->btn_state);
} }
@ -1164,7 +1149,7 @@ _genlist_scroll_start_cb(void *data, Evas_Object *obj EINA_UNUSED,
static void static void
_genlist_scroll_end_cb(void *data, Evas_Object *obj EINA_UNUSED, _genlist_scroll_end_cb(void *data, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED) void *event_info EINA_UNUSED)
{ {
Ui_Data *pd; Ui_Data *pd;
@ -1300,12 +1285,18 @@ _ui_content_system_add(Ui_Data *pd, Evas_Object *parent)
evas_object_show(glist); evas_object_show(glist);
elm_table_pack(tbl, glist, 0, 2, i, 1); elm_table_pack(tbl, glist, 0, 2, i, 1);
pd->itc.item_style = "full";
pd->itc.func.text_get = NULL;
pd->itc.func.content_get = _content_get;
pd->itc.func.filter_get = NULL;
pd->itc.func.del = _item_del;
evas_object_smart_callback_add(pd->genlist, "selected", evas_object_smart_callback_add(pd->genlist, "selected",
_item_pid_clicked_cb, pd); _item_pid_clicked_cb, pd);
evas_object_event_callback_add(pd->genlist, EVAS_CALLBACK_MOUSE_UP, evas_object_event_callback_add(pd->genlist, EVAS_CALLBACK_MOUSE_UP,
_item_pid_secondary_clicked_cb, pd); _item_pid_secondary_clicked_cb, pd);
evas_object_smart_callback_add(pd->genlist, "unrealized", evas_object_smart_callback_add(pd->genlist, "unrealized",
_item_unrealized_cb, pd); _item_unrealized_cb, pd);
evas_object_smart_callback_add(pd->genlist, "scroll,anim,start", evas_object_smart_callback_add(pd->genlist, "scroll,anim,start",
_genlist_scroll_start_cb, pd); _genlist_scroll_start_cb, pd);
evas_object_smart_callback_add(pd->genlist, "scroll,anim,stop", evas_object_smart_callback_add(pd->genlist, "scroll,anim,stop",