}
static void
+my_fileselector_activated(void *data EINA_UNUSED,
+ Evas_Object *obj EINA_UNUSED,
+ void *event_info)
+{
+ printf("Activated file: %s\n", (char *)event_info);
+}
+
+static void
_is_save_clicked(void *data,
Evas_Object *obj EINA_UNUSED,
void *event_info EINA_UNUSED)
win);
evas_object_smart_callback_add(fs, "selected,invalid",
my_fileselector_invalid, win);
+ evas_object_smart_callback_add(fs, "activated", my_fileselector_activated,
+ win);
/* test buttons */
sep = elm_separator_add(win);
* - user defined icon/label cb
* - show/hide/add buttons ???
* - show/hide hidden files
- * - double click to choose a file
* - multi-selection
* - make variable/function names that are sensible
* - Pattern Filter support
static Elm_Gengrid_Item_Class *grid_itc[ELM_FILE_LAST];
#define ELM_PRIV_FILESELECTOR_SIGNALS(cmd) \
+ cmd(SIG_ACTIVATED, "activated", "s") \
cmd(SIG_DIRECTORY_OPEN, "directory,open", "s") \
cmd(SIG_DONE, "done", "s") \
cmd(SIG_SELECTED, "selected", "s") \
}
static void
+_on_item_activated(void *data,
+ Evas_Object *obj __UNUSED__,
+ void *event_info)
+{
+ //This event_info could be a list or gengrid item
+ Elm_Object_Item *it = event_info;
+ const char *path;
+ Eina_Bool is_dir;
+
+ path = elm_object_item_data_get(it);
+ if (!path) return;
+
+ is_dir = ecore_file_is_dir(path);
+ if (is_dir) return;
+
+ evas_object_smart_callback_call(data, SIG_ACTIVATED, (void *)path);
+}
+
+static void
_on_item_selected(void *data,
Evas_Object *obj __UNUSED__,
void *event_info)
evas_object_smart_callback_add(li, "selected", _on_item_selected, obj);
evas_object_smart_callback_add(li, "clicked,double", _on_item_double_clicked, obj);
+ evas_object_smart_callback_add(li, "activated", _on_item_activated, obj);
evas_object_smart_callback_add
(li, "expand,request", _on_list_expand_req, obj);
evas_object_smart_callback_add
evas_object_smart_callback_add(li, "contracted", _on_list_contracted, obj);
evas_object_smart_callback_add(grid, "selected", _on_item_selected, obj);
evas_object_smart_callback_add(grid, "clicked,double", _on_item_double_clicked, obj);
+ evas_object_smart_callback_add(grid, "activated", _on_item_activated, obj);
elm_widget_sub_object_add(obj, li);
elm_widget_sub_object_add(obj, grid);