<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY pi "&#960;">
<!ENTITY solidus "&#8260;">
]>
<refentry id="GtkDirectoryList">
<refmeta>
<refentrytitle role="top_of_page" id="GtkDirectoryList.top_of_page">GtkDirectoryList</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkDirectoryList</refname>
<refpurpose>A list model for directory listings</refpurpose>
</refnamediv>

<refsect1 id="GtkDirectoryList.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="GtkDirectoryList"><returnvalue>GtkDirectoryList</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-directory-list-new">gtk_directory_list_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-directory-list-get-attributes">gtk_directory_list_get_attributes</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-directory-list-set-attributes">gtk_directory_list_set_attributes</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GFile"><returnvalue>GFile</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-directory-list-get-file">gtk_directory_list_get_file</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-directory-list-set-file">gtk_directory_list_set_file</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="int"><returnvalue>int</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-directory-list-get-io-priority">gtk_directory_list_get_io_priority</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-directory-list-set-io-priority">gtk_directory_list_set_io_priority</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-directory-list-get-monitored">gtk_directory_list_get_monitored</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-directory-list-set-monitored">gtk_directory_list_set_monitored</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-directory-list-is-loading">gtk_directory_list_is_loading</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type">const <link linkend="GError"><returnvalue>GError</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-directory-list-get-error">gtk_directory_list_get_error</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkDirectoryList.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="char"><type>char</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkDirectoryList--attributes">attributes</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GError"><type>GError</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkDirectoryList--error">error</link></entry><entry role="property_flags">Read</entry></row>
<row><entry role="property_type"><link linkend="GFile"><type>GFile</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkDirectoryList--file">file</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="int"><type>int</type></link></entry><entry role="property_name"><link linkend="GtkDirectoryList--io-priority">io-priority</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkDirectoryList--loading">loading</link></entry><entry role="property_flags">Read</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkDirectoryList--monitored">monitored</link></entry><entry role="property_flags">Read / Write</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkDirectoryList.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GtkDirectoryList-struct">GtkDirectoryList</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkDirectoryList.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkDirectoryList
</screen>
</refsect1>
<refsect1 id="GtkDirectoryList.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkDirectoryList implements
 <link linkend="GListModel">GListModel</link>.</para>

</refsect1>

<refsect1 id="GtkDirectoryList.includes"><title>Includes</title><synopsis>#include &lt;gtk/gtk.h&gt;
</synopsis></refsect1>

<refsect1 id="GtkDirectoryList.description" role="desc">
<title role="desc.title">Description</title>
<para><link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> is a list model that wraps <link linkend="g-file-enumerate-children-async"><function>g_file_enumerate_children_async()</function></link>.
It presents a <link linkend="GListModel"><type>GListModel</type></link> and fills it asynchronously with the <link linkend="GFileInfos"><type>GFileInfos</type></link>
returned from that function.</para>
<para>Enumeration will start automatically when a the <link linkend="GtkDirectoryList--file"><type>“file”</type></link> property
is set.</para>
<para>While the <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> is being filled, the <link linkend="GtkDirectoryList--loading"><type>“loading”</type></link>
property will be set to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>. You can listen to that property if you want
to show information like a <link linkend="GtkSpinner"><type>GtkSpinner</type></link> or a "Loading..." text.</para>
<para>If loading fails at any point, the <link linkend="GtkDirectoryList--error"><type>“error”</type></link> property will be
set to give more indication about the failure.</para>
<para>The <link linkend="GFileInfos"><type>GFileInfos</type></link> returned from a <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> have the "standard::file"
attribute set to the <link linkend="GFile"><type>GFile</type></link> they refer to. This way you can get at the file
that is referred to in the same way you would via <link linkend="g-file-enumerator-get-child"><function>g_file_enumerator_get_child()</function></link>.
This means you do not need access to the <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> but can access
the <link linkend="GFile"><type>GFile</type></link> directly from the <link linkend="GFileInfo"><type>GFileInfo</type></link> when operating with a <link linkend="GtkListView"><type>GtkListView</type></link>
or similar.</para>

</refsect1>
<refsect1 id="GtkDirectoryList.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="gtk-directory-list-new" role="function">
<title>gtk_directory_list_new&#160;()</title>
<indexterm zone="gtk-directory-list-new"><primary>gtk_directory_list_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkDirectoryList"><returnvalue>GtkDirectoryList</returnvalue></link>&#160;*
gtk_directory_list_new (<parameter>const <link linkend="char"><type>char</type></link> *attributes</parameter>,
                        <parameter><link linkend="GFile"><type>GFile</type></link> *file</parameter>);</programlisting>
<para>Creates a new <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> querying the given <parameter>file</parameter>
 with the given
<parameter>attributes</parameter>
.</para>
<refsect3 id="gtk-directory-list-new.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>file</para></entry>
<entry role="parameter_description"><para>The file to query. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>attributes</para></entry>
<entry role="parameter_description"><para>The attributes to query with. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-directory-list-new.returns" role="returns">
<title>Returns</title>
<para> a new <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link></para>
</refsect3></refsect2>
<refsect2 id="gtk-directory-list-get-attributes" role="function">
<title>gtk_directory_list_get_attributes&#160;()</title>
<indexterm zone="gtk-directory-list-get-attributes"><primary>gtk_directory_list_get_attributes</primary></indexterm>
<programlisting language="C">const <link linkend="char"><returnvalue>char</returnvalue></link>&#160;*
gtk_directory_list_get_attributes (<parameter><link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> *self</parameter>);</programlisting>
<para>Gets the attributes queried on the children.</para>
<refsect3 id="gtk-directory-list-get-attributes.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-directory-list-get-attributes.returns" role="returns">
<title>Returns</title>
<para>The queried attributes. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-directory-list-set-attributes" role="function">
<title>gtk_directory_list_set_attributes&#160;()</title>
<indexterm zone="gtk-directory-list-set-attributes"><primary>gtk_directory_list_set_attributes</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_directory_list_set_attributes (<parameter><link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> *self</parameter>,
                                   <parameter>const <link linkend="char"><type>char</type></link> *attributes</parameter>);</programlisting>
<para>Sets the <parameter>attributes</parameter>
 to be enumerated and starts the enumeration.</para>
<para>If <parameter>attributes</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, no attributes will be queried, but a list
of <link linkend="GFileInfos"><type>GFileInfos</type></link> will still be created.</para>
<refsect3 id="gtk-directory-list-set-attributes.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>attributes</para></entry>
<entry role="parameter_description"><para>the attributes to enumerate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-directory-list-get-file" role="function">
<title>gtk_directory_list_get_file&#160;()</title>
<indexterm zone="gtk-directory-list-get-file"><primary>gtk_directory_list_get_file</primary></indexterm>
<programlisting language="C"><link linkend="GFile"><returnvalue>GFile</returnvalue></link>&#160;*
gtk_directory_list_get_file (<parameter><link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> *self</parameter>);</programlisting>
<para>Gets the file whose children are currently enumerated.</para>
<refsect3 id="gtk-directory-list-get-file.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-directory-list-get-file.returns" role="returns">
<title>Returns</title>
<para>The file whose children are enumerated. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-directory-list-set-file" role="function">
<title>gtk_directory_list_set_file&#160;()</title>
<indexterm zone="gtk-directory-list-set-file"><primary>gtk_directory_list_set_file</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_directory_list_set_file (<parameter><link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> *self</parameter>,
                             <parameter><link linkend="GFile"><type>GFile</type></link> *file</parameter>);</programlisting>
<para>Sets the <parameter>file</parameter>
 to be enumerated and starts the enumeration.</para>
