rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=a6669b088479eee03c37473ead5123c5d6446c3c
commit a6669b088479eee03c37473ead5123c5d6446c3c Author: Vitalii Vorobiov <vi.vorob...@samsung.com> Date: Thu Apr 28 18:25:12 2016 +0300 tab_home_open: disable Open when .pro file is not selected Fixes T3567 --- src/bin/ui/tab_home_open.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/bin/ui/tab_home_open.c b/src/bin/ui/tab_home_open.c index 400b85c..e10e2d1 100644 --- a/src/bin/ui/tab_home_open.c +++ b/src/bin/ui/tab_home_open.c @@ -99,6 +99,28 @@ _open(void *data __UNUSED__, } static void +_selected(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info) +{ + const char *selected = event_info; + char *p = strrchr(selected, '.'); + + if ((!p) && (strcmp(p, "pro"))) + elm_object_disabled_set(elm_layout_content_get(tab.fs, "elm.swallow.ok"), true); + else + elm_object_disabled_set(elm_layout_content_get(tab.fs, "elm.swallow.ok"), false); +} +/* because selected doesn't work with folders */ +static void +_unselected(void *data __UNUSED__, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + elm_object_disabled_set(elm_layout_content_get(tab.fs, "elm.swallow.ok"), true); +} + +static void _recent_clear(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) @@ -133,12 +155,17 @@ _tab_open_project_add(void) elm_fileselector_path_set(tab.fs, profile_get()->general.projects_folder); elm_fileselector_custom_filter_append(tab.fs, _eflete_filter, NULL, "Eflete Files"); evas_object_smart_callback_add(tab.fs, "done", _open, NULL); + evas_object_smart_callback_add(tab.fs, "selected", _selected, NULL); + /* small hack for disabling 'Open' button when .pro is not selected */ + evas_object_smart_callback_add(elm_layout_content_get(tab.fs, "elm.swallow.files"), + "unselected", _unselected, NULL); evas_object_smart_callback_add(tab.fs, "activated", _open, NULL); /* small hack, hide not necessary button */ evas_object_hide(elm_layout_content_unset(tab.fs, "elm.swallow.filters")); evas_object_hide(elm_layout_content_unset(tab.fs, "elm.swallow.cancel")); /* one more hack, set text our text to button 'ok' */ elm_object_text_set(elm_layout_content_get(tab.fs, "elm.swallow.ok"), _("Open")); + elm_object_disabled_set(elm_layout_content_get(tab.fs, "elm.swallow.ok"), true); elm_layout_content_set(tab.layout, "elm.swallow.fileselector", tab.fs); --