options work agai - less purty. i need to adapt options now to

grid/pane-term. - they should be an overkay over all terms, not done
inside per-term theme. split needed.



SVN revision: 83124
This commit is contained in:
Carsten Haitzler 2013-01-23 05:53:18 +00:00
parent f32da4a10e
commit 097bf1a09d
3 changed files with 26 additions and 16 deletions

View File

@ -13,8 +13,7 @@ static Eina_Bool ct_out = EINA_FALSE;
static Ecore_Timer *ct_del_timer = NULL;
static Evas_Object *saved_win = NULL;
static Evas_Object *saved_bg = NULL;
static Evas_Object *ct_win, *ct_bg, *ct_term;
static Evas_Object *ct_win = NULL, *ct_bg = NULL, *ct_term = NULL;
static Eina_Bool
_cb_ct_del_delay(void *data __UNUSED__)
@ -80,7 +79,8 @@ _cb_ct_about(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event __U
static void
_cb_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *ev __UNUSED__)
{
controls_toggle(saved_win, saved_bg, data);
controls_toggle(ct_win, ct_bg, ct_term);
options_toggle(ct_win, ct_bg, ct_term);
}
static void
@ -240,6 +240,8 @@ controls_toggle(Evas_Object *win, Evas_Object *bg, Evas_Object *term)
ct_win = win;
ct_bg = bg;
ct_term = term;
saved_win = win;
saved_bg = bg;
edje_object_signal_emit(bg, "controls,show", "terminology");
ct_out = EINA_TRUE;
elm_object_focus_set(ct_frame, EINA_TRUE);
@ -262,9 +264,9 @@ controls_toggle(Evas_Object *win, Evas_Object *bg, Evas_Object *term)
elm_object_focus_set(ct_term, EINA_TRUE);
if (ct_del_timer) ecore_timer_del(ct_del_timer);
ct_del_timer = ecore_timer_add(10.0, _cb_ct_del_delay, NULL);
ct_term = NULL;
ct_bg = NULL;
ct_win = NULL;
// ct_term = NULL;
// ct_bg = NULL;
// ct_win = NULL;
}
if (saved_win)
{
@ -274,8 +276,6 @@ controls_toggle(Evas_Object *win, Evas_Object *bg, Evas_Object *term)
}
if (ct_out)
{
saved_win = win;
saved_bg = bg;
evas_object_event_callback_add(saved_win, EVAS_CALLBACK_DEL, _cb_saved_del, NULL);
evas_object_event_callback_add(saved_bg, EVAS_CALLBACK_DEL, _cb_saved_del, NULL);
evas_object_event_callback_add(ct_term, EVAS_CALLBACK_DEL, _cb_saved_del, NULL);
@ -284,8 +284,8 @@ controls_toggle(Evas_Object *win, Evas_Object *bg, Evas_Object *term)
{
saved_win = NULL;
saved_bg = NULL;
ct_term = NULL;
ct_bg = NULL;
ct_win = NULL;
// ct_term = NULL;
// ct_bg = NULL;
// ct_win = NULL;
}
}

View File

@ -642,9 +642,9 @@ _cb_bell(void *data, Evas_Object *obj __UNUSED__, void *event __UNUSED__)
Term *term = data;
Config *config = termio_config_get(term->term);
if (!config) return;
if (!config->disable_visual_bell)
edje_object_signal_emit(term->bg, "bell", "terminology");
if (!config) return;
if (config->urg_bell)
{
if (!term->wn->focused) elm_win_urgent_set(term->wn->win, EINA_TRUE);
@ -1006,6 +1006,7 @@ main_media_update(const Config *config)
EINA_LIST_FOREACH(wn->terms, ll, term)
{
if (term->config != config) continue;
if (!config) continue;
if ((config->background) && (config->background[0]))
{
Evas_Object *o;
@ -1205,6 +1206,8 @@ main_term_new(Win *wn, Config *config, const char *cmd,
term = calloc(1, sizeof(Term));
if (!term) return NULL;
if (!config) abort();
term->wn = wn;
term->hold = hold;
term->config = config;

View File

@ -127,14 +127,16 @@ options_toggle(Evas_Object *win, Evas_Object *bg, Evas_Object *term)
{
Evas_Object *o;
saved_win = win;
saved_bg = bg;
mode = -1;
if (!op_frame)
{
Elm_Object_Item *it_fn;
Config *config = termio_config_get(term);
if (!config) return;
saved_win = win;
saved_bg = bg;
op_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);
@ -195,7 +197,12 @@ options_toggle(Evas_Object *win, Evas_Object *bg, Evas_Object *term)
evas_object_show(op_frame);
}
else if ((op_opbox) && (!op_out))
edje_object_signal_emit(bg, "optdetails,show", "terminology");
{
edje_object_part_swallow(bg, "terminology.optdetails", op_opbox);
edje_object_part_swallow(bg, "terminology.options", op_frame);
edje_object_signal_emit(bg, "optdetails,show", "terminology");
edje_object_signal_emit(bg, "options,show", "terminology");
}
if (!op_out)
{