From 179acb1918d09a7d0caf90e806b1cea46b4da76f Mon Sep 17 00:00:00 2001 From: Alastair Poole Date: Fri, 3 Aug 2018 11:05:55 +0100 Subject: [PATCH] mainview: show path in tooltip when hovering tab. Previously I implemented this with a "menu". This wasn't very clever. Changing so we use a tooltip as it's much cleaner and less cruft code. --- src/bin/mainview/edi_mainview_panel.c | 52 +++++---------------------- 1 file changed, 9 insertions(+), 43 deletions(-) diff --git a/src/bin/mainview/edi_mainview_panel.c b/src/bin/mainview/edi_mainview_panel.c index 152ae0b..0c0de19 100644 --- a/src/bin/mainview/edi_mainview_panel.c +++ b/src/bin/mainview/edi_mainview_panel.c @@ -394,47 +394,6 @@ _promote(void *data, Evas_Object *obj EINA_UNUSED, edi_filepanel_select_path(item->path); } -static void -_tab_info_menu_dismissed_cb(void *data EINA_UNUSED, Evas_Object *obj, - void *ev EINA_UNUSED) -{ - evas_object_del(obj); -} - -static void -_tab_info_menu_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, - void *event_info) - -{ - Evas_Event_Mouse_Down *ev; - Elm_Object_Item *menu_it; - Edi_Mainview_Item *item; - Evas_Object *menu; - const char *path; - - ev = event_info; - - /* right-click for tab information */ - if (ev->button != 3) - return; - - item = data; - - path = strstr(item->path, edi_project_get()); - if (path) - path += 1 + strlen(edi_project_get()); - else - path = item->path; - - menu = elm_menu_add(_main_win); - evas_object_smart_callback_add(menu, "dismissed", _tab_info_menu_dismissed_cb, NULL); - menu_it = elm_menu_item_add(menu, NULL, "document-properties", path, NULL, NULL); - - elm_menu_move(menu, ev->canvas.x, ev->canvas.y); - - evas_object_show(menu); -} - static void _closetab(void *data, Evas_Object *obj EINA_UNUSED, const char *emission EINA_UNUSED, const char *source EINA_UNUSED) @@ -514,6 +473,7 @@ _edi_mainview_panel_item_tab_add(Edi_Mainview_Panel *panel, Edi_Path_Options *op Edi_Mainview_Item *item; Edi_Editor *editor; Elm_Code *code; + const char *path; if (!panel) return; @@ -536,6 +496,14 @@ _edi_mainview_panel_item_tab_add(Edi_Mainview_Panel *panel, Edi_Path_Options *op evas_object_size_hint_align_set(tab, 0.0, EVAS_HINT_FILL); elm_object_focus_allow_set(tab, EINA_FALSE); + path = strstr(item->path, edi_project_get()); + if (path) + path += 1 + strlen(edi_project_get()); + else + path = item->path; + + elm_object_tooltip_text_set(tab, path); + elm_layout_theme_set(tab, "multibuttonentry", "btn", "default"); elm_object_part_text_set(tab, "elm.btn.text", ecore_file_file_get(options->path)); /* @@ -545,8 +513,6 @@ _edi_mainview_panel_item_tab_add(Edi_Mainview_Panel *panel, Edi_Path_Options *op */ elm_layout_signal_callback_add(tab, "mouse,clicked,1", "*", _promote, item); elm_layout_signal_callback_add(tab, "elm,deleted", "elm", _closetab, item); - evas_object_event_callback_add(tab, EVAS_CALLBACK_MOUSE_DOWN, _tab_info_menu_cb, item); - elm_box_pack_end(panel->tabs, tab); evas_object_show(tab);