netstar pushed a commit to branch master. http://git.enlightenment.org/apps/evisum.git/commit/?id=dbde000b21dee975d7a484a7ce51fd91b7e07779
commit dbde000b21dee975d7a484a7ce51fd91b7e07779 Author: Alastair Poole <nets...@gmail.com> Date: Tue Feb 9 08:15:47 2021 +0000 ui: sizing. Rectangles are your friend... --- src/bin/ui/ui.c | 78 +++++++++++++++++++++++++++++--------------- src/bin/ui/ui_process_view.c | 29 +++++++++------- 2 files changed, 69 insertions(+), 38 deletions(-) diff --git a/src/bin/ui/ui.c b/src/bin/ui/ui.c index ba9b2c3..a9e0c24 100644 --- a/src/bin/ui/ui.c +++ b/src/bin/ui/ui.c @@ -335,9 +335,10 @@ _main_menu_focus_timer_cb(void *data) Evas_Object * evisum_ui_main_menu_create(Ui *ui, Evas_Object *parent, Evas_Object *obj) { - Evas_Object *o, *bx, *bx2, *hbox, *sep, *fr, *sli; - Evas_Object *it_focus, *btn, *chk; + Evas_Object *o, *bx, *bx2, *tb, *sep, *fr, *sli; + Evas_Object *it_focus, *btn, *chk, *rec; Evas_Coord ox, oy, ow, oh; + int i = 0; evas_object_geometry_get(obj, &ox, &oy, &ow, &oh); o = elm_ctxpopup_add(parent); @@ -360,53 +361,78 @@ evisum_ui_main_menu_create(Ui *ui, Evas_Object *parent, Evas_Object *obj) elm_object_content_set(fr, bx); elm_object_content_set(o, fr); - hbox = elm_box_add(o); - elm_box_horizontal_set(hbox, 1); - evas_object_size_hint_align_set(hbox, FILL, FILL); - evas_object_size_hint_weight_set(hbox, EXPAND, EXPAND); - evas_object_show(hbox); + tb = elm_table_add(o); + evas_object_size_hint_align_set(tb, FILL, FILL); + evas_object_size_hint_weight_set(tb, EXPAND, EXPAND); + evas_object_show(tb); - it_focus = btn = _btn_create(hbox, "proc", _("Processes"), + rec = evas_object_rectangle_add(evas_object_evas_get(bx)); + evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(24), ELM_SCALE_SIZE(24)); + elm_table_pack(tb, rec, i, 0, 1, 1); + + it_focus = btn = _btn_create(tb, "proc", _("Processes"), _menu_process_view_clicked_cb, ui); - elm_box_pack_end(hbox, btn); + rec = evas_object_rectangle_add(evas_object_evas_get(bx)); + evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(24), ELM_SCALE_SIZE(24)); + elm_table_pack(tb, rec, i, 0, 1, 1); + elm_table_pack(tb, btn, i++, 0, 1, 1); - btn = _btn_create(hbox, "cpu", _("CPU"), + btn = _btn_create(tb, "cpu", _("CPU"), _menu_cpu_activity_clicked_cb, ui); - elm_box_pack_end(hbox, btn); + rec = evas_object_rectangle_add(evas_object_evas_get(bx)); + evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(24), ELM_SCALE_SIZE(24)); + elm_table_pack(tb, rec, i, 0, 1, 1); + elm_table_pack(tb, btn, i++, 0, 1, 1); - btn = _btn_create(hbox, "memory", _("Memory"), + btn = _btn_create(tb, "memory", _("Memory"), _menu_memory_activity_clicked_cb, ui); - elm_box_pack_end(hbox, btn); + rec = evas_object_rectangle_add(evas_object_evas_get(bx)); + evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(24), ELM_SCALE_SIZE(24)); + elm_table_pack(tb, rec, i, 0, 1, 1); + elm_table_pack(tb, btn, i++, 0, 1, 1); - btn = _btn_create(hbox, "storage", _("Storage"), + btn = _btn_create(tb, "storage", _("Storage"), _menu_disk_activity_clicked_cb, ui); - elm_box_pack_end(hbox, btn); + rec = evas_object_rectangle_add(evas_object_evas_get(bx)); + evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(24), ELM_SCALE_SIZE(24)); + elm_table_pack(tb, rec, i, 0, 1, 1); + elm_table_pack(tb, btn, i++, 0, 1, 1); - btn = _btn_create(hbox, "sensor", _("Sensors"), + btn = _btn_create(tb, "sensor", _("Sensors"), _menu_sensors_activity_clicked_cb, ui); - elm_box_pack_end(hbox, btn); + rec = evas_object_rectangle_add(evas_object_evas_get(bx)); + evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(24), ELM_SCALE_SIZE(24)); + elm_table_pack(tb, rec, i, 0, 1, 1); + elm_table_pack(tb, btn, i++, 0, 1, 1); - sep = elm_separator_add(hbox); + sep = elm_separator_add(tb); evas_object_size_hint_align_set(sep, FILL, FILL); evas_object_size_hint_weight_set(sep, EXPAND, EXPAND); elm_separator_horizontal_set(sep, 0); evas_object_show(sep); - elm_box_pack_end(hbox, sep); + elm_table_pack(tb, sep, i++, 0, 1, 1); - btn = _btn_create(hbox, "effects", _("Effects"), + btn = _btn_create(tb, "effects", _("Effects"), _menu_effects_clicked_cb, ui); - elm_box_pack_end(hbox, btn); + rec = evas_object_rectangle_add(evas_object_evas_get(bx)); + evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(24), ELM_SCALE_SIZE(24)); + elm_table_pack(tb, rec, i, 0, 1, 1); + elm_table_pack(tb, btn, i++, 0, 1, 1); - sep = elm_separator_add(hbox); + sep = elm_separator_add(tb); evas_object_size_hint_align_set(sep, FILL, FILL); evas_object_size_hint_weight_set(sep, EXPAND, EXPAND); elm_separator_horizontal_set(sep, 0); evas_object_show(sep); - elm_box_pack_end(hbox, sep); + elm_table_pack(tb, sep, i++, 0, 1, 1); + + btn = _btn_create(tb, "evisum", _("About"), _about_clicked_cb, ui); + rec = evas_object_rectangle_add(evas_object_evas_get(bx)); + evas_object_size_hint_min_set(rec, ELM_SCALE_SIZE(24), ELM_SCALE_SIZE(24)); + elm_table_pack(tb, rec, i, 0, 1, 1); + elm_table_pack(tb, btn, i++, 0, 1, 1); - btn = _btn_create(hbox, "evisum", _("About"), _about_clicked_cb, ui); - elm_box_pack_end(hbox, btn); - elm_box_pack_end(bx, hbox); + elm_box_pack_end(bx, tb); Menu_Inst *inst = calloc(1, sizeof(Menu_Inst)); if (!inst) return NULL; diff --git a/src/bin/ui/ui_process_view.c b/src/bin/ui/ui_process_view.c index c396fb1..f76cb7d 100644 --- a/src/bin/ui/ui_process_view.c +++ b/src/bin/ui/ui_process_view.c @@ -951,7 +951,7 @@ _proc_info_feedback_cb(void *data, Ecore_Thread *thread, void *msg) return; } - if (pd->pid_cpu_time && proc->cpu_time >= pd->pid_cpu_time) + if ((pd->pid_cpu_time) && (proc->cpu_time >= pd->pid_cpu_time)) cpu_usage = (double)(proc->cpu_time - pd->pid_cpu_time) / pd->poll_delay; proc->cpu_usage = cpu_usage; @@ -1456,6 +1456,8 @@ _manual_tab_add(Evas_Object *parent, Ui_Data *pd) elm_entry_line_wrap_set(entry, ELM_WRAP_NONE); elm_entry_editable_set(entry, 0); elm_entry_scrollable_set(entry, 1); + elm_scroller_policy_set(entry, ELM_SCROLLER_POLICY_OFF, + ELM_SCROLLER_POLICY_AUTO); evas_object_show(entry); elm_box_pack_end(bx, entry); @@ -1529,6 +1531,7 @@ _tab_manual_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Ui_Data *pd; + Evas_Object *ent; Eina_List *lines = NULL; pd = data; @@ -1538,39 +1541,41 @@ _tab_manual_clicked_cb(void *data, Evas_Object *obj EINA_UNUSED, if (pd->manual.init) return; - setenv("MANWIDTH", "80", 1); + setenv("MANWIDTH", "75", 1); - if (pd->selected_cmd && pd->selected_cmd[0] && !strchr(pd->selected_cmd, ' ')) + ent = pd->manual.entry; + if ((pd->selected_cmd) && (pd->selected_cmd[0] )&& (!strchr(pd->selected_cmd, ' '))) lines =_exe_response(eina_slstr_printf("man %s | col -bx", pd->selected_cmd)); + elm_entry_entry_append(ent, "<code>"); + if (!lines) { - if (!strcmp(pd->selected_cmd, "evisum")) - elm_object_text_set(pd->manual.entry, _evisum_docs()); + if (pd->selected_pid == getpid()) + elm_entry_entry_append(ent, _evisum_docs()); else { - elm_object_text_set(pd->manual.entry, - eina_slstr_printf( - _("No documentation found for %s."), - pd->selected_cmd)); + elm_entry_entry_append(ent, + eina_slstr_printf( + _("No documentation found for %s."), + pd->selected_cmd)); } } else { char *line; - Evas_Object *ent = pd->manual.entry; int n = 1; - elm_entry_entry_append(ent, "<code>"); EINA_LIST_FREE(lines, line) { if (n++ > 1) elm_entry_entry_append(ent, eina_slstr_printf("%s<br>", line)); free(line); } - elm_entry_entry_append(ent, "</code>"); } + elm_entry_entry_append(ent, "</code>"); + unsetenv("MANWIDTH"); pd->manual.init = 1; --