Functions
File Selector

Functions

Evas_Object * elm_fileselector_add (Evas_Object *parent)
 Add a new file selector widget to the given parent Elementary (container) object. More...
 
void elm_fileselector_is_save_set (Evas_Object *obj, Eina_Bool is_save)
 Enable/disable the file name entry box where the user can type in a name for a file, in a given file selector widget. More...
 
Eina_Bool elm_fileselector_is_save_get (const Evas_Object *obj)
 Get whether the given file selector is in "saving dialog" mode. More...
 
void elm_fileselector_folder_only_set (Evas_Object *obj, Eina_Bool only)
 Enable/disable folder-only view for a given file selector widget. More...
 
Eina_Bool elm_fileselector_folder_only_get (const Evas_Object *obj)
 Get whether folder-only view is set for a given file selector widget. More...
 
void elm_fileselector_buttons_ok_cancel_set (Evas_Object *obj, Eina_Bool buttons)
 Enable/disable the "ok" and "cancel" buttons on a given file selector widget. More...
 
Eina_Bool elm_fileselector_buttons_ok_cancel_get (const Evas_Object *obj)
 Get whether the "ok" and "cancel" buttons on a given file selector widget are being shown. More...
 
void elm_fileselector_expandable_set (Evas_Object *obj, Eina_Bool expand)
 Enable/disable a tree view in the given file selector widget, if it's in #ELM_FILESELECTOR_LIST mode More...
 
Eina_Bool elm_fileselector_expandable_get (const Evas_Object *obj)
 Get whether tree view is enabled for the given file selector widget. More...
 
void elm_fileselector_path_set (Evas_Object *obj, const char *path)
 Set, programmatically, the directory that a given file selector widget will display contents from. More...
 
const char * elm_fileselector_path_get (const Evas_Object *obj)
 Get the parent directory's path that a given file selector widget is displaying. More...
 
void elm_fileselector_mode_set (Evas_Object *obj, Elm_Fileselector_Mode mode)
 Set the mode in which a given file selector widget will display (layout) file system entries in its view. More...
 
Elm_Fileselector_Mode elm_fileselector_mode_get (const Evas_Object *obj)
 Get the mode in which a given file selector widget is displaying (layouting) file system entries in its view. More...
 
void elm_fileselector_multi_select_set (Evas_Object *obj, Eina_Bool multi)
 Enable or disable multi-selection in the file selector widget. More...
 
Eina_Bool elm_fileselector_multi_select_get (const Evas_Object *obj)
 Get if multi-selection in the file selector is enabled or disabled. More...
 
Eina_Bool elm_fileselector_selected_set (Evas_Object *obj, const char *path)
 Set, programmatically, the currently selected file/directory in the given file selector widget. More...
 
const char * elm_fileselector_selected_get (const Evas_Object *obj)
 Get the currently selected item's (full) path, in the given file selector widget. More...
 
const Eina_List * elm_fileselector_selected_paths_get (const Evas_Object *obj)
 Get a list of selected paths in the file selector. More...
 
Eina_Bool elm_fileselector_mime_types_filter_append (Evas_Object *obj, const char *mime_types, const char *filter_name)
 Append mime types filter into filter list. More...
 
Eina_Bool elm_fileselector_custom_filter_append (Evas_Object *obj, Elm_Fileselector_Filter_Func func, void *data, const char *filter_name)
 Append custom filter into filter list. More...
 
void elm_fileselector_filters_clear (Evas_Object *obj)
 Clear all filters registered. More...
 
void elm_fileselector_hidden_visible_set (Evas_Object *obj, Eina_Bool visible)
 Enable or disable visibility of hidden files/directories in the file selector widget. More...
 
Eina_Bool elm_fileselector_hidden_visible_get (const Evas_Object *obj)
 Get if hiden files/directories in the file selector widget are visible or not. More...
 
void elm_fileselector_thumbnail_size_set (Evas_Object *obj, Evas_Coord w, Evas_Coord h)
 Set the size for the thumbnail of the file selector widget's view. More...
 
void elm_fileselector_thumbnail_size_get (const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)
 Get the size for the thumbnail of a given file selector widget. More...
 
Elm_Fileselector_Sort elm_fileselector_sort_method_get (const Evas_Object *obj)
 Get the sort method of the file selector widget. More...
 
void elm_fileselector_sort_method_set (Evas_Object *obj, Elm_Fileselector_Sort method)
 Set the sort method of the file selector widget. More...
 
#define elm_obj_fileselector_buttons_ok_cancel_set(visible)   ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_SET), EO_TYPECHECK(Eina_Bool, visible)
 
