keydown: escape closes window.
Not perfect but good enough.
This commit is contained in:
parent
5b42efce5b
commit
bf3bd51be1
|
@ -12,6 +12,7 @@ typedef struct {
|
|||
|
||||
Ecore_Thread *thread;
|
||||
|
||||
Evas_Object *win;
|
||||
Evas_Object *bg;
|
||||
Evas_Object *obj;
|
||||
|
||||
|
@ -416,6 +417,22 @@ _colors_fill(Evas_Object *colors)
|
|||
}
|
||||
|
||||
static void
|
||||
_win_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Evas_Event_Key_Down *ev;
|
||||
Animate *ad;
|
||||
|
||||
ad = data;
|
||||
ev = event_info;
|
||||
|
||||
if (!ev || !ev->keyname)
|
||||
return;
|
||||
|
||||
if (!strcmp(ev->keyname, "Escape"))
|
||||
evas_object_del(ad->ui->cpu.win);
|
||||
}
|
||||
|
||||
static Animate *
|
||||
_graph(Ui *ui, Evas_Object *parent)
|
||||
{
|
||||
Evas_Object *tbl, *tbl2, *box, *obj, *ic, *lb, *rec;
|
||||
|
@ -424,8 +441,9 @@ _graph(Ui *ui, Evas_Object *parent)
|
|||
char buf[128];
|
||||
|
||||
Animate *ad = calloc(1, sizeof(Animate));
|
||||
if (!ad) return;
|
||||
if (!ad) return NULL;
|
||||
|
||||
ad->win = ui->cpu.win;
|
||||
ad->cpu_count = system_cpu_count_get();
|
||||
if (!system_cpu_frequency_min_max_get(&ad->freq_min, &ad->freq_max))
|
||||
ad->cpu_freq = EINA_TRUE;
|
||||
|
@ -675,8 +693,6 @@ _graph(Ui *ui, Evas_Object *parent)
|
|||
evas_object_size_hint_min_set
|
||||
(obj, 100, (BAR_HEIGHT * ad->cpu_count) * elm_config_scale_get());
|
||||
|
||||
// since win is on auto-delete, just listen for when it is deleted,
|
||||
// whatever the cause/reason
|
||||
evas_object_event_callback_add(ui->cpu.win, EVAS_CALLBACK_DEL, _win_del_cb, ad);
|
||||
|
||||
// run a feedback thread that sends feedback to the mainloop
|
||||
|
@ -685,6 +701,7 @@ _graph(Ui *ui, Evas_Object *parent)
|
|||
NULL,
|
||||
NULL,
|
||||
ad, EINA_TRUE);
|
||||
return ad;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -698,6 +715,7 @@ _win_resize_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
|||
void
|
||||
ui_win_cpu_add(Ui *ui, Evas_Object *parent)
|
||||
{
|
||||
Animate *ad;
|
||||
Evas_Object *win, *box, *scroller;
|
||||
Evas_Coord x = 0, y = 0;
|
||||
|
||||
|
@ -730,8 +748,8 @@ ui_win_cpu_add(Ui *ui, Evas_Object *parent)
|
|||
evas_object_size_hint_weight_set(box, EXPAND, EXPAND);
|
||||
evas_object_show(box);
|
||||
|
||||
_graph(ui, box);
|
||||
|
||||
ad = _graph(ui, box);
|
||||
evas_object_event_callback_add(scroller, EVAS_CALLBACK_KEY_DOWN, _win_key_down_cb, ad);
|
||||
elm_object_content_set(scroller, box);
|
||||
elm_object_content_set(win, scroller);
|
||||
|
||||
|
@ -751,7 +769,6 @@ ui_win_cpu_add(Ui *ui, Evas_Object *parent)
|
|||
else
|
||||
elm_win_center(win, 1, 1);
|
||||
}
|
||||
|
||||
evas_object_show(win);
|
||||
}
|
||||
|
||||
|
|
|
@ -290,6 +290,22 @@ _disks_poll_update(Ui_Data *pd)
|
|||
pd->skip_wait = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
_win_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Evas_Event_Key_Down *ev;
|
||||
Ui_Data *pd;
|
||||
|
||||
pd = data;
|
||||
ev = event_info;
|
||||
|
||||
if (!ev || !ev->keyname)
|
||||
return;
|
||||
|
||||
if (!strcmp(ev->keyname, "Escape"))
|
||||
evas_object_del(pd->ui->disk.win);
|
||||
}
|
||||
|
||||
static void
|
||||
_win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
|
@ -668,6 +684,7 @@ ui_win_disk_add(Ui *ui, Evas_Object *parent)
|
|||
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _win_del_cb, pd);
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _win_resize_cb, pd);
|
||||
evas_object_event_callback_add(tbl, EVAS_CALLBACK_KEY_DOWN, _win_key_down_cb, pd);
|
||||
evas_object_show(win);
|
||||
|
||||
pd->thread = ecore_thread_feedback_run(_disks_poll,
|
||||
|
|
|
@ -348,6 +348,22 @@ _graph_guide(Evas_Object *parent, int r, int g, int b, int a)
|
|||
return btn;
|
||||
}
|
||||
|
||||
static void
|
||||
_win_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Evas_Event_Key_Down *ev;
|
||||
Ui_Data *pd;
|
||||
|
||||
pd = data;
|
||||
ev = event_info;
|
||||
|
||||
if (!ev || !ev->keyname)
|
||||
return;
|
||||
|
||||
if (!strcmp(ev->keyname, "Escape"))
|
||||
evas_object_del(pd->win);
|
||||
}
|
||||
|
||||
static void
|
||||
_win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj,
|
||||
void *event_info EINA_UNUSED)
|
||||
|
@ -511,6 +527,7 @@ ui_win_memory_add(Ui *ui, Evas_Object *parent)
|
|||
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE, _win_resize_cb, pd);
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _win_del_cb, pd);
|
||||
evas_object_event_callback_add(tbl, EVAS_CALLBACK_KEY_DOWN, _win_key_down_cb, pd);
|
||||
evas_object_show(win);
|
||||
|
||||
pd->thread = ecore_thread_feedback_run(_mem_usage_main_cb,
|
||||
|
|
|
@ -1451,6 +1451,9 @@ _win_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
|||
if (!ev || !ev->keyname)
|
||||
return;
|
||||
|
||||
if (!strcmp(ev->keyname, "Escape") && !pd->entry_visible)
|
||||
evas_object_del(pd->win);
|
||||
else
|
||||
_win_key_down_search(pd, ev);
|
||||
|
||||
pd->skip_wait = 1;
|
||||
|
|
|
@ -200,6 +200,22 @@ _content_get(void *data, Evas_Object *obj, const char *part)
|
|||
return bx;
|
||||
}
|
||||
|
||||
static void
|
||||
_win_key_down_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
Evas_Event_Key_Down *ev;
|
||||
Ui_Data *pd;
|
||||
|
||||
pd = data;
|
||||
ev = event_info;
|
||||
|
||||
if (!ev || !ev->keyname)
|
||||
return;
|
||||
|
||||
if (!strcmp(ev->keyname, "Escape"))
|
||||
evas_object_del(pd->ui->sensors.win);
|
||||
}
|
||||
|
||||
static void
|
||||
_win_del_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
|
@ -257,6 +273,7 @@ ui_win_sensors_add(Ui *ui, Evas_Object *parent)
|
|||
evas_object_event_callback_add(win, EVAS_CALLBACK_RESIZE,
|
||||
_win_resize_cb, pd);
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _win_del_cb, pd);
|
||||
evas_object_event_callback_add(win, EVAS_CALLBACK_KEY_DOWN, _win_key_down_cb, pd);
|
||||
|
||||
fr = elm_frame_add(win);
|
||||
evas_object_size_hint_weight_set(fr, EXPAND, EXPAND);
|
||||
|
|
Loading…
Reference in New Issue