ajwillia-ms pushed a commit to branch master.

http://git.enlightenment.org/tools/edi.git/commit/?id=bbf388deae9b7f22ab497bf3a29a8fe557bc0833

commit bbf388deae9b7f22ab497bf3a29a8fe557bc0833
Author: Andy Williams <a...@andywilliams.me>
Date:   Sun Sep 11 16:50:53 2016 +0100

    ui: use the style from multibuttonentry for tabs
    
    Icons not here temporarily...
---
 src/bin/mainview/edi_mainview.c | 59 +++++++++++++++++++++++++----------------
 1 file changed, 36 insertions(+), 23 deletions(-)

diff --git a/src/bin/mainview/edi_mainview.c b/src/bin/mainview/edi_mainview.c
index b7824d9..d081c60 100644
--- a/src/bin/mainview/edi_mainview.c
+++ b/src/bin/mainview/edi_mainview.c
@@ -126,11 +126,39 @@ edi_mainview_item_select(Edi_Mainview_Item *item)
 }
 
 static void
-_promote(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
+_edi_mainview_item_close(Edi_Mainview_Item *item)
+{
+   if (!item)
+     return;
+
+   edi_mainview_item_prev();
+   evas_object_del(item->view);
+   elm_box_unpack(tb, item->tab);
+   evas_object_del(item->tab);
+   _edi_mainview_items = eina_list_remove(_edi_mainview_items, item);
+
+   _edi_project_config_tab_remove(item->path);
+   eina_stringshare_del(item->path);
+   free(item);
+
+   if (eina_list_count(_edi_mainview_items) == 0)
+     _edi_mainview_view_show(_welcome_panel);
+}
+
+static void
+_promote(void *data, Evas_Object *obj EINA_UNUSED,
+         const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
 {
    _edi_mainview_view_show(data);
 }
 
+static void
+_closetab(void *data, Evas_Object *obj EINA_UNUSED,
+          const char *emission EINA_UNUSED, const char *source EINA_UNUSED)
+{
+   _edi_mainview_item_close(data);
+}
+
 static Edi_Mainview_Item *
 _get_item_for_path(const char *path)
 {
@@ -182,7 +210,7 @@ _edi_mainview_item_tab_add(Edi_Path_Options *options, const 
char *mime)
    Evas_Object *content, *tab, *icon;
    Edi_Mainview_Item *item;
    Edi_Editor *editor;
-   Edi_Content_Provider *provider;
+//   Edi_Content_Provider *provider;
 
    item = _edi_mainview_item_add(options, mime, NULL, NULL, NULL);
    provider = edi_content_provider_for_id_get(item->editortype);
@@ -195,11 +223,15 @@ _edi_mainview_item_tab_add(Edi_Path_Options *options, 
const char *mime)
    evas_object_size_hint_weight_set(tab, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(tab, 0.0, EVAS_HINT_FILL);
 
-   elm_object_text_set(tab, basename((char*)options->path));
+   elm_layout_theme_set(tab, "multibuttonentry", "btn", "default");
+   elm_object_part_text_set(tab, "elm.btn.text", 
basename((char*)options->path));
+/*
    icon = elm_icon_add(tab);
    elm_icon_standard_set(icon, provider->icon);
    elm_object_part_content_set(tab, "icon", icon);
-   evas_object_smart_callback_add(tab, "clicked", _promote, content);
+*/
+   elm_layout_signal_callback_add(tab, "mouse,clicked,1", "*", _promote, 
content);
+   elm_layout_signal_callback_add(tab, "elm,deleted", "elm", _closetab, item);
 
    elm_box_pack_end(tb, tab);
    evas_object_show(tab);
@@ -310,25 +342,6 @@ _edi_mainview_choose_type_close_cb(void *data EINA_UNUSED,
 }
 
 static void
-_edi_mainview_item_close(Edi_Mainview_Item *item)
-{
-   if (!item)
-     return;
-
-   edi_mainview_item_prev();
-   evas_object_del(item->view);
-   evas_object_del(item->tab);
-   _edi_mainview_items = eina_list_remove(_edi_mainview_items, item);
-
-   _edi_project_config_tab_remove(item->path);
-   eina_stringshare_del(item->path);
-   free(item);
-
-   if (eina_list_count(_edi_mainview_items) == 0)
-     _edi_mainview_view_show(_welcome_panel);
-}
-
-static void
 _edi_mainview_filetype_create(Evas_Object *popup, const char *type, void *cb)
 {
    Edi_Content_Provider *provider;

-- 


Reply via email to