forked from enlightenment/edi
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.
This commit is contained in:
parent
1c00bdb17f
commit
179acb1918
|
@ -394,47 +394,6 @@ _promote(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
edi_filepanel_select_path(item->path);
|
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
|
static void
|
||||||
_closetab(void *data, Evas_Object *obj EINA_UNUSED,
|
_closetab(void *data, Evas_Object *obj EINA_UNUSED,
|
||||||
const char *emission EINA_UNUSED, const char *source 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_Mainview_Item *item;
|
||||||
Edi_Editor *editor;
|
Edi_Editor *editor;
|
||||||
Elm_Code *code;
|
Elm_Code *code;
|
||||||
|
const char *path;
|
||||||
|
|
||||||
if (!panel) return;
|
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);
|
evas_object_size_hint_align_set(tab, 0.0, EVAS_HINT_FILL);
|
||||||
elm_object_focus_allow_set(tab, EINA_FALSE);
|
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_layout_theme_set(tab, "multibuttonentry", "btn", "default");
|
||||||
elm_object_part_text_set(tab, "elm.btn.text", ecore_file_file_get(options->path));
|
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, "mouse,clicked,1", "*", _promote, item);
|
||||||
elm_layout_signal_callback_add(tab, "elm,deleted", "elm", _closetab, 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);
|
elm_box_pack_end(panel->tabs, tab);
|
||||||
evas_object_show(tab);
|
evas_object_show(tab);
|
||||||
|
|
Loading…
Reference in New Issue