parent
2ffbe38d43
commit
54565e32a6
|
@ -12,6 +12,7 @@ collections {
|
||||||
group { name: "terminology/keybinding";
|
group { name: "terminology/keybinding";
|
||||||
parts {
|
parts {
|
||||||
part { name: "shadow"; type: RECT;
|
part { name: "shadow"; type: RECT;
|
||||||
|
mouse_events: 1;
|
||||||
description { state: "default" 0.0;
|
description { state: "default" 0.0;
|
||||||
color: 0 0 0 196;
|
color: 0 0 0 196;
|
||||||
}
|
}
|
||||||
|
|
|
@ -73,19 +73,6 @@ _cb_op_tmp_chg(void *data, Evas_Object *obj, void *_event EINA_UNUSED)
|
||||||
config->temporary = elm_check_state_get(obj);
|
config->temporary = elm_check_state_get(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
|
||||||
_cb_op_del_delay(void *data)
|
|
||||||
{
|
|
||||||
Options_Ctx *ctx = data;
|
|
||||||
|
|
||||||
evas_object_del(ctx->opbox);
|
|
||||||
evas_object_del(ctx->frame);
|
|
||||||
|
|
||||||
free(ctx);
|
|
||||||
elm_cache_all_flush();
|
|
||||||
return EINA_FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_cb_opdt_hide_done(void *data,
|
_cb_opdt_hide_done(void *data,
|
||||||
Evas_Object *_obj EINA_UNUSED,
|
Evas_Object *_obj EINA_UNUSED,
|
||||||
|
@ -123,7 +110,11 @@ _cb_opdt_hide_done2(void *data,
|
||||||
edje_object_signal_callback_del(ctx->base, "optdetails,hide,done",
|
edje_object_signal_callback_del(ctx->base, "optdetails,hide,done",
|
||||||
"terminology",
|
"terminology",
|
||||||
_cb_opdt_hide_done2);
|
_cb_opdt_hide_done2);
|
||||||
ecore_timer_add(10.0, _cb_op_del_delay, ctx);
|
evas_object_del(ctx->opbox);
|
||||||
|
evas_object_del(ctx->frame);
|
||||||
|
|
||||||
|
free(ctx);
|
||||||
|
elm_cache_all_flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -40,9 +40,11 @@ _shortcut_delete(void *data,
|
||||||
evas_object_size_hint_min_get(hs, &w, NULL);
|
evas_object_size_hint_min_get(hs, &w, NULL);
|
||||||
evas_object_size_hint_min_get(bx, &min_w, &min_h);
|
evas_object_size_hint_min_get(bx, &min_w, &min_h);
|
||||||
min_w -= w;
|
min_w -= w;
|
||||||
evas_object_size_hint_min_set(bx, min_w, min_h);
|
|
||||||
|
|
||||||
evas_object_del(hs);
|
evas_object_del(hs);
|
||||||
|
|
||||||
|
evas_object_size_hint_min_set(bx, min_w, min_h);
|
||||||
|
|
||||||
keyin_remove_config(cfg_key);
|
keyin_remove_config(cfg_key);
|
||||||
|
|
||||||
eina_stringshare_del(cfg_key->keyname);
|
eina_stringshare_del(cfg_key->keyname);
|
||||||
|
@ -208,6 +210,7 @@ _parent_hide_cb(void *data,
|
||||||
void *_event_info EINA_UNUSED)
|
void *_event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Keys_Ctx *ctx = data;
|
Keys_Ctx *ctx = data;
|
||||||
|
|
||||||
_hover_del(ctx);
|
_hover_del(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -218,31 +221,30 @@ _parent_del_cb(void *data,
|
||||||
void *_event_info EINA_UNUSED)
|
void *_event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Keys_Ctx *ctx = data;
|
Keys_Ctx *ctx = data;
|
||||||
_hover_del(ctx);
|
|
||||||
|
|
||||||
evas_object_event_callback_del(ctx->frame, EVAS_CALLBACK_DEL,
|
ctx->frame = NULL;
|
||||||
_parent_del_cb);
|
_hover_del(ctx);
|
||||||
evas_object_event_callback_del(ctx->frame, EVAS_CALLBACK_HIDE,
|
|
||||||
_parent_hide_cb);
|
|
||||||
free(ctx);
|
free(ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_hover_del(Keys_Ctx *ctx)
|
_hover_del(Keys_Ctx *ctx)
|
||||||
{
|
{
|
||||||
if (ctx->layout)
|
Evas_Object *layout = ctx->layout;
|
||||||
|
|
||||||
|
ctx->layout = NULL;
|
||||||
|
if (layout && ctx->frame)
|
||||||
{
|
{
|
||||||
evas_object_event_callback_del(ctx->frame, EVAS_CALLBACK_KEY_UP,
|
evas_object_event_callback_del(ctx->frame, EVAS_CALLBACK_KEY_UP,
|
||||||
_cb_key_up);
|
_cb_key_up);
|
||||||
evas_object_event_callback_del(ctx->frame, EVAS_CALLBACK_MOUSE_DOWN,
|
evas_object_event_callback_del(layout, EVAS_CALLBACK_MOUSE_DOWN,
|
||||||
_cb_mouse_down);
|
_cb_mouse_down);
|
||||||
evas_object_event_callback_del(ctx->frame, EVAS_CALLBACK_MOVE,
|
evas_object_event_callback_del(ctx->frame, EVAS_CALLBACK_MOVE,
|
||||||
_parent_move_cb);
|
_parent_move_cb);
|
||||||
evas_object_event_callback_del(ctx->frame, EVAS_CALLBACK_RESIZE,
|
evas_object_event_callback_del(ctx->frame, EVAS_CALLBACK_RESIZE,
|
||||||
_parent_resize_cb);
|
_parent_resize_cb);
|
||||||
evas_object_del(ctx->layout);
|
evas_object_del(layout);
|
||||||
}
|
}
|
||||||
ctx->layout = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -250,7 +252,7 @@ _on_shortcut_add(void *data,
|
||||||
Evas_Object *bt,
|
Evas_Object *bt,
|
||||||
void *_event_info EINA_UNUSED)
|
void *_event_info EINA_UNUSED)
|
||||||
{
|
{
|
||||||
Evas_Object *o, *oe;
|
Evas_Object *oe;
|
||||||
Evas_Object *bx = data;
|
Evas_Object *bx = data;
|
||||||
Keys_Ctx *ctx;
|
Keys_Ctx *ctx;
|
||||||
|
|
||||||
|
@ -258,23 +260,20 @@ _on_shortcut_add(void *data,
|
||||||
assert(ctx);
|
assert(ctx);
|
||||||
|
|
||||||
assert(ctx->layout == NULL);
|
assert(ctx->layout == NULL);
|
||||||
ctx->layout = o = elm_layout_add(bt);
|
ctx->layout = elm_layout_add(bt);
|
||||||
evas_object_data_set(ctx->layout, "ctx", ctx);
|
evas_object_data_set(ctx->layout, "ctx", ctx);
|
||||||
oe = elm_layout_edje_get(o);
|
oe = elm_layout_edje_get(ctx->layout);
|
||||||
theme_apply(oe, ctx->config, "terminology/keybinding");
|
theme_apply(oe, ctx->config, "terminology/keybinding");
|
||||||
theme_auto_reload_enable(oe);
|
theme_auto_reload_enable(oe);
|
||||||
elm_layout_text_set(o, "label", _("Please press key sequence"));
|
elm_layout_text_set(ctx->layout, "label", _("Please press key sequence"));
|
||||||
evas_object_show(o);
|
evas_object_show(ctx->layout);
|
||||||
|
|
||||||
evas_object_event_callback_add(ctx->frame, EVAS_CALLBACK_KEY_UP,
|
evas_object_event_callback_add(ctx->frame, EVAS_CALLBACK_KEY_UP,
|
||||||
_cb_key_up, bx);
|
_cb_key_up, bx);
|
||||||
evas_object_event_callback_add(ctx->frame, EVAS_CALLBACK_MOUSE_DOWN,
|
evas_object_event_callback_add(ctx->layout, EVAS_CALLBACK_MOUSE_DOWN,
|
||||||
_cb_mouse_down, ctx);
|
_cb_mouse_down, ctx);
|
||||||
elm_object_focus_set(ctx->frame, EINA_TRUE);
|
|
||||||
elm_object_focus_allow_set(ctx->frame, EINA_TRUE);
|
|
||||||
|
|
||||||
_hover_sizing_eval(ctx);
|
_hover_sizing_eval(ctx);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static Evas_Object *
|
static Evas_Object *
|
||||||
|
@ -390,6 +389,10 @@ options_keys(Evas_Object *opbox, Evas_Object *term)
|
||||||
_parent_del_cb, ctx);
|
_parent_del_cb, ctx);
|
||||||
evas_object_event_callback_add(ctx->frame, EVAS_CALLBACK_HIDE,
|
evas_object_event_callback_add(ctx->frame, EVAS_CALLBACK_HIDE,
|
||||||
_parent_hide_cb, ctx);
|
_parent_hide_cb, ctx);
|
||||||
|
evas_object_event_callback_add(ctx->frame, EVAS_CALLBACK_MOVE,
|
||||||
|
_parent_move_cb, ctx);
|
||||||
|
evas_object_event_callback_add(ctx->frame, EVAS_CALLBACK_RESIZE,
|
||||||
|
_parent_resize_cb, ctx);
|
||||||
|
|
||||||
bx = elm_box_add(opbox);
|
bx = elm_box_add(opbox);
|
||||||
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
|
|
Loading…
Reference in New Issue