forked from enlightenment/edi
panels: Track focus of editors when we're changing panel
This commit is contained in:
parent
5cc9033fb2
commit
804d14cef3
|
@ -961,6 +961,18 @@ _edi_clang_dispose(void *data, Ecore_Thread *thread EINA_UNUSED)
|
|||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
_focused_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Edi_Mainview_Panel *panel;
|
||||
Edi_Mainview_Item *item;
|
||||
|
||||
item = (Edi_Mainview_Item *)data;
|
||||
panel = edi_mainview_panel_for_item_get(item);
|
||||
|
||||
edi_mainview_panel_focus(panel);
|
||||
}
|
||||
|
||||
static void
|
||||
_unfocused_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
|
@ -1115,6 +1127,7 @@ edi_editor_add(Evas_Object *parent, Edi_Mainview_Item *item)
|
|||
_smart_cb_key_down, editor);
|
||||
evas_object_smart_callback_add(widget, "changed,user", _changed_cb, editor);
|
||||
evas_object_event_callback_add(widget, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, editor);
|
||||
evas_object_smart_callback_add(widget, "focused", _focused_cb, item);
|
||||
evas_object_smart_callback_add(widget, "unfocused", _unfocused_cb, editor);
|
||||
|
||||
elm_code_parser_standard_add(code, ELM_CODE_PARSER_STANDARD_TODO);
|
||||
|
|
|
@ -245,6 +245,7 @@ edi_mainview_panel_item_select(Edi_Mainview_Panel *panel, Edi_Mainview_Item *ite
|
|||
_edi_project_config_save_no_notify();
|
||||
}
|
||||
|
||||
edi_mainview_panel_focus(panel);
|
||||
ecore_event_add(EDI_EVENT_TAB_CHANGED, NULL, NULL, NULL);
|
||||
}
|
||||
|
||||
|
@ -255,7 +256,6 @@ _promote(void *data, Evas_Object *obj EINA_UNUSED,
|
|||
Edi_Mainview_Panel *panel;
|
||||
|
||||
panel = edi_mainview_panel_for_item_get((Edi_Mainview_Item *)data);
|
||||
edi_mainview_panel_focus(panel);
|
||||
edi_mainview_panel_item_select(panel, (Edi_Mainview_Item *)data);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue