]> Pileus Git - ~andy/gtk/blobdiff - docs/reference/gtk/tmpl/gtkfilechooser.sgml
2.9.0
[~andy/gtk] / docs / reference / gtk / tmpl / gtkfilechooser.sgml
index 750ec3bc128f554ea7c3efa0864b93209a665e91..3fb662fcad73678fcdf2e0cba7248327fce17d2d 100644 (file)
 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 "&lt;Alt&gt;&lt;Shift&gt;Up" {
+               "up-folder" ()
+       }
+       bind "&lt;Alt&gt;&lt;Shift&gt;Down" {
+               "down-folder" ()
+       }
+       bind "&lt;Alt&gt;&lt;Shift&gt;Home" {
+               "home-folder" ()
+       }
+}
+
+class "GtkFileChooserDefault" binding "my-own-gtkfilechooser-bindings"
+       </programlisting>
+      </example>
+
+      <refsect3 id="GtkFileChooserDefault-location-popup">
+       <title>The &quot;GtkFileChooserDefault::location-popup&quot; 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>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               the object which received the signal.
+             </simpara>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><parameter>path</parameter>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               default contents for the text entry for the file name
+             </simpara>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><parameter>user_data</parameter>&nbsp;:</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 "&lt;Alt&gt;M" {
+               "location-popup" ("/home/username/misc")
+       }
+}
+
+class "GtkFileChooserDefault" binding "misc-shortcut"
+         </programlisting>
+       </tip>
+      </refsect3>
+
+      <refsect3 id="GtkFileChooserDefault-up-folder">
+       <title>The &quot;GtkFileChooserDefault::up-folder&quot; 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>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               the object which received the signal.
+             </simpara>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><parameter>user_data</parameter>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               user data set when the signal handler was connected.
+             </simpara>
+           </listitem>
+         </varlistentry>
+       </variablelist>
+      </refsect3>
+
+      <refsect3 id="GtkFileChooserDefault-down-folder">
+       <title>The &quot;GtkFileChooserDefault::down-folder&quot; 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>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               the object which received the signal.
+             </simpara>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><parameter>user_data</parameter>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               user data set when the signal handler was connected.
+             </simpara>
+           </listitem>
+         </varlistentry>
+       </variablelist>
+      </refsect3>
+
+      <refsect3 id="GtkFileChooserDefault-home-folder">
+       <title>The &quot;GtkFileChooserDefault::home-folder&quot; 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>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               the object which received the signal.
+             </simpara>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><parameter>user_data</parameter>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               user data set when the signal handler was connected.
+             </simpara>
+           </listitem>
+         </varlistentry>
+       </variablelist>
+      </refsect3>
+
+      <refsect3 id="GtkFileChooserDefault-desktop-folder">
+       <title>The &quot;GtkFileChooserDefault::desktop-folder&quot; 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>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               the object which received the signal.
+             </simpara>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><parameter>user_data</parameter>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               user data set when the signal handler was connected.
+             </simpara>
+           </listitem>
+         </varlistentry>
+       </variablelist>
+      </refsect3>
+
+      <refsect3 id="GtkFileChooserDefault-quick-bookmark">
+       <title>The &quot;GtkFileChooserDefault::quick-bookmark&quot; 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>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               the object which received the signal.
+             </simpara>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><parameter>bookmark_indes</parameter>&nbsp;:</term>
+           <listitem>
+             <simpara>
+               index of the bookmark to switch to; the indices start at 0.
+             </simpara>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term><parameter>user_data</parameter>&nbsp;:</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 ##### -->
@@ -22,6 +567,83 @@ 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>
 
@@ -50,36 +672,116 @@ GtkFileChooser
 
 @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>
@@ -99,16 +801,16 @@ GtkFileChooser
 @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>
@@ -117,16 +819,16 @@ GtkFileChooser
 @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>
@@ -135,16 +837,34 @@ GtkFileChooser
 @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>
@@ -178,6 +898,7 @@ GtkFileChooser
 
 @chooser: 
 @filename: 
+@Returns: 
 
 
 <!-- ##### FUNCTION gtk_file_chooser_select_filename ##### -->
@@ -187,6 +908,7 @@ GtkFileChooser
 
 @chooser: 
 @filename: 
+@Returns: 
 
 
 <!-- ##### FUNCTION gtk_file_chooser_unselect_filename ##### -->
@@ -230,6 +952,7 @@ GtkFileChooser
 
 @chooser: 
 @filename: 
+@Returns: 
 
 
 <!-- ##### FUNCTION gtk_file_chooser_get_current_folder ##### -->
@@ -257,6 +980,7 @@ GtkFileChooser
 
 @chooser: 
 @uri: 
+@Returns: 
 
 
 <!-- ##### FUNCTION gtk_file_chooser_select_uri ##### -->
@@ -266,6 +990,7 @@ GtkFileChooser
 
 @chooser: 
 @uri: 
+@Returns: 
 
 
 <!-- ##### FUNCTION gtk_file_chooser_unselect_uri ##### -->
@@ -293,6 +1018,7 @@ GtkFileChooser
 
 @chooser: 
 @uri: 
+@Returns: 
 
 
 <!-- ##### FUNCTION gtk_file_chooser_get_current_folder_uri ##### -->
@@ -340,12 +1066,30 @@ GtkFileChooser
 @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: 
 
 
@@ -354,7 +1098,7 @@ GtkFileChooser
 
 </para>
 
-@file_chooser: 
+@chooser: 
 @Returns: 
 
 
@@ -458,7 +1202,7 @@ GtkFileChooser
 </para>
 
 @chooser: 
-@folder
+@uri
 @error: 
 @Returns: 
 
@@ -469,7 +1213,7 @@ GtkFileChooser
 </para>
 
 @chooser: 
-@folder
+@uri
 @error: 
 @Returns: 
 
@@ -483,3 +1227,12 @@ GtkFileChooser
 @Returns: 
 
 
+
+<!--
+Local variables:
+mode: sgml
+sgml-parent-document: ("../gtk-docs.sgml" "book" "refentry")
+End:
+-->
+
+