<para>If <parameter>file</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, the result will be an empty list.</para>
<refsect3 id="gtk-directory-list-set-file.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>file</para></entry>
<entry role="parameter_description"><para>the <link linkend="GFile"><type>GFile</type></link> to be enumerated. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-directory-list-get-io-priority" role="function">
<title>gtk_directory_list_get_io_priority&#160;()</title>
<indexterm zone="gtk-directory-list-get-io-priority"><primary>gtk_directory_list_get_io_priority</primary></indexterm>
<programlisting language="C"><link linkend="int"><returnvalue>int</returnvalue></link>
gtk_directory_list_get_io_priority (<parameter><link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> *self</parameter>);</programlisting>
<para>Gets the IO priority set via <link linkend="gtk-directory-list-set-io-priority"><function>gtk_directory_list_set_io_priority()</function></link>.</para>
<refsect3 id="gtk-directory-list-get-io-priority.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-directory-list-get-io-priority.returns" role="returns">
<title>Returns</title>
<para> The IO priority.</para>
</refsect3></refsect2>
<refsect2 id="gtk-directory-list-set-io-priority" role="function">
<title>gtk_directory_list_set_io_priority&#160;()</title>
<indexterm zone="gtk-directory-list-set-io-priority"><primary>gtk_directory_list_set_io_priority</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_directory_list_set_io_priority (<parameter><link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> *self</parameter>,
                                    <parameter><link linkend="int"><type>int</type></link> io_priority</parameter>);</programlisting>
<para>Sets the IO priority to use while loading directories.</para>
<para>Setting the priority while <parameter>self</parameter>
 is loading will reprioritize the
ongoing load as soon as possible.</para>
<para>The default IO priority is <link linkend="G-PRIORITY-DEFAULT:CAPS"><literal>G_PRIORITY_DEFAULT</literal></link>, which is higher than
the GTK redraw priority. If you are loading a lot of directories in
parallel, lowering it to something like <link linkend="G-PRIORITY-DEFAULT-IDLE:CAPS"><literal>G_PRIORITY_DEFAULT_IDLE</literal></link>
may increase responsiveness.</para>
<refsect3 id="gtk-directory-list-set-io-priority.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>io_priority</para></entry>
<entry role="parameter_description"><para>IO priority to use</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-directory-list-get-monitored" role="function">
<title>gtk_directory_list_get_monitored&#160;()</title>
<indexterm zone="gtk-directory-list-get-monitored"><primary>gtk_directory_list_get_monitored</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_directory_list_get_monitored (<parameter><link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> *self</parameter>);</programlisting>
<para>Returns whether the directory list is monitoring
the directory for changes.</para>
<refsect3 id="gtk-directory-list-get-monitored.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-directory-list-get-monitored.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the directory is monitored</para>
</refsect3></refsect2>
<refsect2 id="gtk-directory-list-set-monitored" role="function">
<title>gtk_directory_list_set_monitored&#160;()</title>
<indexterm zone="gtk-directory-list-set-monitored"><primary>gtk_directory_list_set_monitored</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_directory_list_set_monitored (<parameter><link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> *self</parameter>,
                                  <parameter><link linkend="gboolean"><type>gboolean</type></link> monitored</parameter>);</programlisting>
<para>Sets whether the directory list will monitor the directory
for changes. If monitoring is enabled, the
<link linkend="GListModel-items-changed"><type>“items-changed”</type></link> signal will be emitted when the
directory contents change.</para>
<para>When monitoring is turned on after the initial creation
of the directory list, the directory is reloaded to avoid
missing files that appeared between the initial loading
and when monitoring was turned on.</para>
<refsect3 id="gtk-directory-list-set-monitored.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>monitored</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to monitor the directory for changes</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-directory-list-is-loading" role="function">
<title>gtk_directory_list_is_loading&#160;()</title>
<indexterm zone="gtk-directory-list-is-loading"><primary>gtk_directory_list_is_loading</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_directory_list_is_loading (<parameter><link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> *self</parameter>);</programlisting>
<para>Returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the children enumeration is currently in
progress.</para>
<para>Files will be added to <parameter>self</parameter>
 from time to time while loading is
