### Class

# GtkDirectoryList

#### Description [src]

    final class Gtk.DirectoryList : GObject.Object
      implements Gio.ListModel {
      /* No available fields */
    }

`GtkDirectoryList` is a list model that wraps g_file_enumerate_children_async().

It presents a `GListModel` and fills it asynchronously with the `GFileInfo`s returned from that function.

Enumeration will start automatically when the `GtkDirectoryList:file` property is set.

While the `GtkDirectoryList` is being filled, the `GtkDirectoryList:loading` property will be set to `TRUE`. You can listen to that property if you want to show information like a `GtkSpinner` or a “Loading…” text.

If loading fails at any point, the `GtkDirectoryList:error` property will be set to give more indication about the failure.

The `GFileInfo`s returned from a `GtkDirectoryList` have the “standard::file” attribute set to the `GFile` they refer to. This way you can get at the file that is referred to in the same way you would via g_file_enumerator_get_child(). This means you do not need access to the `GtkDirectoryList`, but can access the `GFile` directly from the `GFileInfo` when operating with a `GtkListView` or similar.

#### Hierarchy

#### Ancestors

- GObject

#### Implements

- GListModel

#### Constructors

###### gtk_directory_list_new

Creates a new `GtkDirectoryList`.

#### Instance methods

###### gtk_directory_list_get_attributes

Gets the attributes queried on the children.

###### gtk_directory_list_get_error

Gets the loading error, if any.

###### gtk_directory_list_get_file

Gets the file whose children are currently enumerated.

###### gtk_directory_list_get_io_priority

Gets the IO priority set via gtk_directory_list_set_io_priority().

###### gtk_directory_list_get_monitored

Returns whether the directory list is monitoring the directory for changes.

###### gtk_directory_list_is_loading

Returns `TRUE` if the children enumeration is currently in progress.

###### gtk_directory_list_set_attributes

Sets the `attributes` to be enumerated and starts the enumeration.

###### gtk_directory_list_set_file

Sets the `file` to be enumerated and starts the enumeration.

###### gtk_directory_list_set_io_priority

Sets the IO priority to use while loading directories.

###### gtk_directory_list_set_monitored

Sets whether the directory list will monitor the directory for changes.

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GListModel (5)

###### g_list_model_get_item

Get the item at `position`.

since: 2.44

###### g_list_model_get_item_type

Gets the type of the items in `list`.

since: 2.44

###### g_list_model_get_n_items

Gets the number of items in `list`.

since: 2.44

###### g_list_model_get_object

Get the item at `position`.

since: 2.44

###### g_list_model_items_changed

Emits the `GListModel::items-changed` signal on `list`.

since: 2.44

#### Properties

###### Gtk.DirectoryList:attributes

The attributes to query.

###### Gtk.DirectoryList:error

Error encountered while loading files.

###### Gtk.DirectoryList:file

File to query.

###### Gtk.DirectoryList:io-priority

Priority used when loading.

###### Gtk.DirectoryList:item-type

The type of items. See `g_list_model_get_item_type()`.

since: 4.8

###### Gtk.DirectoryList:loading

`TRUE` if files are being loaded.

###### Gtk.DirectoryList:monitored

`TRUE` if the directory is monitored for changed.

###### Gtk.DirectoryList:n-items

The number of items. See `g_list_model_get_n_items()`.

since: 4.8

#### Signals

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

##### Signals inherited from GListModel (1)

###### GListModel::items-changed

This signal is emitted whenever items were added to or removed from `list`. At `position`, `removed` items were removed and `added` items were added in their place.

since: 2.44

#### Class structure

    struct GtkDirectoryListClass {
      GObjectClass parent_class;

    }

No description available.

###### Class members

`parent_class: GObjectClass`
  No description available.