From 820a5440fe348fabe78fed3aeb87c6a53b5a4855 Mon Sep 17 00:00:00 2001 From: Boris Faure Date: Mon, 15 Jan 2018 22:45:32 +0100 Subject: [PATCH] controls: use both "bg" and "base" evas objects --- src/bin/about.c | 14 +++++++------- src/bin/about.h | 2 +- src/bin/controls.c | 18 ++++++++++-------- src/bin/controls.h | 3 ++- src/bin/options.c | 38 ++++++++++++++++++++------------------ src/bin/options.h | 5 +++-- src/bin/options_colors.c | 3 ++- src/bin/options_colors.h | 2 +- src/bin/win.c | 2 +- 9 files changed, 47 insertions(+), 40 deletions(-) diff --git a/src/bin/about.c b/src/bin/about.c index 514533b6..3b9ea3f0 100644 --- a/src/bin/about.c +++ b/src/bin/about.c @@ -11,7 +11,7 @@ typedef struct _about_ctx { Evas_Object *layout; Evas_Object *over; Evas_Object *win; - Evas_Object *bg; + Evas_Object *base; Evas_Object *term; void (*donecb) (void *data); void *donedata; @@ -40,7 +40,7 @@ _cb_mouse_down(void *data, evas_object_del(ctx->over); } elm_object_focus_set(ctx->layout, EINA_FALSE); - edje_object_signal_emit(ctx->bg, "about,hide", "terminology"); + edje_object_signal_emit(ctx->base, "about,hide", "terminology"); ecore_timer_add(10.0, _cb_del_delay, ctx->layout); ctx->layout = NULL; @@ -52,7 +52,7 @@ _cb_mouse_down(void *data, } void -about_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, +about_show(Evas_Object *win, Evas_Object *base, Evas_Object *term, void (*donecb) (void *data), void *donedata) { Evas_Object *o; @@ -65,7 +65,7 @@ about_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, assert(ctx); ctx->win = win; - ctx->bg = bg; + ctx->base = base; ctx->term = term; ctx->donecb = donecb; ctx->donedata = donedata; @@ -183,16 +183,16 @@ about_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, elm_object_part_text_set(o, "terminology.text", txt); eina_stringshare_del(txt); evas_object_show(o); - edje_object_part_swallow(bg, "terminology.about", ctx->layout); + edje_object_part_swallow(base, "terminology.about", ctx->layout); ctx->over = o = evas_object_rectangle_add(evas_object_evas_get(win)); evas_object_color_set(o, 0, 0, 0, 0); - edje_object_part_swallow(bg, "terminology.dismiss", o); + edje_object_part_swallow(base, "terminology.dismiss", o); evas_object_show(o); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _cb_mouse_down, ctx); - edje_object_signal_emit(bg, "about,show", "terminology"); + edje_object_signal_emit(base, "about,show", "terminology"); elm_object_signal_emit(ctx->layout, "begin" ,"terminology"); elm_object_focus_set(ctx->layout, EINA_TRUE); } diff --git a/src/bin/about.h b/src/bin/about.h index 71138e15..05bda9e0 100644 --- a/src/bin/about.h +++ b/src/bin/about.h @@ -1,7 +1,7 @@ #ifndef _ABOUT_H__ #define _ABOUT_H__ 1 -void about_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, +void about_show(Evas_Object *win, Evas_Object *base, Evas_Object *term, void (*donecb) (void *data), void *donedata); #endif diff --git a/src/bin/controls.c b/src/bin/controls.c index 89fbc8d8..f51a1c06 100644 --- a/src/bin/controls.c +++ b/src/bin/controls.c @@ -14,6 +14,7 @@ typedef struct _Controls_Ctx { Evas_Object *frame; Evas_Object *over; Evas_Object *win; + Evas_Object *base; Evas_Object *bg; Evas_Object *term; void (*donecb) (void *data); @@ -164,7 +165,7 @@ _cb_ct_options(void *data, { Controls_Ctx *ctx = data; - options_show(ctx->win, ctx->bg, ctx->term, _on_sub_done, ctx); + options_show(ctx->win, ctx->base, ctx->bg, ctx->term, _on_sub_done, ctx); controls_hide(ctx, EINA_FALSE); } @@ -176,7 +177,7 @@ _cb_ct_about(void *data, { Controls_Ctx *ctx = data; - about_show(ctx->win, ctx->bg, ctx->term, _on_sub_done, ctx); + about_show(ctx->win, ctx->base, ctx->term, _on_sub_done, ctx); controls_hide(ctx, EINA_FALSE); } @@ -267,7 +268,7 @@ controls_hide(Controls_Ctx *ctx, Eina_Bool call_cb) if (ctx->term) { evas_object_event_callback_del(ctx->term, EVAS_CALLBACK_DEL, _cb_saved_del); - edje_object_signal_emit(ctx->bg, "controls,hide", "terminology"); + edje_object_signal_emit(ctx->base, "controls,hide", "terminology"); } if (ctx->over) @@ -292,8 +293,8 @@ controls_hide(Controls_Ctx *ctx, Eina_Bool call_cb) void -controls_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, - void (*donecb) (void *data), void *donedata) +controls_show(Evas_Object *win, Evas_Object *base, Evas_Object *bg, + Evas_Object *term, void (*donecb) (void *data), void *donedata) { Evas_Object *o; Evas_Object *ct_boxh, *ct_boxv, *ct_box, *ct_box2, *ct_box3; @@ -309,6 +310,7 @@ controls_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, ctx = malloc(sizeof(*ctx)); assert(ctx); ctx->win = win; + ctx->base = base; ctx->bg = bg; ctx->term = term; ctx->donecb = donecb; @@ -406,16 +408,16 @@ controls_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, evas_object_smart_callback_add(win, "selection,off", _cb_sel_off, ctx); - edje_object_part_swallow(bg, "terminology.controls", ctx->frame); + edje_object_part_swallow(base, "terminology.controls", ctx->frame); evas_object_show(ctx->frame); ctx->over = o = evas_object_rectangle_add(evas_object_evas_get(win)); evas_object_color_set(o, 0, 0, 0, 0); - edje_object_part_swallow(bg, "terminology.dismiss", o); + edje_object_part_swallow(base, "terminology.dismiss", o); evas_object_show(o); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _cb_mouse_down, ctx); - edje_object_signal_emit(bg, "controls,show", "terminology"); + edje_object_signal_emit(base, "controls,show", "terminology"); elm_object_focus_set(ctx->frame, EINA_TRUE); evas_object_event_callback_add(ctx->win, EVAS_CALLBACK_DEL, _cb_saved_del, ctx); evas_object_event_callback_add(ctx->term, EVAS_CALLBACK_DEL, _cb_saved_del, ctx); diff --git a/src/bin/controls.h b/src/bin/controls.h index d3f029b2..7a50fc13 100644 --- a/src/bin/controls.h +++ b/src/bin/controls.h @@ -1,7 +1,8 @@ #ifndef _CONTROLS_H__ #define _CONTROLS_H__ 1 -void controls_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, +void controls_show(Evas_Object *win, Evas_Object *base, Evas_Object *bg, + Evas_Object *term, void (*donecb) (void *data), void *donedata); void controls_init(void); diff --git a/src/bin/options.c b/src/bin/options.c index 845f7e92..0d08ba7b 100644 --- a/src/bin/options.c +++ b/src/bin/options.c @@ -38,6 +38,7 @@ typedef struct _Options_Ctx { Evas_Object *opbox; Evas_Object *over; Evas_Object *win; + Evas_Object *base; Evas_Object *bg; Evas_Object *term; Config *config; @@ -60,7 +61,7 @@ _cb_op(void *data, ctx->mode = mode; - edje_object_signal_emit(ctx->bg, "optdetails,hide", "terminology"); + edje_object_signal_emit(ctx->base, "optdetails,hide", "terminology"); } static void @@ -100,7 +101,7 @@ _cb_opdt_hide_done(void *data, case OPTION_FONT: options_font(ctx->opbox, ctx->term); break; case OPTION_THEME: options_theme(ctx->opbox, ctx->term); break; case OPTION_BACKGROUND: options_background(ctx->opbox, ctx->term); break; - case OPTION_COLORS: options_colors(ctx->opbox, ctx->term); break; + case OPTION_COLORS: options_colors(ctx->opbox, ctx->term, ctx->bg); break; case OPTION_VIDEO: options_video(ctx->opbox, ctx->term); break; case OPTION_BEHAVIOR: options_behavior(ctx->opbox, ctx->term); break; case OPTION_KEYS: options_keys(ctx->opbox, ctx->term); break; @@ -108,7 +109,7 @@ _cb_opdt_hide_done(void *data, case OPTION_ELM: options_elm(ctx->opbox, ctx->term); break; case OPTIONS_MODE_NB: assert(0 && "should not occur"); } - edje_object_signal_emit(ctx->bg, "optdetails,show", "terminology"); + edje_object_signal_emit(ctx->base, "optdetails,show", "terminology"); } static void @@ -119,7 +120,7 @@ _cb_opdt_hide_done2(void *data, { Options_Ctx *ctx = data; - edje_object_signal_callback_del(ctx->bg, "optdetails,hide,done", + edje_object_signal_callback_del(ctx->base, "optdetails,hide,done", "terminology", _cb_opdt_hide_done2); ecore_timer_add(10.0, _cb_op_del_delay, ctx); @@ -128,15 +129,15 @@ _cb_opdt_hide_done2(void *data, static void options_hide(Options_Ctx *ctx) { - edje_object_part_swallow(ctx->bg, "terminology.optdetails", ctx->opbox); - edje_object_part_swallow(ctx->bg, "terminology.options", ctx->frame); - edje_object_signal_emit(ctx->bg, "optdetails,show", "terminology"); - edje_object_signal_emit(ctx->bg, "options,show", "terminology"); + edje_object_part_swallow(ctx->base, "terminology.optdetails", ctx->opbox); + edje_object_part_swallow(ctx->base, "terminology.options", ctx->frame); + edje_object_signal_emit(ctx->base, "optdetails,show", "terminology"); + edje_object_signal_emit(ctx->base, "options,show", "terminology"); - edje_object_signal_callback_del(ctx->bg, "optdetails,hide,done", + edje_object_signal_callback_del(ctx->base, "optdetails,hide,done", "terminology", _cb_opdt_hide_done); - edje_object_signal_callback_add(ctx->bg, "optdetails,hide,done", + edje_object_signal_callback_add(ctx->base, "optdetails,hide,done", "terminology", _cb_opdt_hide_done2, ctx); elm_object_focus_set(ctx->frame, EINA_FALSE); @@ -146,8 +147,8 @@ options_hide(Options_Ctx *ctx) evas_object_del(ctx->over); ctx->over = NULL; - edje_object_signal_emit(ctx->bg, "options,hide", "terminology"); - edje_object_signal_emit(ctx->bg, "optdetails,hide", "terminology"); + edje_object_signal_emit(ctx->base, "options,hide", "terminology"); + edje_object_signal_emit(ctx->base, "optdetails,hide", "terminology"); if (ctx->donecb) ctx->donecb(ctx->donedata); @@ -166,7 +167,7 @@ _cb_mouse_down(void *data, void -options_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, +options_show(Evas_Object *win, Evas_Object *base, Evas_Object *bg, Evas_Object *term, void (*donecb) (void *data), void *donedata) { Evas_Object *o, *op_box, *op_tbox; @@ -182,6 +183,7 @@ options_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, assert(ctx); ctx->mode = OPTION_NONE; ctx->win = win; + ctx->base = base; ctx->bg = bg; ctx->term = term; ctx->donecb = donecb; @@ -194,7 +196,7 @@ options_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, ctx->opbox = o = elm_box_add(win); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL); - edje_object_part_swallow(ctx->bg, "terminology.optdetails", o); + edje_object_part_swallow(ctx->base, "terminology.optdetails", o); evas_object_show(o); ctx->frame = o = elm_frame_add(win); @@ -254,19 +256,19 @@ options_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, evas_object_show(o); evas_object_smart_callback_add(o, "changed", _cb_op_tmp_chg, ctx); - edje_object_part_swallow(bg, "terminology.options", ctx->frame); + edje_object_part_swallow(base, "terminology.options", ctx->frame); evas_object_show(ctx->frame); - edje_object_signal_callback_add(ctx->bg, "optdetails,hide,done", + edje_object_signal_callback_add(ctx->base, "optdetails,hide,done", "terminology", _cb_opdt_hide_done, ctx); ctx->over = o = evas_object_rectangle_add(evas_object_evas_get(win)); evas_object_color_set(o, 0, 0, 0, 0); - edje_object_part_swallow(ctx->bg, "terminology.dismiss", o); + edje_object_part_swallow(ctx->base, "terminology.dismiss", o); evas_object_show(o); evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _cb_mouse_down, ctx); - edje_object_signal_emit(ctx->bg, "options,show", "terminology"); + edje_object_signal_emit(ctx->base, "options,show", "terminology"); elm_object_focus_set(ctx->toolbar, EINA_TRUE); } diff --git a/src/bin/options.h b/src/bin/options.h index e02a039e..12aa8413 100644 --- a/src/bin/options.h +++ b/src/bin/options.h @@ -1,7 +1,8 @@ #ifndef _TERMINOLOGY_OPTIONS_H__ #define _TERMINOLOGY_OPTIONS_H__ 1 -void options_show(Evas_Object *win, Evas_Object *bg, Evas_Object *term, - void (*donecb) (void *data), void *donedata); +void options_show(Evas_Object *win, Evas_Object *base, Evas_Object *bg, + Evas_Object *term, + void (*donecb) (void *data), void *donedata); #endif diff --git a/src/bin/options_colors.c b/src/bin/options_colors.c index f600f8e0..092ebbc1 100644 --- a/src/bin/options_colors.c +++ b/src/bin/options_colors.c @@ -189,7 +189,7 @@ _parent_del_cb(void *data, } void -options_colors(Evas_Object *opbox, Evas_Object *term) +options_colors(Evas_Object *opbox, Evas_Object *term, Evas_Object *bg) { Config *config = termio_config_get(term); Evas_Object *o, *fr, *bx, *sc, *bx2, *bx3, *bx4; @@ -202,6 +202,7 @@ options_colors(Evas_Object *opbox, Evas_Object *term) ctx->config = config; ctx->term = term; + ctx->bg = bg; fr = o = elm_frame_add(opbox); evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); diff --git a/src/bin/options_colors.h b/src/bin/options_colors.h index 0512d989..d335439c 100644 --- a/src/bin/options_colors.h +++ b/src/bin/options_colors.h @@ -1,6 +1,6 @@ #ifndef _OPTIONS_COLORS_H__ #define _OPTIONS_COLORS_H__ 1 -void options_colors(Evas_Object *opbox, Evas_Object *term); +void options_colors(Evas_Object *opbox, Evas_Object *term, Evas_Object *bg); #endif diff --git a/src/bin/win.c b/src/bin/win.c index 67763616..38b84bd8 100644 --- a/src/bin/win.c +++ b/src/bin/win.c @@ -5009,7 +5009,7 @@ _cb_options(void *data, { Term *term = data; - controls_show(term->wn->win, term->wn->base, term->termio, + controls_show(term->wn->win, term->wn->base, term->bg, term->termio, _cb_options_done, term->wn); }