GtkFileChooser
<!-- ##### SECTION Short_Description ##### -->
-
+File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog
<!-- ##### SECTION Long_Description ##### -->
-<para>
-
-</para>
-
+ <para>
+ #GtkFileChooser is an interface that can be implemented by file
+ selection widgets. In GTK+, the main objects that implement this
+ interface are #GtkFileChooserWidget, #GtkFileChooserDialog, and
+ #GtkFileChooserButton. You do not need to write an object that
+ implements the #GtkFileChooser interface unless you are trying to
+ adapt an existing file selector to expose a standard programming
+ interface.
+ </para>
+
+ <para>
+ #GtkFileChooser allows for shortcuts to various places in the filesystem.
+ In the default implementation these are displayed in the left pane. It
+ may be a bit confusing at first taht these shortcuts come from various
+ sources and in various flavours, so lets explain the terminology here:
+ </para>
+ <variablelist>
+ <varlistentry>
+ <term>Bookmarks</term>
+ <listitem><para>
+ are created by the user, by dragging folders from the
+ right pane to the left pane, or by using the "Add". Bookmarks
+ can be renamed and deleted by the user.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Shortcuts</term>
+ <listitem><para>
+ can be provided by the application or by the underlying filesystem
+ abstraction (e.g. both the gnome-vfs and the Windows filesystems
+ provide "Desktop" shortcuts). Shortcuts cannot be modified by the
+ user.
+ </para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>Volumes</term>
+ <listitem><para>
+ are provided by the underlying filesystem abstraction. They are
+ the "roots" of the filesystem.
+ </para></listitem>
+ </varlistentry>
+ </variablelist>
+
+ <refsect2 id="gtkfilechooser-encodings">
+ <title>File Names and Encodings</title>
+
+ <para>
+ When the user is finished selecting files in a
+ #GtkFileChooser, your program can get the selected names
+ either as filenames or as URIs. For URIs, the normal escaping
+ rules are applied if the URI contains non-ASCII characters.
+ However, filenames are <emphasis>always</emphasis> returned in
+ the character set specified by the
+ <envar>G_FILENAME_ENCODING</envar> environment variable.
+ Please see the Glib documentation for more details about this
+ variable.
+ </para>
+
+ <important>
+ <para>
+ This means that while you can pass the result of
+ gtk_file_chooser_get_filename() to
+ <function>open(2)</function> or
+ <function>fopen(3)</function>, you may not be able to
+ directly set it as the text of a #GtkLabel widget unless you
+ convert it first to UTF-8, which all GTK+ widgets expect.
+ You should use g_filename_to_utf8() to convert filenames
+ into strings that can be passed to GTK+ widgets.
+ </para>
+ </important>
+ </refsect2>
+
+ <refsect2 id="gtkfilechooser-preview">
+ <title>Adding a Preview Widget</title>
+
+ <para>
+ You can add a custom preview widget to a file chooser and then
+ get notification about when the preview needs to be updated.
+ To install a preview widget, use
+ gtk_file_chooser_set_preview_widget(). Then, connect to the
+ #GtkFileChooser::update-preview signal to get notified when
+ you need to update the contents of the preview.
+ </para>
+
+ <para>
+ Your callback should use
+ gtk_file_chooser_get_preview_filename() to see what needs
+ previewing. Once you have generated the preview for the
+ corresponding file, you must call
+ gtk_file_chooser_set_preview_widget_active() with a boolean
+ flag that indicates whether your callback could successfully
+ generate a preview.
+ </para>
+
+ <example id="example-gtkfilechooser-preview">
+ <title>Sample Usage</title>
+
+ <programlisting>
+{
+ GtkImage *preview;
+
+ ...
+
+ preview = gtk_image_new (<!-- -->);
+
+ gtk_file_chooser_set_preview_widget (my_file_chooser, preview);
+ g_signal_connect (my_file_chooser, "update-preview",
+ G_CALLBACK (update_preview_cb), preview);
+}
+
+static void
+update_preview_cb (GtkFileChooser *file_chooser, gpointer data)
+{
+ GtkWidget *preview;
+ char *filename;
+ GdkPixbuf *pixbuf;
+ gboolean have_preview;
+
+ preview = GTK_WIDGET (data);
+ filename = gtk_file_chooser_get_preview_filename (file_chooser);
+
+ pixbuf = gdk_pixbuf_new_from_file_at_size (filename, 128, 128, NULL);
+ have_preview = (pixbuf != NULL);
+ g_free (filename);
+
+ gtk_image_set_from_pixbuf (GTK_IMAGE (preview), pixbuf);
+ if (pixbuf)
+ gobject_unref (pixbuf);
+
+ gtk_file_chooser_set_preview_widget_active (file_chooser, have_preview);
+}
+ </programlisting>
+ </example>
+ </refsect2>
+
+ <refsect2 id="gtkfilechooser-extra">
+ <title>Adding Extra Widgets</title>
+
+ <para>
+ You can add extra widgets to a file chooser to provide options
+ that are not present in the default design. For example, you
+ can add a toggle button to give the user the option to open a
+ file in read-only mode. You can use
+ gtk_file_chooser_set_extra_widget() to insert additional
+ widgets in a file chooser.
+ </para>
+
+ <example id="example-gtkfilechooser-extra">
+ <title>Sample Usage</title>
+
+ <programlisting>
+{
+ GtkWidget *toggle;
+
+ ...
+
+ toggle = gtk_check_button_new_with_label ("Open file read-only");
+ gtk_widget_show (toggle);
+ gtk_file_chooser_set_extra_widget (my_file_chooser, toggle);
+}
+ </programlisting>
+ </example>
+
+ <note>
+ <para>
+ If you want to set more than one extra widget in the file
+ chooser, you can a container such as a GtkVBox or a GtkTable
+ and include your widgets in it. Then, set the container as
+ the whole extra widget.
+ </para>
+ </note>
+ </refsect2>
+
+ <refsect2 id="gtkfilechooser-key-bindings">
+ <title>Key Bindings</title>
+
+ <para>
+ Internally, GTK+ implements a file chooser's graphical user
+ interface with the private
+ <classname>GtkFileChooserDefaultClass</classname>. This
+ widget has several <link linkend="gtk-Bindings">key
+ bindings</link> and their associated signals. This section
+ describes the available key binding signals.
+ </para>
+
+ <example id="gtkfilechooser-key-binding-example">
+ <title>GtkFileChooser key binding example</title>
+
+ <para>
+ The default keys that activate the key-binding signals in
+ <classname>GtkFileChooserDefaultClass</classname> are as
+ follows:
+ </para>
+
+ <informaltable>
+ <tgroup cols="2">
+ <tbody>
+ <row>
+ <entry>Signal name</entry>
+ <entry>Default key combinations</entry>
+ </row>
+ <row>
+ <entry>location-popup</entry>
+ <entry>
+ <keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo> (empty path);
+ <keycap>/</keycap> (path of "/")<footnote>
+ <para>
+ Both the individual <keycap>/</keycap> key and the
+ numeric keypad's "divide" key are supported.
+ </para>
+ </footnote>;
+ <keycap>~</keycap> (path of "~")
+ </entry>
+ </row>
+ <row>
+ <entry>up-folder</entry>
+ <entry>
+ <keycombo><keycap>Alt</keycap><keycap>Up</keycap></keycombo><footnote>
+ <para>
+ Both the individual Up key and the numeric
+ keypad's Up key are supported.
+ </para>
+ </footnote>
+ ;
+ <keycap>Backspace</keycap>
+ </entry>
+ </row>
+ <row>
+ <entry>down-folder</entry>
+ <entry><keycombo><keycap>Alt</keycap><keycap>Down</keycap></keycombo></entry>
+ </row>
+ <row>
+ <entry>home-folder</entry>
+ <entry><keycombo><keycap>Alt</keycap><keycap>Home</keycap></keycombo></entry>
+ </row>
+ <row>
+ <entry>desktop-folder</entry>
+ <entry><keycombo><keycap>Alt</keycap><keycap>D</keycap></keycombo></entry>
+ </row>
+ <row>
+ <entry>quick-bookmark</entry>
+ <entry><keycombo><keycap>Alt</keycap><keycap>1</keycap></keycombo> through <keycombo><keycap>Alt</keycap><keycap>0</keycap></keycombo></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>
+ You can change these defaults to something else. For
+ example, to add a <keycap>Shift</keycap> modifier to a few
+ of the default bindings, you can include the following
+ fragment in your <filename>.gtkrc-2.0</filename> file:
+ </para>
+
+ <programlisting>
+binding "my-own-gtkfilechooser-bindings" {
+ bind "<Alt><Shift>Up" {
+ "up-folder" ()
+ }
+ bind "<Alt><Shift>Down" {
+ "down-folder" ()
+ }
+ bind "<Alt><Shift>Home" {
+ "home-folder" ()
+ }
+}
+
+class "GtkFileChooserDefault" binding "my-own-gtkfilechooser-bindings"
+ </programlisting>
+ </example>
+
+ <refsect3 id="GtkFileChooserDefault-location-popup">
+ <title>The "GtkFileChooserDefault::location-popup" signal</title>
+
+ <programlisting>
+ void user_function (GtkFileChooserDefault *chooser,
+ const char *path,
+ <link linkend="gpointer">gpointer</link> user_data);
+ </programlisting>
+
+ <para>
+ This is used to make the file chooser show a "Location"
+ dialog which the user can use to manually type the name of
+ the file he wishes to select. The
+ <parameter>path</parameter> argument is a string that gets
+ put in the text entry for the file name. By default this is bound to
+ <keycombo><keycap>Control</keycap><keycap>L</keycap></keycombo>
+ with a <parameter>path</parameter> string of "" (the empty
+ string). It is also bound to <keycap>/</keycap> with a
+ <parameter>path</parameter> string of "<literal>/</literal>"
+ (a slash): this lets you type <keycap>/</keycap> and
+ immediately type a path name. On Unix systems, this is bound to
+ <keycap>~</keycap> (tilde) with a <parameter>path</parameter> string
+ of "~" itself for access to home directories.
+ </para>
+
+ <variablelist role="params">
+ <varlistentry>
+ <term><parameter>chooser</parameter> :</term>
+ <listitem>
+ <simpara>
+ the object which received the signal.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>path</parameter> :</term>
+ <listitem>
+ <simpara>
+ default contents for the text entry for the file name
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>user_data</parameter> :</term>
+ <listitem>
+ <simpara>
+ user data set when the signal handler was connected.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <tip>
+ <para>
+ You can create your own bindings for the
+ <symbol>location-popup</symbol> signal with custom
+ <parameter>path</parameter> strings, and have a crude form
+ of easily-to-type bookmarks. For example, say you access
+ the path <filename>/home/username/misc</filename> very
+ frequently. You could then create an <keycombo>
+ <keycap>Alt</keycap> <keycap>M</keycap> </keycombo>
+ shortcut by including the following in your
+ <filename>.gtkrc-2.0</filename>:
+ </para>
+
+ <programlisting>
+binding "misc-shortcut" {
+ bind "<Alt>M" {
+ "location-popup" ("/home/username/misc")
+ }
+}
+
+class "GtkFileChooserDefault" binding "misc-shortcut"
+ </programlisting>
+ </tip>
+ </refsect3>
+
+ <refsect3 id="GtkFileChooserDefault-up-folder">
+ <title>The "GtkFileChooserDefault::up-folder" signal</title>
+
+ <programlisting>
+ void user_function (GtkFileChooserDefault *chooser,
+ <link linkend="gpointer">gpointer</link> user_data);
+ </programlisting>
+
+ <para>
+ This is used to make the file chooser go to the parent of
+ the current folder in the file hierarchy. By default this
+ is bound to <keycap>Backspace</keycap> and
+ <keycombo><keycap>Alt</keycap><keycap>Up</keycap></keycombo>
+ (the Up key in the numeric keypad also works).
+ </para>
+
+ <variablelist role="params">
+ <varlistentry>
+ <term><parameter>chooser</parameter> :</term>
+ <listitem>
+ <simpara>
+ the object which received the signal.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>user_data</parameter> :</term>
+ <listitem>
+ <simpara>
+ user data set when the signal handler was connected.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect3>
+
+ <refsect3 id="GtkFileChooserDefault-down-folder">
+ <title>The "GtkFileChooserDefault::down-folder" signal</title>
+
+ <programlisting>
+ void user_function (GtkFileChooserDefault *chooser,
+ <link linkend="gpointer">gpointer</link> user_data);
+ </programlisting>
+
+ <para>
+ This is used to make the file chooser go to a child of the
+ current folder in the file hierarchy. The subfolder that
+ will be used is displayed in the path bar widget of the file
+ chooser. For example, if the path bar is showing
+ "/foo/<emphasis>bar/</emphasis>baz", then this will cause
+ the file chooser to switch to the "baz" subfolder. By
+ default this is bound to
+ <keycombo><keycap>Alt</keycap><keycap>Down</keycap></keycombo>
+ (the Down key in the numeric keypad also works).
+ </para>
+
+ <variablelist role="params">
+ <varlistentry>
+ <term><parameter>chooser</parameter> :</term>
+ <listitem>
+ <simpara>
+ the object which received the signal.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>user_data</parameter> :</term>
+ <listitem>
+ <simpara>
+ user data set when the signal handler was connected.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect3>
+
+ <refsect3 id="GtkFileChooserDefault-home-folder">
+ <title>The "GtkFileChooserDefault::home-folder" signal</title>
+
+ <programlisting>
+ void user_function (GtkFileChooserDefault *chooser,
+ <link linkend="gpointer">gpointer</link> user_data);
+ </programlisting>
+
+ <para>
+ This is used to make the file chooser show the user's home
+ folder in the file list. By default this is bound to
+ <keycombo><keycap>Alt</keycap><keycap>Home</keycap></keycombo>
+ (the Home key in the numeric keypad also works).
+ </para>
+
+ <variablelist role="params">
+ <varlistentry>
+ <term><parameter>chooser</parameter> :</term>
+ <listitem>
+ <simpara>
+ the object which received the signal.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>user_data</parameter> :</term>
+ <listitem>
+ <simpara>
+ user data set when the signal handler was connected.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect3>
+
+ <refsect3 id="GtkFileChooserDefault-desktop-folder">
+ <title>The "GtkFileChooserDefault::desktop-folder" signal</title>
+
+ <programlisting>
+ void user_function (GtkFileChooserDefault *chooser,
+ <link linkend="gpointer">gpointer</link> user_data);
+ </programlisting>
+
+ <para>
+ This is used to make the file chooser show the user's Desktop
+ folder in the file list. By default this is bound to
+ <keycombo><keycap>Alt</keycap><keycap>D</keycap></keycombo>.
+ </para>
+
+ <variablelist role="params">
+ <varlistentry>
+ <term><parameter>chooser</parameter> :</term>
+ <listitem>
+ <simpara>
+ the object which received the signal.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>user_data</parameter> :</term>
+ <listitem>
+ <simpara>
+ user data set when the signal handler was connected.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect3>
+
+ <refsect3 id="GtkFileChooserDefault-quick-bookmark">
+ <title>The "GtkFileChooserDefault::quick-bookmark" signal</title>
+
+ <programlisting>
+ void user_function (GtkFileChooserDefault *chooser,
+ gint bookmark_index,
+ <link linkend="gpointer">gpointer</link> user_data);
+ </programlisting>
+
+ <para>
+ This is used to make the file chooser switch to the bookmark
+ specified in the <parameter>bookmark_index</parameter> parameter.
+ For example, if you have three bookmarks, you can pass 0, 1, 2 to
+ this signal to switch to each of them, respectively. By default this is bound to
+ <keycombo><keycap>Alt</keycap><keycap>1</keycap></keycombo>,
+ <keycombo><keycap>Alt</keycap><keycap>2</keycap></keycombo>,
+ etc. until
+ <keycombo><keycap>Alt</keycap><keycap>0</keycap></keycombo>. Note
+ that in the default binding,
+ that <keycombo><keycap>Alt</keycap><keycap>1</keycap></keycombo> is
+ actually defined to switch to the bookmark at index 0, and so on
+ successively;
+ <keycombo><keycap>Alt</keycap><keycap>0</keycap></keycombo> is
+ defined to switch to the bookmark at index 10.
+ </para>
+
+ <variablelist role="params">
+ <varlistentry>
+ <term><parameter>chooser</parameter> :</term>
+ <listitem>
+ <simpara>
+ the object which received the signal.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>bookmark_indes</parameter> :</term>
+ <listitem>
+ <simpara>
+ index of the bookmark to switch to; the indices start at 0.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><parameter>user_data</parameter> :</term>
+ <listitem>
+ <simpara>
+ user data set when the signal handler was connected.
+ </simpara>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect3>
+ </refsect2>
<!-- ##### SECTION See_Also ##### -->
-<para>
+ <para>
+ #GtkFileChooserDialog, #GtkFileChooserWidget, #GtkFileChooserButton
+ </para>
-</para>
+<!-- ##### SECTION Stability_Level ##### -->
<!-- ##### STRUCT GtkFileChooser ##### -->
</para>
+<!-- ##### SIGNAL GtkFileChooser::confirm-overwrite ##### -->
+ <para>
+ This signal gets emitted whenever it is appropriate to present a
+ confirmation dialog when the user has selected a file name that
+ already exists. The signal only gets emitted when the file
+ chooser is in #GTK_FILE_CHOOSER_ACTION_SAVE mode.
+ </para>
+
+ <para>
+ Most applications just need to turn on the <link
+ linkend="GtkFileChooser--do-overwrite-confirmation">do-overwrite-confirmation</link>
+ property (or call the
+ gtk_file_chooser_set_do_overwrite_confirmation() function), and
+ they will automatically get a stock confirmation dialog.
+ Applications which need to customize this behavior should do
+ that, and also connect to the <symbol>confirm-overwrite</symbol>
+ signal.
+ </para>
+
+ <para>
+ A signal handler for this signal must return a
+ #GtkFileChooserConfirmation value, which indicates the action to
+ take. If the handler determines that the user wants to select a
+ different filename, it should return
+ #GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN. If it determines
+ that the user is satisfied with his choice of file name, it
+ should return #GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME.
+ On the other hand, if it determines that the stock confirmation
+ dialog should be used, it should return
+ #GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM. The following example
+ illustrates this.
+ </para>
+
+ <example id="gtkfilechooser-confirmation">
+ <title>Custom confirmation</title>
+
+ <programlisting>
+static GtkFileChooserConfirmation
+confirm_overwrite_callback (GtkFileChooser *chooser, gpointer data)
+{
+ char *uri;
+
+ uri = gtk_file_chooser_get_uri (chooser);
+
+ if (is_uri_read_only (uri))
+ {
+ if (user_wants_to_replace_read_only_file (uri))
+ return GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME;
+ else
+ return GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN;
+ } else
+ return GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM; /* fall back to the default dialog */
+}
+
+...
+
+chooser = gtk_file_chooser_dialog_new (...);
+
+gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
+g_signal_connect (chooser, "confirm-overwrite",
+ G_CALLBACK (confirm_overwrite_callback), NULL);
+
+if (gtk_dialog_run (chooser) == GTK_RESPONSE_ACCEPT)
+ save_to_file (gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser));
+
+gtk_widget_destroy (chooser);
+ </programlisting>
+ </example>
+
+@filechooser: the object which received the signal.
+@Returns: #GtkFileChooserConfirmation value that indicates which
+ action to take after emitting the signal.
+
+ <para>
+ Since 2.8
+ </para>
+
<!-- ##### SIGNAL GtkFileChooser::current-folder-changed ##### -->
<para>
@filechooser: the object which received the signal.
-<!-- ##### ENUM GtkFileChooserAction ##### -->
+<!-- ##### ARG GtkFileChooser:action ##### -->
<para>
</para>
-@GTK_FILE_CHOOSER_ACTION_OPEN:
-@GTK_FILE_CHOOSER_ACTION_SAVE:
+<!-- ##### ARG GtkFileChooser:do-overwrite-confirmation ##### -->
+<para>
+
+</para>
-<!-- ##### MACRO GTK_FILE_CHOOSER_ERROR ##### -->
+<!-- ##### ARG GtkFileChooser:extra-widget ##### -->
<para>
</para>
+<!-- ##### ARG GtkFileChooser:file-system-backend ##### -->
+<para>
+</para>
-<!-- ##### ENUM GtkFileChooserError ##### -->
+<!-- ##### ARG GtkFileChooser:filter ##### -->
<para>
</para>
-@GTK_FILE_CHOOSER_ERROR_NONEXISTENT:
-@GTK_FILE_CHOOSER_ERROR_BAD_FILENAME:
+<!-- ##### ARG GtkFileChooser:local-only ##### -->
+<para>
-<!-- ##### FUNCTION gtk_file_chooser_error_quark ##### -->
+</para>
+
+<!-- ##### ARG GtkFileChooser:preview-widget ##### -->
<para>
</para>
-@Returns:
+<!-- ##### ARG GtkFileChooser:preview-widget-active ##### -->
+<para>
+</para>
+
+<!-- ##### ARG GtkFileChooser:select-multiple ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkFileChooser:show-hidden ##### -->
+<para>
+
+</para>
+
+<!-- ##### ARG GtkFileChooser:use-preview-label ##### -->
+<para>
+
+</para>
+
+<!-- ##### ENUM GtkFileChooserAction ##### -->
+ <para>
+ Describes whether a #GtkFileChooser is being used to open
+ existing files or to save to a possibly new file.
+ </para>
+
+@GTK_FILE_CHOOSER_ACTION_OPEN: Indicates open mode. The file chooser
+ will only let the user pick an existing file.
+@GTK_FILE_CHOOSER_ACTION_SAVE: Indicates save mode. The file chooser
+ will let the user pick an existing file, or type in a new
+ filename.
+@GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER: Indicates an Open mode for
+ selecting folders. The file chooser will let the user pick an
+ existing folder.
+@GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER: Indicates a mode for creating a
+ new folder. The file chooser will let the user name an existing or
+ new folder.
+
+<!-- ##### ENUM GtkFileChooserConfirmation ##### -->
+ <para>
+ Used as a return value of handlers for the <link
+ linkend="GtkFileChooser-confirm-overwrite">confirm-overwrite</link>
+ signal of a <classname>GtkFileChooser</classname>. This value
+ determines whether the file chooser will present the stock
+ confirmation dialog, accept the user's choice of a filename, or
+ let the user choose another filename.
+ </para>
+
+@GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM: The file chooser will present
+ its stock dialog to confirm about overwriting an existing file.
+@GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME: The file chooser will
+ terminate and accept the user's choice of a file name.
+@GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN: The file chooser will
+ continue running, so as to let the user select another file name.
+
+ <para>
+ Since 2.8
+ </para>
+
+<!-- ##### MACRO GTK_FILE_CHOOSER_ERROR ##### -->
+ <para>
+ Used to get the #GError quark for #GtkFileChooser errors.
+ </para>
+
+
+
+<!-- ##### ENUM GtkFileChooserError ##### -->
+ <para>
+ These identify the various errors that can occur while calling
+ #GtkFileChooser functions.
+ </para>
+
+@GTK_FILE_CHOOSER_ERROR_NONEXISTENT: Indicates that a file does not exist.
+@GTK_FILE_CHOOSER_ERROR_BAD_FILENAME: Indicates a malformed filename.
+@GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS:
<!-- ##### FUNCTION gtk_file_chooser_set_action ##### -->
<para>
@Returns:
-<!-- ##### FUNCTION gtk_file_chooser_set_folder_mode ##### -->
+<!-- ##### FUNCTION gtk_file_chooser_set_local_only ##### -->
<para>
</para>
@chooser:
-@folder_mode:
+@local_only:
-<!-- ##### FUNCTION gtk_file_chooser_get_folder_mode ##### -->
+<!-- ##### FUNCTION gtk_file_chooser_get_local_only ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gtk_file_chooser_set_local_only ##### -->
+<!-- ##### FUNCTION gtk_file_chooser_set_select_multiple ##### -->
<para>
</para>
@chooser:
-@files_only:
+@select_multiple:
-<!-- ##### FUNCTION gtk_file_chooser_get_local_only ##### -->
+<!-- ##### FUNCTION gtk_file_chooser_get_select_multiple ##### -->
<para>
</para>
@Returns:
-<!-- ##### FUNCTION gtk_file_chooser_set_select_multiple ##### -->
+<!-- ##### FUNCTION gtk_file_chooser_set_show_hidden ##### -->
<para>
</para>
@chooser:
-@select_multiple:
+@show_hidden:
-<!-- ##### FUNCTION gtk_file_chooser_get_select_multiple ##### -->
+<!-- ##### FUNCTION gtk_file_chooser_get_show_hidden ##### -->
+<para>
+
+</para>
+
+@chooser:
+@Returns:
+
+
+<!-- ##### FUNCTION gtk_file_chooser_set_do_overwrite_confirmation ##### -->
+<para>
+
+</para>
+
+@chooser:
+@do_overwrite_confirmation:
+
+
+<!-- ##### FUNCTION gtk_file_chooser_get_do_overwrite_confirmation ##### -->
<para>
</para>
@chooser:
@filename:
+@Returns:
<!-- ##### FUNCTION gtk_file_chooser_select_filename ##### -->
@chooser:
@filename:
+@Returns:
<!-- ##### FUNCTION gtk_file_chooser_unselect_filename ##### -->
@chooser:
@filename:
+@Returns:
<!-- ##### FUNCTION gtk_file_chooser_get_current_folder ##### -->
@chooser:
@uri:
+@Returns:
<!-- ##### FUNCTION gtk_file_chooser_select_uri ##### -->
@chooser:
@uri:
+@Returns:
<!-- ##### FUNCTION gtk_file_chooser_unselect_uri ##### -->
@chooser:
@uri:
+@Returns:
<!-- ##### FUNCTION gtk_file_chooser_get_current_folder_uri ##### -->
@Returns:
+<!-- ##### FUNCTION gtk_file_chooser_set_use_preview_label ##### -->
+<para>
+
+</para>
+
+@chooser:
+@use_label:
+
+
+<!-- ##### FUNCTION gtk_file_chooser_get_use_preview_label ##### -->
+<para>
+
+</para>
+
+@chooser:
+@Returns:
+
+
<!-- ##### FUNCTION gtk_file_chooser_get_preview_filename ##### -->
<para>
</para>
-@file_chooser:
+@chooser:
@Returns:
</para>
-@file_chooser:
+@chooser:
@Returns:
</para>
@chooser:
-@folder:
+@uri:
@error:
@Returns:
</para>
@chooser:
-@folder:
+@uri:
@error:
@Returns:
@Returns:
+
+<!--
+Local variables:
+mode: sgml
+sgml-parent-document: ("../gtk-docs.sgml" "book" "refentry")
+End:
+-->
+
+