going on. The order in which are added is undefined and may change
in between runs.</para>
<refsect3 id="gtk-directory-list-is-loading.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-directory-list-is-loading.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>self</parameter>
is loading</para>
</refsect3></refsect2>
<refsect2 id="gtk-directory-list-get-error" role="function">
<title>gtk_directory_list_get_error&#160;()</title>
<indexterm zone="gtk-directory-list-get-error"><primary>gtk_directory_list_get_error</primary></indexterm>
<programlisting language="C">const <link linkend="GError"><returnvalue>GError</returnvalue></link>&#160;*
gtk_directory_list_get_error (<parameter><link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link> *self</parameter>);</programlisting>
<para>Gets the loading error, if any.</para>
<para>If an error occurs during the loading process, the loading process
will finish and this property allows querying the error that happened.
This error will persist until a file is loaded again.</para>
<para>An error being set does not mean that no files were loaded, and all
successfully queried files will remain in the list.</para>
<refsect3 id="gtk-directory-list-get-error.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>self</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkDirectoryList"><type>GtkDirectoryList</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-directory-list-get-error.returns" role="returns">
<title>Returns</title>
<para>The loading error or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if
loading finished successfully. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkDirectoryList.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkDirectoryList-struct" role="struct">
<title>GtkDirectoryList</title>
<indexterm zone="GtkDirectoryList-struct"><primary>GtkDirectoryList</primary></indexterm>
<programlisting language="C">typedef struct _GtkDirectoryList GtkDirectoryList;</programlisting>
</refsect2>

</refsect1>
<refsect1 id="GtkDirectoryList.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkDirectoryList--attributes" role="property"><title>The <literal>“attributes”</literal> property</title>
<indexterm zone="GtkDirectoryList--attributes"><primary>GtkDirectoryList:attributes</primary></indexterm>
<programlisting>  “attributes”               <link linkend="char"><type>char</type></link>&#160;*</programlisting>
<para>The attributes to query</para>
<para>Owner: GtkDirectoryList</para>
<para>Flags: Read / Write</para>
<para>Default value: NULL</para>
</refsect2>
<refsect2 id="GtkDirectoryList--error" role="property"><title>The <literal>“error”</literal> property</title>
<indexterm zone="GtkDirectoryList--error"><primary>GtkDirectoryList:error</primary></indexterm>
<programlisting>  “error”                    <link linkend="GError"><type>GError</type></link>&#160;*</programlisting>
<para>Error encountered while loading files</para>
<para>Owner: GtkDirectoryList</para>
<para>Flags: Read</para>
</refsect2>
<refsect2 id="GtkDirectoryList--file" role="property"><title>The <literal>“file”</literal> property</title>
<indexterm zone="GtkDirectoryList--file"><primary>GtkDirectoryList:file</primary></indexterm>
<programlisting>  “file”                     <link linkend="GFile"><type>GFile</type></link>&#160;*</programlisting>
<para>File to query</para>
<para>Owner: GtkDirectoryList</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkDirectoryList--io-priority" role="property"><title>The <literal>“io-priority”</literal> property</title>
<indexterm zone="GtkDirectoryList--io-priority"><primary>GtkDirectoryList:io-priority</primary></indexterm>
<programlisting>  “io-priority”              <link linkend="int"><type>int</type></link></programlisting>
<para>Priority used when loading</para>
<para>Owner: GtkDirectoryList</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= -2147483647</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkDirectoryList--loading" role="property"><title>The <literal>“loading”</literal> property</title>
<indexterm zone="GtkDirectoryList--loading"><primary>GtkDirectoryList:loading</primary></indexterm>
<programlisting>  “loading”                  <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if files are being loaded</para>
<para>Owner: GtkDirectoryList</para>
<para>Flags: Read</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkDirectoryList--monitored" role="property"><title>The <literal>“monitored”</literal> property</title>
<indexterm zone="GtkDirectoryList--monitored"><primary>GtkDirectoryList:monitored</primary></indexterm>
<programlisting>  “monitored”                <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the directory is monitored for changed</para>
<para>Owner: GtkDirectoryList</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>

</refsect1>
<refsect1 id="GtkDirectoryList.see-also">
<title>See Also</title>
<para><link linkend="GListModel"><type>GListModel</type></link>, <link linkend="g-file-enumerate-children"><function>g_file_enumerate_children()</function></link></para>

</refsect1>

</refentry>
