proclist: less block.

This commit is contained in:
Alastair Poole 2021-03-26 11:29:53 +00:00
parent cafda5c51d
commit ebff44be08
1 changed files with 33 additions and 10 deletions

View File

@ -591,7 +591,7 @@ _content_get(void *data, Evas_Object *obj, const char *source)
evas_object_geometry_get(pd->btn_menu, NULL, NULL, &bw, NULL); evas_object_geometry_get(pd->btn_menu, NULL, NULL, &bw, NULL);
evas_object_geometry_get(pd->btn_cmd, NULL, NULL, &ow, NULL); evas_object_geometry_get(pd->btn_cmd, NULL, NULL, &ow, NULL);
w = bw + ow - ELM_SCALE_SIZE(8); w = bw + ow;
lb = evas_object_data_get(it->obj, "cmd"); lb = evas_object_data_get(it->obj, "cmd");
snprintf(buf, sizeof(buf), "%s", proc->command); snprintf(buf, sizeof(buf), "%s", proc->command);
if (strcmp(buf, elm_object_text_get(lb))) if (strcmp(buf, elm_object_text_get(lb)))
@ -1096,12 +1096,6 @@ _process_list_feedback_cb(void *data, Ecore_Thread *thread EINA_UNUSED,
elm_object_signal_emit(pd->indicator, "indicator,show", "evisum/indicator"); elm_object_signal_emit(pd->indicator, "indicator,show", "evisum/indicator");
} }
static void
_process_list_update(Data *pd)
{
pd->skip_wait = 1;
}
static void static void
_btn_icon_state_update(Evas_Object *btn, Eina_Bool reverse, _btn_icon_state_update(Evas_Object *btn, Eina_Bool reverse,
Eina_Bool selected EINA_UNUSED) Eina_Bool selected EINA_UNUSED)
@ -1134,8 +1128,6 @@ _btn_clicked_state_save(Data *pd, Evas_Object *btn)
} }
_btn_icon_state_update(btn, ui->proc.sort_reverse, 0); _btn_icon_state_update(btn, ui->proc.sort_reverse, 0);
_process_list_update(pd);
elm_scroller_page_bring_in(pd->glist, 0, 0); elm_scroller_page_bring_in(pd->glist, 0, 0);
} }
@ -1158,6 +1150,8 @@ _btn_clicked_cb(void *data, Evas_Object *obj,
ui->proc.sort_reverse = !ui->proc.sort_reverse; ui->proc.sort_reverse = !ui->proc.sort_reverse;
ui->proc.sort_type = type; ui->proc.sort_type = type;
_btn_clicked_state_save(pd, obj); _btn_clicked_state_save(pd, obj);
pd->skip_update = 0;
pd->skip_wait = 1;
} }
static void static void
@ -1391,6 +1385,25 @@ _item_pid_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
ui_process_view_win_add(proc->pid, PROC_VIEW_DEFAULT); ui_process_view_win_add(proc->pid, PROC_VIEW_DEFAULT);
} }
static void
_glist_scrolled_cb(void *data, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
Data *pd = data;
pd->skip_update = 1;
}
static void
_glist_scroll_stopped_cb(void *data, Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
{
Data *pd = data;
pd->skip_update = 0;
pd->skip_wait = 1;
}
static Eina_Bool static Eina_Bool
_main_menu_timer_cb(void *data) _main_menu_timer_cb(void *data)
{ {
@ -1690,6 +1703,12 @@ _content_add(Data *pd, Evas_Object *parent)
_item_pid_secondary_clicked_cb, pd); _item_pid_secondary_clicked_cb, pd);
evas_object_smart_callback_add(glist, "unrealized", evas_object_smart_callback_add(glist, "unrealized",
_item_unrealized_cb, pd); _item_unrealized_cb, pd);
evas_object_smart_callback_add(glist, "scroll",
_glist_scrolled_cb, pd);
evas_object_smart_callback_add(glist, "scroll,anim,stop",
_glist_scroll_stopped_cb, pd);
evas_object_smart_callback_add(glist, "scroll,drag,stop",
_glist_scroll_stopped_cb, pd);
pd->summary.fr = fr = elm_frame_add(parent); pd->summary.fr = fr = elm_frame_add(parent);
elm_object_style_set(fr, "pad_small"); elm_object_style_set(fr, "pad_small");
@ -1719,13 +1738,15 @@ _search_empty_cb(void *data)
elm_object_focus_allow_set(pd->search.entry, 0); elm_object_focus_allow_set(pd->search.entry, 0);
pd->search.visible = 0; pd->search.visible = 0;
pd->search.timer = NULL; pd->search.timer = NULL;
pd->skip_update = 0;
pd->skip_wait = 1; pd->skip_wait = 1;
return 0; return 0;
} }
if (pd->search.keytime && if (pd->search.keytime &&
((ecore_loop_time_get() - pd->search.keytime) > 0.1)) ((ecore_loop_time_get() - pd->search.keytime) > 0.2))
{ {
pd->skip_update = 0;
pd->skip_wait = 1; pd->skip_wait = 1;
pd->search.keytime = 0; pd->search.keytime = 0;
} }
@ -1740,6 +1761,7 @@ _search_clear(Data *pd)
free(pd->search.text); free(pd->search.text);
pd->search.text = NULL; pd->search.text = NULL;
pd->search.len = 0; pd->search.len = 0;
pd->skip_update = 0;
} }
static void static void
@ -1758,6 +1780,7 @@ _search_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
text = elm_object_text_get(obj); text = elm_object_text_get(obj);
if (text) if (text)
{ {
pd->skip_update = 1;
pd->search.keytime = ecore_loop_time_get(); pd->search.keytime = ecore_loop_time_get();
_search_clear(pd); _search_clear(pd);
pd->search.text = strdup(text); pd->search.text = strdup(text);