netstar pushed a commit to branch master. http://git.enlightenment.org/apps/evisum.git/commit/?id=0cc32d24f01535e1b7b675b70be869cd7ba5265e
commit 0cc32d24f01535e1b7b675b70be869cd7ba5265e Author: Alastair Poole <nets...@gmail.com> Date: Wed Mar 3 13:48:30 2021 +0000 proclist: deal with the phat scroller. --- src/bin/ui/ui_process_list.c | 78 +++++++++++++++++++------------------------- 1 file changed, 34 insertions(+), 44 deletions(-) diff --git a/src/bin/ui/ui_process_list.c b/src/bin/ui/ui_process_list.c index 6dc2c8f..8639870 100644 --- a/src/bin/ui/ui_process_list.c +++ b/src/bin/ui/ui_process_list.c @@ -75,6 +75,7 @@ typedef struct Evas_Object *btn_time; Evas_Object *btn_cpu_usage; + Proc_Field field_max; Evas_Object *fields_menu; struct @@ -169,6 +170,7 @@ _content_reset(Ui_Data *pd) evas_object_hide(f->btn); continue; } + pd->field_max = i; evas_object_show(f->btn); elm_table_pack(pd->tb_content, f->btn, j++, 0, 1, 1); } @@ -449,7 +451,7 @@ _run_time_set(char *buf, size_t n, int64_t secs) { int rem; - if (secs < 86400) + if (secs < 86400) snprintf(buf, n, "%02" PRIi64 ":%02"PRIi64, secs / 60, secs % 60); else { @@ -458,6 +460,21 @@ _run_time_set(char *buf, size_t n, int64_t secs) } } +static void +_field_adjust(Ui_Data *pd, Proc_Field id, Evas_Object *obj, Evas_Coord w) +{ + Evas_Object *rec = evas_object_data_get(obj, "rec"); + if (id != pd->field_max) + evas_object_size_hint_min_set(rec, w, 1); + else + { + evas_object_size_hint_min_set(rec, 1, 1); + evas_object_size_hint_weight_set(rec, EXPAND, EXPAND); + evas_object_size_hint_weight_set(obj, EXPAND, EXPAND); + } + evas_object_show(obj); +} + static Evas_Object * _content_get(void *data, Evas_Object *obj, const char *source) { @@ -499,11 +516,11 @@ _content_get(void *data, Evas_Object *obj, const char *source) evas_object_show(lb); elm_box_recalculate(hbx); - o = evas_object_data_get(it->obj, "icon"); const char *new = evisum_icon_path_get(evisum_icon_cache_find(proc)); const char *old = NULL; + o = evas_object_data_get(it->obj, "icon"); elm_image_file_get(o, &old, NULL); - if (!old || strcmp(old, new)) + if ((!old) || (strcmp(old, new))) elm_icon_standard_set(o, new); rec = evas_object_data_get(o, "rec"); evas_object_size_hint_min_set(rec, w, 1); @@ -528,9 +545,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) pd->skip_wait = 1; } } - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_UID, lb, w); } if (_field_enabled(PROC_FIELD_PID)) @@ -540,9 +555,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) snprintf(buf, sizeof(buf), "%d", proc->pid); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_PID, lb, w); } if (_field_enabled(PROC_FIELD_THREADS)) @@ -552,9 +565,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) snprintf(buf, sizeof(buf), "%d", proc->numthreads); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_THREADS, lb, w); } if (_field_enabled(PROC_FIELD_CPU)) @@ -564,9 +575,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) snprintf(buf, sizeof(buf), "%d", proc->cpu_id); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_CPU, lb, w); } if (_field_enabled(PROC_FIELD_PRI)) @@ -576,9 +585,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) snprintf(buf, sizeof(buf), "%d", proc->priority); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_PRI, lb, w); } if (_field_enabled(PROC_FIELD_NICE)) @@ -588,9 +595,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) snprintf(buf, sizeof(buf), "%d", proc->nice); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_NICE, lb, w); } if (_field_enabled(PROC_FIELD_FILES)) @@ -600,9 +605,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) snprintf(buf, sizeof(buf), "%d", proc->numfiles); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_FILES, lb, w); } if (_field_enabled(PROC_FIELD_SIZE)) @@ -612,9 +615,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) snprintf(buf, sizeof(buf), "%s", evisum_size_format(proc->mem_size)); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_SIZE, lb, w); } if (_field_enabled(PROC_FIELD_VIRT)) @@ -624,9 +625,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) snprintf(buf, sizeof(buf), "%s", evisum_size_format(proc->mem_virt)); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_VIRT, lb, w); } if (_field_enabled(PROC_FIELD_RSS)) @@ -636,9 +635,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) snprintf(buf, sizeof(buf), "%s", evisum_size_format(proc->mem_rss)); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_RSS, lb, w); } if (_field_enabled(PROC_FIELD_SHARED)) @@ -648,9 +645,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) snprintf(buf, sizeof(buf), "%s", evisum_size_format(proc->mem_shared)); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_SHARED, lb, w); } if (_field_enabled(PROC_FIELD_STATE)) @@ -660,9 +655,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) snprintf(buf, sizeof(buf), "%s", proc->state); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_STATE, lb, w); } if (_field_enabled(PROC_FIELD_TIME)) @@ -672,9 +665,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) _run_time_set(buf, sizeof(buf), proc->run_time); if (strcmp(buf, elm_object_text_get(lb))) elm_object_text_set(lb, buf); - rec = evas_object_data_get(lb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); - evas_object_show(lb); + _field_adjust(pd, PROC_FIELD_TIME, lb, w); } if (_field_enabled(PROC_FIELD_CPU_USAGE)) @@ -684,8 +675,7 @@ _content_get(void *data, Evas_Object *obj, const char *source) double last = elm_progressbar_value_get(pb); evas_object_geometry_get(pd->btn_cpu_usage, NULL, NULL, &w, NULL); - rec = evas_object_data_get(pb, "rec"); - evas_object_size_hint_min_set(rec, w, 1); + _field_adjust(pd, PROC_FIELD_CPU_USAGE, pb, w); if (!EINA_DBL_EQ(value, last)) { --