diff --git a/legacy/elementary/ChangeLog b/legacy/elementary/ChangeLog index 85e5619c02..83546a2307 100644 --- a/legacy/elementary/ChangeLog +++ b/legacy/elementary/ChangeLog @@ -44,3 +44,6 @@ * Added focus key event handling for the colorselector +2012-05-13 Dave Andreoli + * Fileselector: honor folder_only when using EIO + diff --git a/legacy/elementary/NEWS b/legacy/elementary/NEWS index 9cb321c6e6..b6e6ea1dd0 100644 --- a/legacy/elementary/NEWS +++ b/legacy/elementary/NEWS @@ -13,6 +13,7 @@ Fixes: * Genlist : Fixed genlist expandable effect bug when we expand/contract items with many children very quickly. * Genlist : Realize move items during tree effect only when the item is not in the queue. * Add missing files in the tarball. + * Fileselector : honor the folder_only option when using EIO Improvements: diff --git a/legacy/elementary/src/bin/test_fileselector.c b/legacy/elementary/src/bin/test_fileselector.c index 0b2ce2190c..143642d6e0 100644 --- a/legacy/elementary/src/bin/test_fileselector.c +++ b/legacy/elementary/src/bin/test_fileselector.c @@ -82,6 +82,19 @@ _expandable_clicked(void *data, elm_fileselector_expandable_set(fs, EINA_TRUE); } +static void +_buttons_clicked(void *data, + Evas_Object *obj __UNUSED__, + void *event_info __UNUSED__) +{ + Evas_Object *fs = data; + printf("Toggle Buttons\n"); + if (elm_fileselector_buttons_ok_cancel_get(fs)) + elm_fileselector_buttons_ok_cancel_set(fs, EINA_FALSE); + else + elm_fileselector_buttons_ok_cancel_set(fs, EINA_TRUE); +} + static void _sel_get_clicked(void *data, Evas_Object *obj __UNUSED__, @@ -188,6 +201,13 @@ test_fileselector(void *data __UNUSED__, elm_box_pack_end(hbox, bt); evas_object_show(bt); + bt = elm_check_add(win); + elm_object_text_set(bt, "buttons"); + elm_check_state_set(bt, elm_fileselector_buttons_ok_cancel_get(fs)); + evas_object_smart_callback_add(bt, "changed", _buttons_clicked, fs); + elm_box_pack_end(hbox, bt); + evas_object_show(bt); + hbox = elm_box_add(win); elm_box_horizontal_set(hbox, EINA_TRUE); elm_box_pack_end(vbox, hbox); diff --git a/legacy/elementary/src/lib/elc_fileselector.c b/legacy/elementary/src/lib/elc_fileselector.c index f636eb758d..f546afcf86 100644 --- a/legacy/elementary/src/lib/elc_fileselector.c +++ b/legacy/elementary/src/lib/elc_fileselector.c @@ -336,15 +336,19 @@ _anchors_do(Evas_Object *obj, #ifdef HAVE_EIO static Eina_Bool -_ls_filter_cb(void *data __UNUSED__, +_ls_filter_cb(void *data, Eio_File *handler, const Eina_File_Direct_Info *info) { + Listing_Request *lreq = data; const char *filename; if (info->path[info->name_start] == '.') return EINA_FALSE; + if (lreq->sd->only_folder && info->type != EINA_FILE_DIR) + return EINA_FALSE; + filename = eina_stringshare_add(info->path); eio_file_associate_direct_add (handler, "filename", filename, EINA_FREE_CB(eina_stringshare_del));