#define elm_obj_fileselector_buttons_ok_cancel_get(ret)   ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_GET), EO_TYPECHECK(Eina_Bool *, ret)
 

Detailed Description

fileselector_inheritance_tree.png
preview-00.png

A file selector is a widget that allows a user to navigate through a file system, reporting file selections back via its API.

It contains shortcut buttons for home directory (~) and to jump one directory upwards (..), as well as cancel/ok buttons to confirm/cancel a given selection. After either one of those two former actions, the file selector will issue its "done" smart callback.

There's a text entry on it, too, showing the name of the current selection. There's the possibility of making it editable, so it is useful on file saving dialogs on applications, where one gives a file name to save contents to, in a given directory in the system. This custom file name will be reported on the "done" smart callback (explained in sequence).

Finally, it has a view to display file system items into in two possible forms:

If Elementary is built with support of the Ethumb thumbnailing library, the second form of view will display preview thumbnails of files which it supports.

This widget inherits from the Layout one, so that all the functions acting on it also work for file selector objects.

This widget emits the following signals, besides the ones sent from Layout:

For text, elm_layout_text_set() will work here on:

Macro Definition Documentation

#define elm_obj_fileselector_buttons_ok_cancel_get (   ret)    ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_GET), EO_TYPECHECK(Eina_Bool *, ret)
Since
1.8

Get whether the "ok" and "cancel" buttons on a given file

Parameters
[out]ret
See Also
elm_fileselector_buttons_ok_cancel_get

Referenced by elm_fileselector_buttons_ok_cancel_get().

#define elm_obj_fileselector_buttons_ok_cancel_set (   visible)    ELM_OBJ_FILESELECTOR_ID(ELM_OBJ_FILESELECTOR_SUB_ID_BUTTONS_OK_CANCEL_SET), EO_TYPECHECK(Eina_Bool, visible)
Since
1.8

Enable/disable the "ok" and "cancel" buttons on a given file

Parameters
[in]visible
See Also
elm_fileselector_buttons_ok_cancel_set

Referenced by elm_fileselector_buttons_ok_cancel_set().

Function Documentation

Evas_Object* elm_fileselector_add ( Evas_Object *  parent)

Add a new file selector widget to the given parent Elementary (container) object.

Parameters
parentThe parent object
Returns
a new file selector widget handle or NULL, on errors

This function inserts a new file selector widget on the canvas.

Eina_Bool elm_fileselector_buttons_ok_cancel_get ( const Evas_Object *  obj)

Get whether the "ok" and "cancel" buttons on a given file selector widget are being shown.

Parameters
objThe file selector object
Returns
EINA_TRUE if they are being shown, EINA_FALSE otherwise (and on errors)
See Also
elm_fileselector_buttons_ok_cancel_set() for more details

References elm_obj_fileselector_buttons_ok_cancel_get.

void elm_fileselector_buttons_ok_cancel_set ( Evas_Object *  obj,
Eina_Bool  buttons 
)

Enable/disable the "ok" and "cancel" buttons on a given file selector widget.

Parameters
objThe file selector object
buttonsEINA_TRUE to show buttons, EINA_FALSE to hide.
Note
A file selector without those buttons will never emit the "done" smart event, and is only usable if one is just hooking to the other two events.
See Also
elm_fileselector_buttons_ok_cancel_get()

References elm_obj_fileselector_buttons_ok_cancel_set.

Eina_Bool elm_fileselector_custom_filter_append ( Evas_Object *  obj,
Elm_Fileselector_Filter_Func  func,
void *  data,
const char *  filter_name 
)

Append custom filter into filter list.

Parameters
objThe file selector object
funcThe function to call when manipulating files and directories.
dataThe data to be passed to this func call.
filter_nameThe name to be displayed, "custom" will be displayed if NULL
Returns
EINA_TRUE on success, EINA_FALSE on failure.
Note
first added filter will be the default filter at the moment.
Since
1.9
Eina_Bool elm_fileselector_expandable_get ( const Evas_Object *  obj)

Get whether tree view is enabled for the given file selector widget.

Parameters
objThe file selector object
Returns
EINA_TRUE if obj is in tree view, EINA_FALSE otherwise (and or errors)
See Also
elm_fileselector_expandable_set() for more details
void elm_fileselector_expandable_set ( Evas_Object *  obj,
Eina_Bool  expand 
)

Enable/disable a tree view in the given file selector widget, if it's in #ELM_FILESELECTOR_LIST mode

Parameters
objThe file selector object
expandEINA_TRUE to enable tree view, EINA_FALSE to disable

In a tree view, arrows are created on the sides of directories, allowing them to expand in place.

Note
If it's in other mode, the changes made by this function will only be visible when one switches back to "list" mode.
See Also
elm_fileselector_expandable_get()
void elm_fileselector_filters_clear ( Evas_Object *  obj)

Clear all filters registered.

Parameters
objThe file selector object
Note
If filter list is empty, file selector assume that all files are matched.
See Also
elm_fileselector_mime_type_filter_append()
Since
1.8
Eina_Bool elm_fileselector_folder_only_get ( const Evas_Object *  obj)

Get whether folder-only view is set for a given file selector widget.

Parameters
objThe file selector object
Returns
only EINA_TRUE if obj is only displaying directories, EINA_FALSE if files are being displayed in it too (and on errors)
See Also
elm_fileselector_folder_only_get()
void elm_fileselector_folder_only_set ( Evas_Object *  obj,
Eina_Bool  only 
)

Enable/disable folder-only view for a given file selector widget.

Parameters
objThe file selector object
onlyEINA_TRUE to make obj only display directories, EINA_FALSE to make files to be displayed in it too

If enabled, the widget's view will only display folder items, naturally.

See Also
elm_fileselector_folder_only_get()
Eina_Bool elm_fileselector_hidden_visible_get ( const Evas_Object *  obj)

Get if hiden files/directories in the file selector widget are visible or not.

Parameters
objThe file selector object
Returns
Visibility of hidden files/directories (EINA_TRUE = enabled/EINA_FALSE = disabled). Default is EINA_FALSE.
See Also
elm_fileselector_hidden_visible_set()
Since
1.8
void elm_fileselector_hidden_visible_set ( Evas_Object *  obj,
Eina_Bool  visible 
)

Enable or disable visibility of hidden files/directories in the file selector widget.

Parameters
objThe file selector object
visibleVisibility of hidden files/directories. Default is disabled.

This enables (EINA_TRUE) or disables (EINA_FALSE) visibility of hidden files/directories in the list/grid of the file selector widget.

Since
1.8
Eina_Bool elm_fileselector_is_save_get ( const Evas_Object *  obj)

Get whether the given file selector is in "saving dialog" mode.

Parameters
objThe file selector object
Returns
EINA_TRUE, if the file selector is in "saving dialog" mode, EINA_FALSE otherwise (and on errors)
See Also
elm_fileselector_is_save_set() for more details
void elm_fileselector_is_save_set ( Evas_Object *  obj,
Eina_Bool  is_save 
)

Enable/disable the file name entry box where the user can type in a name for a file, in a given file selector widget.

Parameters
objThe file selector object
is_saveEINA_TRUE to make the file selector a "saving dialog", EINA_FALSE otherwise

Having the entry editable is useful on file saving dialogs on applications, where one gives a file name to save contents to, in a given directory in the system. This custom file name will be reported on the "done" smart callback.

See Also
elm_fileselector_is_save_get()
Eina_Bool elm_fileselector_mime_types_filter_append ( Evas_Object *  obj,
const char *  mime_types,
const char *  filter_name 
)

Append mime types filter into filter list.

Parameters
objThe file selector object
mime_typescomma(,) separated mime types to be allowed.
filter_nameThe name to be displayed, mime_types will be displayed if NULL
Returns
EINA_TRUE on success, EINA_FALSE on failure.
Note
a sub type of mime can be asterisk(*)
mime type filter is only working with efreet now.
first added filter will be the default filter at the moment.
See Also
elm_need_efreet()
elm_fileselector_filters_clear()
Since
1.8
Elm_Fileselector_Mode elm_fileselector_mode_get ( const Evas_Object *  obj)

Get the mode in which a given file selector widget is displaying (layouting) file system entries in its view.

Parameters
objThe fileselector object
Returns
The mode in which the fileselector is at
See Also
elm_fileselector_mode_set() for more details
void elm_fileselector_mode_set ( Evas_Object *  obj,
Elm_Fileselector_Mode  mode 
)

Set the mode in which a given file selector widget will display (layout) file system entries in its view.

Parameters
objThe file selector object
modeThe mode of the fileselector, being it one of #ELM_FILESELECTOR_LIST (default) or #ELM_FILESELECTOR_GRID. The first one, naturally, will display the files in a list. The latter will make the widget to display its entries in a grid form.
Note
By using elm_fileselector_expandable_set(), the user may trigger a tree view for that list.
If Elementary is built with support of the Ethumb thumbnailing library, the second form of view will display preview thumbnails of files which it supports. You must have elm_need_ethumb() called in your Elementary for thumbnailing to work, though.
See Also
elm_fileselector_expandable_set().
elm_fileselector_mode_get().
Eina_Bool elm_fileselector_multi_select_get ( const Evas_Object *  obj)

Get if multi-selection in the file selector is enabled or disabled.

Parameters
objThe file selector object
Returns
Multi-select enabled/disabled (EINA_TRUE = enabled/EINA_FALSE = disabled). Default is EINA_FALSE.
See Also
elm_fileselector_multi_select_set()
Since
1.8
void elm_fileselector_multi_select_set ( Evas_Object *  obj,
Eina_Bool  multi 
)

Enable or disable multi-selection in the file selector widget.

Parameters
objThe file selector object
multiMulti-select enable/disable. Default is disabled.

This enables (EINA_TRUE) or disables (EINA_FALSE) multi-selection in the list/grid of the file selector widget. This allows more than 1 item to be selected. To retrieve the list of selected paths, use elm_fileselector_selected_paths_get().

See Also
elm_fileselector_selected_paths_get()
elm_fileselector_multi_select_get()
Since
1.8
const char* elm_fileselector_path_get ( const Evas_Object *  obj)

Get the parent directory's path that a given file selector widget is displaying.

Parameters
objThe file selector object
Returns
The (full) path of the directory the file selector is displaying, a stringshared string
See Also
elm_fileselector_path_set()
void elm_fileselector_path_set ( Evas_Object *  obj,
const char *  path 
)

Set, programmatically, the directory that a given file selector widget will display contents from.

Parameters
objThe file selector object
pathThe path to display in obj

This will change the directory that obj is displaying. It will also clear the text entry area on the obj object, which displays select files' names.

See Also
elm_fileselector_path_get()
const char* elm_fileselector_selected_get ( const Evas_Object *  obj)

Get the currently selected item's (full) path, in the given file selector widget.

Parameters
objThe file selector object
Returns
The absolute path of the selected item, a stringshared string
Note
Custom editions on obj object's text entry, if made, will appear on the return string of this function, naturally.
See Also
elm_fileselector_selected_set() for more details
const Eina_List* elm_fileselector_selected_paths_get ( const Evas_Object *  obj)

Get a list of selected paths in the file selector.

Parameters
objThe file selector object
Returns
The list of selected paths, or NULL if not in multi-select mode or none are selected.

It returns a list of the selected paths. This list pointer is only valid so long as the selection doesn't change (no items are selected or unselected, or unselected implicitly by deletion). The list contains const char *. The order of the items in this list is the order which they were selected, i.e. the first item in this list is the first item that was selected, and so on.

Note
If not in multi-select mode, consider using function elm_fileselector_selected_get() instead.
See Also
elm_fileselector_multi_select_set()
elm_fileselector_selected_get()
Since
1.8
Eina_Bool elm_fileselector_selected_set ( Evas_Object *  obj,
const char *  path 
)

Set, programmatically, the currently selected file/directory in the given file selector widget.

Parameters
objThe file selector object
pathThe (full) path to a file or directory
Returns
EINA_TRUE on success, EINA_FALSE on failure. The latter case occurs if the directory or file pointed to do not exist.
See Also
elm_fileselector_selected_get()
Elm_Fileselector_Sort elm_fileselector_sort_method_get ( const Evas_Object *  obj)

Get the sort method of the file selector widget.

Parameters
objThe file selector object
Returns
The sort method
See Also
elm_fileselector_sort_method_set()
Since
1.9
void elm_fileselector_sort_method_set ( Evas_Object *  obj,
Elm_Fileselector_Sort  method 
)

Set the sort method of the file selector widget.

Parameters
objThe file selector object
sortThe sort method
See Also
elm_fileselector_sort_method_get()
Since
1.9
void elm_fileselector_thumbnail_size_get ( const Evas_Object *  obj,
Evas_Coord *  w,
Evas_Coord *  h 
)

Get the size for the thumbnail of a given file selector widget.

Parameters
objThe file selector object.
wPointer to a variable where to store the thumbnail's width.
hPointer to a variable where to store the thumbnail's height.
Note
Use NULL pointers on the size values you're not interested in: they'll be ignored by the function.
See Also
elm_fileselector_thumbnail_size_set()
Since
1.9
void elm_fileselector_thumbnail_size_set ( Evas_Object *  obj,
Evas_Coord  w,
Evas_Coord  h 
)

Set the size for the thumbnail of the file selector widget's view.

Parameters
objThe file selector object
wThe thumbnail's width.
hThe thumbnail's height.
Note
If w or h is 0, default value will be used.
See Also
elm_fileselector_thumbnail_size_get()
Since
1.9