KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /usr/share/gtk-doc/html/gtk/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/gtk-doc/html/gtk/GtkFileChooser.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>GtkFileChooser</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
<link rel="start" href="index.html" title="GTK+ Reference Manual">
<link rel="up" href="SelectorWidgets.html" title="Selectors (File/Font/Color/Input Devices)">
<link rel="prev" href="GtkFileSelection.html" title="GtkFileSelection">
<link rel="next" href="GtkFileChooserButton.html" title="GtkFileChooserButton">
<meta name="generator" content="GTK-Doc V1.6 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="part" href="gtk.html" title="Part&#160;I.&#160;GTK+ Overview">
<link rel="part" href="gtkbase.html" title="Part&#160;II.&#160;GTK+ Core Reference">
<link rel="part" href="gtkobjects.html" title="Part&#160;III.&#160;GTK+ Widgets and Objects">
<link rel="chapter" href="ch01.html" title="Object Hierarchy">
<link rel="chapter" href="ch02.html" title="Widget Gallery">
<link rel="chapter" href="WindowWidgets.html" title="Windows">
<link rel="chapter" href="DisplayWidgets.html" title="Display Widgets">
<link rel="chapter" href="ButtonWidgets.html" title="Buttons and Toggles">
<link rel="chapter" href="NumericEntry.html" title="Numeric/Text Data Entry">
<link rel="chapter" href="TextWidgetObjects.html" title="Multiline Text Editor">
<link rel="chapter" href="TreeWidgetObjects.html" title="Tree, List and Icon Grid Widgets">
<link rel="chapter" href="MenusAndCombos.html" title="Menus, Combo Box, Toolbar">
<link rel="chapter" href="Actions.html" title="Action-based menus and toolbars">
<link rel="chapter" href="SelectorWidgets.html" title="Selectors (File/Font/Color/Input Devices)">
<link rel="chapter" href="LayoutContainers.html" title="Layout Containers">
<link rel="chapter" href="Ornaments.html" title="Ornaments">
<link rel="chapter" href="ScrollingWidgets.html" title="Scrolling">
<link rel="chapter" href="Printing.html" title="Printing">
<link rel="chapter" href="MiscObjects.html" title="Miscellaneous">
<link rel="chapter" href="AbstractObjects.html" title="Abstract Base Classes">
<link rel="chapter" href="PlugSocket.html" title="Cross-process Embedding">
<link rel="chapter" href="SpecialObjects.html" title="Special-purpose features">
<link rel="chapter" href="RecentDocuments.html" title="Recently Used Documents">
<link rel="chapter" href="DeprecatedObjects.html" title="Deprecated">
<link rel="part" href="migrating.html" title="Part&#160;IV.&#160;Migrating from Previous Versions of GTK+">
<link rel="chapter" href="gtk-migrating-checklist.html" title="Migration Checklist">
<link rel="chapter" href="gtk-migrating-GtkFileChooser.html" title="Migrating from GtkFileSelection to GtkFileChooser">
<link rel="chapter" href="gtk-migrating-GtkAction.html" title="Migrating from old menu and toolbar systems to GtkAction">
<link rel="chapter" href="gtk-migrating-GtkComboBox.html" title="Migrating from GtkOptionMenu and GtkCombo to GtkComboBox and 
         GtkComboBoxEntry">
<link rel="chapter" href="gtk-migrating-GtkIconView.html" title="Migrating from GnomeIconList to GtkIconView">
<link rel="chapter" href="gtk-migrating-GtkAboutDialog.html" title="Migrating from GnomeAbout to GtkAboutDialog">
<link rel="chapter" href="gtk-migrating-GtkColorButton.html" title="Migrating from GnomeColorPicker to GtkColorButton">
<link rel="chapter" href="gtk-migrating-GtkAssistant.html" title="Migrating from GnomeDruid to GtkAssistant">
<link rel="chapter" href="gtk-migrating-GtkRecentChooser.html" title="Migrating from EggRecent to GtkRecentChooser">
<link rel="chapter" href="gtk-migrating-GtkLinkButton.html" title="Migrating from GnomeHRef to GtkLinkButton">
<link rel="part" href="pt05.html" title="Part&#160;V.&#160;GTK+ Tools">
<link rel="glossary" href="glossary.html" title="Glossary">
<link rel="index" href="ix01.html" title="Index">
<link rel="index" href="ix02.html" title="Index of deprecated symbols">
<link rel="index" href="ix03.html" title="Index of new symbols in 2.2">
<link rel="index" href="ix04.html" title="Index of new symbols in 2.4">
<link rel="index" href="ix05.html" title="Index of new symbols in 2.6">
<link rel="index" href="ix06.html" title="Index of new symbols in 2.8">
<link rel="index" href="ix07.html" title="Index of new symbols in 2.10">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="GtkFileSelection.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="SelectorWidgets.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GTK+ Reference Manual</th>
<td><a accesskey="n" href="GtkFileChooserButton.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id3402741" class="shortcut">Top</a>
                  &#160;|&#160;
                  <a href="#id3404663" class="shortcut">Description</a>
                  &#160;|&#160;
                  <a href="#id3404187" class="shortcut">Object Hierarchy</a>
                  &#160;|&#160;
                  <a href="#" class="shortcut"></a>
                  &#160;|&#160;
                  <a href="#id3404234" class="shortcut">Known Implementations</a>
                  &#160;|&#160;
                  <a href="#id3404272" class="shortcut">Properties</a>
                  &#160;|&#160;
                  <a href="#id3404479" class="shortcut">Signals</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="GtkFileChooser"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id3402741"></a><span class="refentrytitle">GtkFileChooser</span>
</h2>
<p>GtkFileChooser &#8212; File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">

#include &lt;gtk/gtk.h&gt;


            <a href="GtkFileChooser.html#GtkFileChooser-struct">GtkFileChooser</a>;
enum        <a href="GtkFileChooser.html#GtkFileChooserAction">GtkFileChooserAction</a>;
enum        <a href="GtkFileChooser.html#GtkFileChooserConfirmation">GtkFileChooserConfirmation</a>;
#define     <a href="GtkFileChooser.html#GTK-FILE-CHOOSER-ERROR:CAPS">GTK_FILE_CHOOSER_ERROR</a>
enum        <a href="GtkFileChooser.html#GtkFileChooserError">GtkFileChooserError</a>;
void        <a href="GtkFileChooser.html#gtk-file-chooser-set-action">gtk_file_chooser_set_action</a>     (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="GtkFileChooser.html#GtkFileChooserAction">GtkFileChooserAction</a> action);
<a href="GtkFileChooser.html#GtkFileChooserAction">GtkFileChooserAction</a> <a href="GtkFileChooser.html#gtk-file-chooser-get-action">gtk_file_chooser_get_action</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-set-local-only">gtk_file_chooser_set_local_only</a> (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> local_only);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-get-local-only">gtk_file_chooser_get_local_only</a> (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-set-select-multiple">gtk_file_chooser_set_select_multiple</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> select_multiple);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-get-select-multiple">gtk_file_chooser_get_select_multiple</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-set-show-hidden">gtk_file_chooser_set_show_hidden</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> show_hidden);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-get-show-hidden">gtk_file_chooser_get_show_hidden</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-set-do-overwrite-confirmation">gtk_file_chooser_set_do_overwrite_confirmation</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> do_overwrite_confirmation);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-get-do-overwrite-confirmation">gtk_file_chooser_get_do_overwrite_confirmation</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-set-current-name">gtk_file_chooser_set_current_name</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *name);
<a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>*      <a href="GtkFileChooser.html#gtk-file-chooser-get-filename">gtk_file_chooser_get_filename</a>   (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-set-filename">gtk_file_chooser_set_filename</a>   (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *filename);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-select-filename">gtk_file_chooser_select_filename</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *filename);
void        <a href="GtkFileChooser.html#gtk-file-chooser-unselect-filename">gtk_file_chooser_unselect_filename</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *filename);
void        <a href="GtkFileChooser.html#gtk-file-chooser-select-all">gtk_file_chooser_select_all</a>     (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-unselect-all">gtk_file_chooser_unselect_all</a>   (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
<a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
>GSList</a>*     <a href="GtkFileChooser.html#gtk-file-chooser-get-filenames">gtk_file_chooser_get_filenames</a>  (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-set-current-folder">gtk_file_chooser_set_current_folder</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *filename);
<a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>*      <a href="GtkFileChooser.html#gtk-file-chooser-get-current-folder">gtk_file_chooser_get_current_folder</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
<a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>*      <a href="GtkFileChooser.html#gtk-file-chooser-get-uri">gtk_file_chooser_get_uri</a>        (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-set-uri">gtk_file_chooser_set_uri</a>        (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *uri);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-select-uri">gtk_file_chooser_select_uri</a>     (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *uri);
void        <a href="GtkFileChooser.html#gtk-file-chooser-unselect-uri">gtk_file_chooser_unselect_uri</a>   (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *uri);
<a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
>GSList</a>*     <a href="GtkFileChooser.html#gtk-file-chooser-get-uris">gtk_file_chooser_get_uris</a>       (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri">gtk_file_chooser_set_current_folder_uri</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *uri);
<a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>*      <a href="GtkFileChooser.html#gtk-file-chooser-get-current-folder-uri">gtk_file_chooser_get_current_folder_uri</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget">gtk_file_chooser_set_preview_widget</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *preview_widget);
<a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>*  <a href="GtkFileChooser.html#gtk-file-chooser-get-preview-widget">gtk_file_chooser_get_preview_widget</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active">gtk_file_chooser_set_preview_widget_active</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> active);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-get-preview-widget-active">gtk_file_chooser_get_preview_widget_active</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-set-use-preview-label">gtk_file_chooser_set_use_preview_label</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> use_label);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-get-use-preview-label">gtk_file_chooser_get_use_preview_label</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
char*       <a href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename">gtk_file_chooser_get_preview_filename</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
char*       <a href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri">gtk_file_chooser_get_preview_uri</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget">gtk_file_chooser_set_extra_widget</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *extra_widget);
<a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>*  <a href="GtkFileChooser.html#gtk-file-chooser-get-extra-widget">gtk_file_chooser_get_extra_widget</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-add-filter">gtk_file_chooser_add_filter</a>     (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter);
void        <a href="GtkFileChooser.html#gtk-file-chooser-remove-filter">gtk_file_chooser_remove_filter</a>  (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter);
<a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
>GSList</a>*     <a href="GtkFileChooser.html#gtk-file-chooser-list-filters">gtk_file_chooser_list_filters</a>   (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
void        <a href="GtkFileChooser.html#gtk-file-chooser-set-filter">gtk_file_chooser_set_filter</a>     (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter);
<a href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a>* <a href="GtkFileChooser.html#gtk-file-chooser-get-filter">gtk_file_chooser_get_filter</a>  (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder">gtk_file_chooser_add_shortcut_folder</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *folder,
                                             <a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-remove-shortcut-folder">gtk_file_chooser_remove_shortcut_folder</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *folder,
                                             <a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
<a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
>GSList</a>*     <a href="GtkFileChooser.html#gtk-file-chooser-list-shortcut-folders">gtk_file_chooser_list_shortcut_folders</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri">gtk_file_chooser_add_shortcut_folder_uri</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *uri,
                                             <a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
<a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    <a href="GtkFileChooser.html#gtk-file-chooser-remove-shortcut-folder-uri">gtk_file_chooser_remove_shortcut_folder_uri</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *uri,
                                             <a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);
<a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
>GSList</a>*     <a href="GtkFileChooser.html#gtk-file-chooser-list-shortcut-folder-uris">gtk_file_chooser_list_shortcut_folder_uris</a>
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);


</pre>
</div>
<div class="refsect1" lang="en">
<a name="id3404187"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">

  GInterface
   +----GtkFileChooser
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id3404212"></a><h2>Prerequisites</h2>
<p>
GtkFileChooser requires
 <a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>.</p>
</div>
<div class="refsect1" lang="en">
<a name="id3404234"></a><h2>Known Implementations</h2>
<p>
GtkFileChooser is implemented by
 <a href="GtkFileChooserWidget.html" title="GtkFileChooserWidget">GtkFileChooserWidget</a>,  <a href="GtkFileChooserButton.html" title="GtkFileChooserButton">GtkFileChooserButton</a> and  <a href="GtkFileChooserDialog.html" title="GtkFileChooserDialog">GtkFileChooserDialog</a>.</p>
</div>
<div class="refsect1" lang="en">
<a name="id3404272"></a><h2>Properties</h2>
<pre class="synopsis">

  "<a href="GtkFileChooser.html#GtkFileChooser--action">action</a>"               <a href="GtkFileChooser.html#GtkFileChooserAction">GtkFileChooserAction</a>  : Read / Write
  "<a href="GtkFileChooser.html#GtkFileChooser--do-overwrite-confirmation">do-overwrite-confirmation</a>" <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
  "<a href="GtkFileChooser.html#GtkFileChooser--extra-widget">extra-widget</a>"         <a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>             : Read / Write
  "<a href="GtkFileChooser.html#GtkFileChooser--file-system-backend">file-system-backend</a>"  <a
href="../gobject/gobject-Standard-Parameter-and-Value-Types.html#gchararray"
>gchararray</a>            : Write / Construct Only
  "<a href="GtkFileChooser.html#GtkFileChooser--filter">filter</a>"               <a href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a>         : Read / Write
  "<a href="GtkFileChooser.html#GtkFileChooser--local-only">local-only</a>"           <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
  "<a href="GtkFileChooser.html#GtkFileChooser--preview-widget">preview-widget</a>"       <a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>             : Read / Write
  "<a href="GtkFileChooser.html#GtkFileChooser--preview-widget-active">preview-widget-active</a>" <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
  "<a href="GtkFileChooser.html#GtkFileChooser--select-multiple">select-multiple</a>"      <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
  "<a href="GtkFileChooser.html#GtkFileChooser--show-hidden">show-hidden</a>"          <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
  "<a href="GtkFileChooser.html#GtkFileChooser--use-preview-label">use-preview-label</a>"    <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id3404479"></a><h2>Signals</h2>
<pre class="synopsis">

"<a href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite">confirm-overwrite</a>"
            <a href="GtkFileChooser.html#GtkFileChooserConfirmation">GtkFileChooserConfirmation</a>*user_function      (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *filechooser,
                                            <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a>        user_data)        : Run last
"<a href="GtkFileChooser.html#GtkFileChooser-current-folder-changed">current-folder-changed</a>"
            void        user_function      (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                            <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a>        user_data)      : Run last
"<a href="GtkFileChooser.html#GtkFileChooser-file-activated">file-activated</a>"
            void        user_function      (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                            <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a>        user_data)      : Run last
"<a href="GtkFileChooser.html#GtkFileChooser-selection-changed">selection-changed</a>"
            void        user_function      (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                            <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a>        user_data)      : Run last
"<a href="GtkFileChooser.html#GtkFileChooser-update-preview">update-preview</a>"
            void        user_function      (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                            <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a>        user_data)      : Run last
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id3404663"></a><h2>Description</h2>
<p>
      <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> is an interface that can be implemented by file
      selection widgets.  In GTK+, the main objects that implement this
      interface are <a href="GtkFileChooserWidget.html" title="GtkFileChooserWidget"><span class="type">GtkFileChooserWidget</span></a>, <a href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a>, and
      <a href="GtkFileChooserButton.html" title="GtkFileChooserButton"><span class="type">GtkFileChooserButton</span></a>.  You do not need to write an object that
      implements the <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> interface unless you are trying to
      adapt an existing file selector to expose a standard programming
      interface.
    </p>
<p>
      <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> 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:
    </p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term">Bookmarks</span></td>
<td><p>
             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.
           </p></td>
</tr>
<tr>
<td>
<span class="term">Shortcuts</span></td>
<td><p> 
             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.
           </p></td>
</tr>
<tr>
<td>
<span class="term">Volumes</span></td>
<td><p>
             are provided by the underlying filesystem abstraction. They are
             the "roots" of the filesystem. 
           </p></td>
</tr>
</tbody>
</table></div>
<div class="refsect2" lang="en">
<a name="gtkfilechooser-encodings"></a><h3>File Names and Encodings</h3>
<p>
	When the user is finished selecting files in a
	<a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>, 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 <span class="emphasis"><em>always</em></span> returned in
	the character set specified by the
	<code class="envar">G_FILENAME_ENCODING</code> environment variable.
	Please see the Glib documentation for more details about this
	variable.
      </p>
<div class="important" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Important</h3>
<p>
	  This means that while you can pass the result of
	  <a href="GtkFileChooser.html#gtk-file-chooser-get-filename"><code class="function">gtk_file_chooser_get_filename()</code></a> to
	  <code class="function">open(2)</code> or
	  <code class="function">fopen(3)</code>, you may not be able to
	  directly set it as the text of a <a href="GtkLabel.html" title="GtkLabel"><span class="type">GtkLabel</span></a> widget unless you
	  convert it first to UTF-8, which all GTK+ widgets expect.
	  You should use <a
href="../glib/glib-Character-Set-Conversion.html#g-filename-to-utf8"
><code class="function">g_filename_to_utf8()</code></a> to convert filenames
	  into strings that can be passed to GTK+ widgets.
	</p>
</div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="gtkfilechooser-preview"></a><h3>Adding a Preview Widget</h3>
<p>
	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
	<a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.  Then, connect to the
	<a href="GtkFileChooser.html#GtkFileChooser-update-preview"><span class="type">GtkFileChooser::update-preview</span></a> signal to get notified when
	you need to update the contents of the preview.
      </p>
<p>
	Your callback should use
	<a href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename"><code class="function">gtk_file_chooser_get_preview_filename()</code></a> to see what needs
	previewing.  Once you have generated the preview for the
	corresponding file, you must call
	<a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a> with a boolean
	flag that indicates whether your callback could successfully
	generate a preview.
      </p>
<div class="example">
<a name="example-gtkfilechooser-preview"></a><p class="title"><b>Example&#160;2.&#160;Sample Usage</b></p>
<pre class="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);
}
	</pre>
</div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="gtkfilechooser-extra"></a><h3>Adding Extra Widgets</h3>
<p>
	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
	<a href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget"><code class="function">gtk_file_chooser_set_extra_widget()</code></a> to insert additional
	widgets in a file chooser.
      </p>
<div class="example">
<a name="example-gtkfilechooser-extra"></a><p class="title"><b>Example&#160;3.&#160;Sample Usage</b></p>
<pre class="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);
}
	</pre>
</div>
<div class="note" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Note</h3>
<p>
	  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.
	</p>
</div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="gtkfilechooser-key-bindings"></a><h3>Key Bindings</h3>
<p>
	Internally, GTK+ implements a file chooser's graphical user
	interface with the private
	<code class="classname">GtkFileChooserDefaultClass</code>.  This
	widget has several <a href="gtk-Bindings.html" title="Bindings">key
	bindings</a> and their associated signals.  This section
	describes the available key binding signals.
      </p>
<div class="example">
<a name="gtkfilechooser-key-binding-example"></a><p class="title"><b>Example&#160;4.&#160;GtkFileChooser key binding example</b></p>
<p>
	  The default keys that activate the key-binding signals in
	  <code class="classname">GtkFileChooserDefaultClass</code> are as
	  follows:
	</p>
<div class="informaltable"><table border="1">
<colgroup>
<col>
<col>
</colgroup>
<tbody>
<tr>
<td>Signal name</td>
<td>Default key combinations</td>
</tr>
<tr>
<td>location-popup</td>
<td>
		  <span><strong class="keycap">Control</strong></span>-<span><strong class="keycap">L</strong></span> (empty path);
		  <span><strong class="keycap">/</strong></span> (path of "/")<sup>[<a name="id3405143" href="#ftn.id3405143">a</a>]</sup>;
		  <span><strong class="keycap">~</strong></span> (path of "~")
		</td>
</tr>
<tr>
<td>up-folder</td>
<td>
		  <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">Up</strong></span><sup>[<a name="id3405185" href="#ftn.id3405185">b</a>]</sup>
		  ;
		  <span><strong class="keycap">Backspace</strong></span>
		</td>
</tr>
<tr>
<td>down-folder</td>
<td>
<span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">Down</strong></span>
</td>
</tr>
<tr>
<td>home-folder</td>
<td>
<span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">Home</strong></span>
</td>
</tr>
<tr>
<td>desktop-folder</td>
<td>
<span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">D</strong></span>
</td>
</tr>
<tr>
<td>quick-bookmark</td>
<td>
<span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">1</strong></span> through <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">0</strong></span>
</td>
</tr>
</tbody>
<tbody class="footnotes"><tr><td colspan="2">
<div class="footnote"><p><sup>[<a name="ftn.id3405143" href="#id3405143">a</a>] </sup>
		      Both the individual <span><strong class="keycap">/</strong></span> key and the
		      numeric keypad's "divide" key are supported.
		    </p></div>
<div class="footnote"><p><sup>[<a name="ftn.id3405185" href="#id3405185">b</a>] </sup>
		      Both the individual Up key and the numeric
		      keypad's Up key are supported.
		    </p></div>
</td></tr></tbody>
</table></div>
<p>
	  You can change these defaults to something else.  For
	  example, to add a <span><strong class="keycap">Shift</strong></span> modifier to a few
	  of the default bindings, you can include the following
	  fragment in your <code class="filename">.gtkrc-2.0</code> file:
	</p>
<pre class="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"
	</pre>
</div>
<div class="refsect3" lang="en">
<a name="GtkFileChooserDefault-location-popup"></a><h4>The "GtkFileChooserDefault::location-popup" signal</h4>
<pre class="programlisting">
          void user_function (GtkFileChooserDefault *chooser,
                              const char            *path,
                              <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data);
	</pre>
<p>
	  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
	  <em class="parameter"><code>path</code></em> argument is a string that gets
	  put in the text entry for the file name.  By default this is bound to
	  <span><strong class="keycap">Control</strong></span>-<span><strong class="keycap">L</strong></span>
	  with a <em class="parameter"><code>path</code></em> string of "" (the empty
	  string).  It is also bound to <span><strong class="keycap">/</strong></span> with a
	  <em class="parameter"><code>path</code></em> string of "<code class="literal">/</code>"
	  (a slash):  this lets you type <span><strong class="keycap">/</strong></span> and
	  immediately type a path name.  On Unix systems, this is bound to
	  <span><strong class="keycap">~</strong></span> (tilde) with a <em class="parameter"><code>path</code></em> string
	  of "~" itself for access to home directories.
	</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>path</code></em>&#160;:</span></td>
<td>
		default contents for the text entry for the file name
	      </td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
<div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Tip</h3>
<p>
	    You can create your own bindings for the
	    <span class="symbol">location-popup</span> signal with custom
	    <em class="parameter"><code>path</code></em> strings, and have a crude form
	    of easily-to-type bookmarks.  For example, say you access
	    the path <code class="filename">/home/username/misc</code> very
	    frequently.  You could then create an <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">M</strong></span>
	    shortcut by including the following in your
	    <code class="filename">.gtkrc-2.0</code>:
	  </p>
<pre class="programlisting">
binding "misc-shortcut" {
	bind "&lt;Alt&gt;M" {
		"location-popup" ("/home/username/misc")
	}
}

class "GtkFileChooserDefault" binding "misc-shortcut"
	  </pre>
</div>
</div>
<div class="refsect3" lang="en">
<a name="GtkFileChooserDefault-up-folder"></a><h4>The "GtkFileChooserDefault::up-folder" signal</h4>
<pre class="programlisting">
          void user_function (GtkFileChooserDefault *chooser,
                              <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data);
	</pre>
<p>
	  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 <span><strong class="keycap">Backspace</strong></span> and
	  <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">Up</strong></span>
	  (the Up key in the numeric keypad also works).
	</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3" lang="en">
<a name="GtkFileChooserDefault-down-folder"></a><h4>The "GtkFileChooserDefault::down-folder" signal</h4>
<pre class="programlisting">
          void user_function (GtkFileChooserDefault *chooser,
                              <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data);
	</pre>
<p>
	  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/<span class="emphasis"><em>bar/</em></span>baz", then this will cause
	  the file chooser to switch to the "baz" subfolder.  By
	  default this is bound to
	  <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">Down</strong></span>
	  (the Down key in the numeric keypad also works).
	</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3" lang="en">
<a name="GtkFileChooserDefault-home-folder"></a><h4>The "GtkFileChooserDefault::home-folder" signal</h4>
<pre class="programlisting">
          void user_function (GtkFileChooserDefault *chooser,
                              <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data);
	</pre>
<p>
	  This is used to make the file chooser show the user's home
	  folder in the file list.  By default this is bound to
	  <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">Home</strong></span>
	  (the Home key in the numeric keypad also works).
	</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3" lang="en">
<a name="GtkFileChooserDefault-desktop-folder"></a><h4>The "GtkFileChooserDefault::desktop-folder" signal</h4>
<pre class="programlisting">
          void user_function (GtkFileChooserDefault *chooser,
                              <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data);
	</pre>
<p>
	  This is used to make the file chooser show the user's Desktop
	  folder in the file list.  By default this is bound to
	  <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">D</strong></span>.
	</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3" lang="en">
<a name="GtkFileChooserDefault-quick-bookmark"></a><h4>The "GtkFileChooserDefault::quick-bookmark" signal</h4>
<pre class="programlisting">
          void user_function (GtkFileChooserDefault *chooser,
                              gint bookmark_index,
                              <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a> user_data);
	</pre>
<p>
	  This is used to make the file chooser switch to the bookmark
	  specified in the <em class="parameter"><code>bookmark_index</code></em> 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
	  <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">1</strong></span>,
	  <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">2</strong></span>, 
	  etc. until
	  <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">0</strong></span>.  Note
	  that in the default binding,
	  that <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">1</strong></span> is
	  actually defined to switch to the bookmark at index 0, and so on
	  successively;
	  <span><strong class="keycap">Alt</strong></span>-<span><strong class="keycap">0</strong></span> is
	  defined to switch to the bookmark at index 10.
	</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>bookmark_indes</code></em>&#160;:</span></td>
<td>
		index of the bookmark to switch to; the indices start at 0.
	      </td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id3406111"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id3406122"></a><h3>
<a name="GtkFileChooser-struct"></a>GtkFileChooser</h3>
<a class="indexterm" name="id3406135"></a><pre class="programlisting">typedef struct _GtkFileChooser GtkFileChooser;</pre>
<p>

</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3406150"></a><h3>
<a name="GtkFileChooserAction"></a>enum GtkFileChooserAction</h3>
<a class="indexterm" name="id3406163"></a><pre class="programlisting">typedef enum
{
  GTK_FILE_CHOOSER_ACTION_OPEN,
  GTK_FILE_CHOOSER_ACTION_SAVE,
  GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
  GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
} GtkFileChooserAction;
</pre>
<p>
      Describes whether a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> is being used to open
      existing files or to save to a possibly new file.
    </p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><a name="GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"></a><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></span></td>
<td>Indicates open mode.  The file chooser
    will only let the user pick an existing file.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"></a><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></span></td>
<td>Indicates save mode.  The file chooser
    will let the user pick an existing file, or type in a new
    filename.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"></a><code class="literal">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</code></span></td>
<td>Indicates an Open mode for
    selecting folders.  The file chooser will let the user pick an
    existing folder.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GTK-FILE-CHOOSER-ACTION-CREATE-FOLDER:CAPS"></a><code class="literal">GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER</code></span></td>
<td>Indicates a mode for creating a
    new folder.  The file chooser will let the user name an existing or
    new folder.

</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3406294"></a><h3>
<a name="GtkFileChooserConfirmation"></a>enum GtkFileChooserConfirmation</h3>
<a class="indexterm" name="id3406308"></a><pre class="programlisting">typedef enum
{
  GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM,
  GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME,
  GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN
} GtkFileChooserConfirmation;
</pre>
<p>
      Used as a return value of handlers for the <a href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite">confirm-overwrite</a>
      signal of a <code class="classname">GtkFileChooser</code>.  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.
    </p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><a name="GTK-FILE-CHOOSER-CONFIRMATION-CONFIRM:CAPS"></a><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM</code></span></td>
<td>The file chooser will present
    its stock dialog to confirm about overwriting an existing file.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GTK-FILE-CHOOSER-CONFIRMATION-ACCEPT-FILENAME:CAPS"></a><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME</code></span></td>
<td>The file chooser will
    terminate and accept the user's choice of a file name.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GTK-FILE-CHOOSER-CONFIRMATION-SELECT-AGAIN:CAPS"></a><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN</code></span></td>
<td>The file chooser will
    continue running, so as to let the user select another file name.

    <p>
      Since 2.8
    </p>

</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3406425"></a><h3>
<a name="GTK-FILE-CHOOSER-ERROR:CAPS"></a>GTK_FILE_CHOOSER_ERROR</h3>
<a class="indexterm" name="id3406438"></a><pre class="programlisting">#define GTK_FILE_CHOOSER_ERROR (gtk_file_chooser_error_quark ())
</pre>
<p>
      Used to get the <a
href="../glib/glib-Error-Reporting.html#GError"
><span class="type">GError</span></a> quark for <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> errors.
    </p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3406471"></a><h3>
<a name="GtkFileChooserError"></a>enum GtkFileChooserError</h3>
<a class="indexterm" name="id3406485"></a><pre class="programlisting">typedef enum {
  GTK_FILE_CHOOSER_ERROR_NONEXISTENT,
  GTK_FILE_CHOOSER_ERROR_BAD_FILENAME,
  GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS
} GtkFileChooserError;
</pre>
<p>
      These identify the various errors that can occur while calling
      <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> functions.
    </p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><a name="GTK-FILE-CHOOSER-ERROR-NONEXISTENT:CAPS"></a><code class="literal">GTK_FILE_CHOOSER_ERROR_NONEXISTENT</code></span></td>
<td>Indicates that a file does not exist.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GTK-FILE-CHOOSER-ERROR-BAD-FILENAME:CAPS"></a><code class="literal">GTK_FILE_CHOOSER_ERROR_BAD_FILENAME</code></span></td>
<td>Indicates a malformed filename.
</td>
</tr>
<tr>
<td>
<span class="term"><a name="GTK-FILE-CHOOSER-ERROR-ALREADY-EXISTS:CAPS"></a><code class="literal">GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS</code></span></td>
<td>

</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3406586"></a><h3>
<a name="gtk-file-chooser-set-action"></a>gtk_file_chooser_set_action ()</h3>
<a class="indexterm" name="id3406602"></a><pre class="programlisting">void        gtk_file_chooser_set_action     (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="GtkFileChooser.html#GtkFileChooserAction">GtkFileChooserAction</a> action);</pre>
<p>
Sets the type of operation that the chooser is performing; the
user interface is adapted to suit the selected action. For example,
an option to create a new folder might be shown if the action is
<a href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> but not if the action is
<a href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>action</code></em>&#160;:</span></td>
<td> the action that the file selector is performing
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3406715"></a><h3>
<a name="gtk-file-chooser-get-action"></a>gtk_file_chooser_get_action ()</h3>
<a class="indexterm" name="id3406731"></a><pre class="programlisting"><a href="GtkFileChooser.html#GtkFileChooserAction">GtkFileChooserAction</a> gtk_file_chooser_get_action
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets the type of operation that the file chooser is performing; see
<a href="GtkFileChooser.html#gtk-file-chooser-set-action"><code class="function">gtk_file_chooser_set_action()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the action that the file selector is performing

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3406818"></a><h3>
<a name="gtk-file-chooser-set-local-only"></a>gtk_file_chooser_set_local_only ()</h3>
<a class="indexterm" name="id3406834"></a><pre class="programlisting">void        gtk_file_chooser_set_local_only (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> local_only);</pre>
<p>
Sets whether only local files can be selected in the
file selector. If <em class="parameter"><code>local_only</code></em> is <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> (the default),
then the selected file are files are guaranteed to be
accessible through the operating systems native file
file system and therefore the application only
needs to worry about the filename functions in
<a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>, like <a href="GtkFileChooser.html#gtk-file-chooser-get-filename"><code class="function">gtk_file_chooser_get_filename()</code></a>,
rather than the URI functions like
<a href="GtkFileChooser.html#gtk-file-chooser-get-uri"><code class="function">gtk_file_chooser_get_uri()</code></a>,</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>local_only</code></em>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if only local files can be selected
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3406980"></a><h3>
<a name="gtk-file-chooser-get-local-only"></a>gtk_file_chooser_get_local_only ()</h3>
<a class="indexterm" name="id3406996"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_get_local_only (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets whether only local files can be selected in the
file selector. See <a href="GtkFileChooser.html#gtk-file-chooser-set-local-only"><code class="function">gtk_file_chooser_set_local_only()</code></a></p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <span class="type">GtkFileChoosre</span>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if only local files can be selected.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3407092"></a><h3>
<a name="gtk-file-chooser-set-select-multiple"></a>gtk_file_chooser_set_select_multiple ()</h3>
<a class="indexterm" name="id3407109"></a><pre class="programlisting">void        gtk_file_chooser_set_select_multiple
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> select_multiple);</pre>
<p>
Sets whether multiple files can be selected in the file selector.  This is
only relevant if the action is set to be GTK_FILE_CHOOSER_ACTION_OPEN or
GTK_FILE_CHOOSER_ACTION_SAVE.  It cannot be set with either of the folder
actions.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>select_multiple</code></em>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if multiple files can be selected.
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3407208"></a><h3>
<a name="gtk-file-chooser-get-select-multiple"></a>gtk_file_chooser_get_select_multiple ()</h3>
<a class="indexterm" name="id3407225"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_get_select_multiple
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets whether multiple files can be selected in the file
selector. See <a href="GtkFileChooser.html#gtk-file-chooser-set-select-multiple"><code class="function">gtk_file_chooser_set_select_multiple()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if multiple files can be selected.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3407322"></a><h3>
<a name="gtk-file-chooser-set-show-hidden"></a>gtk_file_chooser_set_show_hidden ()</h3>
<a class="indexterm" name="id3407338"></a><pre class="programlisting">void        gtk_file_chooser_set_show_hidden
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> show_hidden);</pre>
<p>
Sets whether hidden files and folders are displayed in the file selector.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>show_hidden</code></em>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if hidden files and folders should be displayed.
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.6
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3407434"></a><h3>
<a name="gtk-file-chooser-get-show-hidden"></a>gtk_file_chooser_get_show_hidden ()</h3>
<a class="indexterm" name="id3407450"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_get_show_hidden
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets whether hidden files and folders are displayed in the file selector.   
See <a href="GtkFileChooser.html#gtk-file-chooser-set-show-hidden"><code class="function">gtk_file_chooser_set_show_hidden()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if hidden files and folders are displayed.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.6
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3407547"></a><h3>
<a name="gtk-file-chooser-set-do-overwrite-confirmation"></a>gtk_file_chooser_set_do_overwrite_confirmation ()</h3>
<a class="indexterm" name="id3407564"></a><pre class="programlisting">void        gtk_file_chooser_set_do_overwrite_confirmation
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> do_overwrite_confirmation);</pre>
<p>
Sets whether a file chooser in GTK_FILE_CHOOSER_ACTION_SAVE mode will present
a confirmation dialog if the user types a file name that already exists.  This
is <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> by default.
</p>
<p>
Regardless of this setting, the <em class="parameter"><code>chooser</code></em> will emit the "confirm-overwrite"
signal when appropriate.
</p>
<p>
If all you need is the stock confirmation dialog, set this property to <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a>.
You can override the way confirmation is done by actually handling the
"confirm-overwrite" signal; please refer to its documentation for the
details.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>do_overwrite_confirmation</code></em>&#160;:</span></td>
<td> whether to confirm overwriting in save mode
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3407692"></a><h3>
<a name="gtk-file-chooser-get-do-overwrite-confirmation"></a>gtk_file_chooser_get_do_overwrite_confirmation ()</h3>
<a class="indexterm" name="id3407708"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_get_do_overwrite_confirmation
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Queries whether a file chooser is set to confirm for overwriting when the user
types a file name that already exists.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the file chooser will present a confirmation dialog;
<a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3407806"></a><h3>
<a name="gtk-file-chooser-set-current-name"></a>gtk_file_chooser_set_current_name ()</h3>
<a class="indexterm" name="id3407822"></a><pre class="programlisting">void        gtk_file_chooser_set_current_name
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *name);</pre>
<p>
Sets the current name in the file selector, as if entered
by the user. Note that the name passed in here is a UTF-8
string rather than a filename. This function is meant for
such uses as a suggested name in a "Save As..." dialog.
</p>
<p>
If you want to preselect a particular existing file, you should use
<a href="GtkFileChooser.html#gtk-file-chooser-set-filename"><code class="function">gtk_file_chooser_set_filename()</code></a> or <a href="GtkFileChooser.html#gtk-file-chooser-set-uri"><code class="function">gtk_file_chooser_set_uri()</code></a> instead.
Please see the documentation for those functions for an example of using
<a href="GtkFileChooser.html#gtk-file-chooser-set-current-name"><code class="function">gtk_file_chooser_set_current_name()</code></a> as well.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>name</code></em>&#160;:</span></td>
<td> the filename to use, as a UTF-8 string
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3407951"></a><h3>
<a name="gtk-file-chooser-get-filename"></a>gtk_file_chooser_get_filename ()</h3>
<a class="indexterm" name="id3407966"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>*      gtk_file_chooser_get_filename   (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets the filename for the currently selected file in
the file selector. If multiple files are selected,
one of the filenames will be returned at random.
</p>
<p>
If the file chooser is in folder mode, this function returns the selected
folder.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> The currently selected filename, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
 if no file is selected, or the selected file can't
 be represented with a local filename. Free with <a
href="../glib/glib-Memory-Allocation.html#g-free"
><code class="function">g_free()</code></a>.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3408068"></a><h3>
<a name="gtk-file-chooser-set-filename"></a>gtk_file_chooser_set_filename ()</h3>
<a class="indexterm" name="id3408084"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_set_filename   (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *filename);</pre>
<p>
Sets <em class="parameter"><code>filename</code></em> as the current filename for the file chooser, by changing
to the file's parent folder and actually selecting the file in list.  If
the <em class="parameter"><code>chooser</code></em> is in <a href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><span class="type">GTK_FILE_CHOOSER_ACTION_SAVE</span></a> mode, the file's base name
will also appear in the dialog's file name entry.
</p>
<p>
If the file name isn't in the current folder of <em class="parameter"><code>chooser</code></em>, then the current
folder of <em class="parameter"><code>chooser</code></em> will be changed to the folder containing <em class="parameter"><code>filename</code></em>. This
is equivalent to a sequence of <a href="GtkFileChooser.html#gtk-file-chooser-unselect-all"><code class="function">gtk_file_chooser_unselect_all()</code></a> followed by
<a href="GtkFileChooser.html#gtk-file-chooser-select-filename"><code class="function">gtk_file_chooser_select_filename()</code></a>.
</p>
<p>
Note that the file must exist, or nothing will be done except
for the directory change.
</p>
<p>
If you are implementing a <span class="guimenuitem">File/Save As...</span> dialog, you
should use this function if you already have a file name to which the user may save; for example,
when the user opens an existing file and then does <span class="guimenuitem">File/Save As...</span>
on it.  If you don't have a file name already &#8212; for example, if the user just created
a new file and is saving it for the first time, do not call this function.  Instead, use
something similar to this:
</p>
<p>
</p>
<pre class="programlisting">
if (document_is_new)
  {
    /* the user just created a new document */
    gtk_file_chooser_set_current_folder (chooser, default_folder_for_saving);
    gtk_file_chooser_set_current_name (chooser, "Untitled document");
  }
else
  {
    /* the user edited an existing document */ 
    gtk_file_chooser_set_filename (chooser, existing_filename);
  }
</pre>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>filename</code></em>&#160;:</span></td>
<td> the filename to set as current
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if both the folder could be changed and the file was
selected successfully, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3408322"></a><h3>
<a name="gtk-file-chooser-select-filename"></a>gtk_file_chooser_select_filename ()</h3>
<a class="indexterm" name="id3408338"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_select_filename
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *filename);</pre>
<p>
Selects a filename. If the file name isn't in the current
folder of <em class="parameter"><code>chooser</code></em>, then the current folder of <em class="parameter"><code>chooser</code></em> will
be changed to the folder containing <em class="parameter"><code>filename</code></em>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>filename</code></em>&#160;:</span></td>
<td> the filename to select
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if both the folder could be changed and the file was
selected successfully, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3408475"></a><h3>
<a name="gtk-file-chooser-unselect-filename"></a>gtk_file_chooser_unselect_filename ()</h3>
<a class="indexterm" name="id3408491"></a><pre class="programlisting">void        gtk_file_chooser_unselect_filename
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *filename);</pre>
<p>
Unselects a currently selected filename. If the filename
is not in the current directory, does not exist, or
is otherwise not currently selected, does nothing.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>filename</code></em>&#160;:</span></td>
<td> the filename to unselect
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3408578"></a><h3>
<a name="gtk-file-chooser-select-all"></a>gtk_file_chooser_select_all ()</h3>
<a class="indexterm" name="id3408595"></a><pre class="programlisting">void        gtk_file_chooser_select_all     (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Selects all the files in the current folder of a file chooser.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr></tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3408658"></a><h3>
<a name="gtk-file-chooser-unselect-all"></a>gtk_file_chooser_unselect_all ()</h3>
<a class="indexterm" name="id3408674"></a><pre class="programlisting">void        gtk_file_chooser_unselect_all   (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Unselects all the files in the current folder of a file chooser.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr></tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3408737"></a><h3>
<a name="gtk-file-chooser-get-filenames"></a>gtk_file_chooser_get_filenames ()</h3>
<a class="indexterm" name="id3408753"></a><pre class="programlisting"><a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
>GSList</a>*     gtk_file_chooser_get_filenames  (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Lists all the selected files and subfolders in the current folder of
<em class="parameter"><code>chooser</code></em>. The returned names are full absolute paths. If files in the current
folder cannot be represented as local filenames they will be ignored. (See
<a href="GtkFileChooser.html#gtk-file-chooser-get-uris"><code class="function">gtk_file_chooser_get_uris()</code></a>)</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> a <a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
><span class="type">GSList</span></a> containing the filenames of all selected
  files and subfolders in the current folder. Free the returned list
  with <a
href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"
><code class="function">g_slist_free()</code></a>, and the filenames with <a
href="../glib/glib-Memory-Allocation.html#g-free"
><code class="function">g_free()</code></a>.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3408877"></a><h3>
<a name="gtk-file-chooser-set-current-folder"></a>gtk_file_chooser_set_current_folder ()</h3>
<a class="indexterm" name="id3408893"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_set_current_folder
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *filename);</pre>
<p>
Sets the current folder for <em class="parameter"><code>chooser</code></em> from a local filename.
The user will be shown the full contents of the current folder,
plus user interface elements for navigating to other folders.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>filename</code></em>&#160;:</span></td>
<td> the full path of the new current folder
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the folder could be changed successfully, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a>
otherwise.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3409019"></a><h3>
<a name="gtk-file-chooser-get-current-folder"></a>gtk_file_chooser_get_current_folder ()</h3>
<a class="indexterm" name="id3409035"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>*      gtk_file_chooser_get_current_folder
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets the current folder of <em class="parameter"><code>chooser</code></em> as a local filename.
See <a href="GtkFileChooser.html#gtk-file-chooser-set-current-folder"><code class="function">gtk_file_chooser_set_current_folder()</code></a>.
</p>
<p>
Note that this is the folder that the file chooser is currently displaying
(e.g. "/home/username/Documents"), which is <span class="emphasis"><em>not the same</em></span>
as the currently-selected folder if the chooser is in
<span class="type">GTK_FILE_CHOOSER_SELECT_FOLDER</span> mode
(e.g. "/home/username/Documents/selected-folder/".  To get the
currently-selected folder in that mode, use <a href="GtkFileChooser.html#gtk-file-chooser-get-uri"><code class="function">gtk_file_chooser_get_uri()</code></a> as the
usual way to get the selection.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the full path of the current folder, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if the current
path cannot be represented as a local filename.  Free with <a
href="../glib/glib-Memory-Allocation.html#g-free"
><code class="function">g_free()</code></a>.  This
function will also return <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if the file chooser was unable to load the
last folder that was requested from it; for example, as would be for calling
<a href="GtkFileChooser.html#gtk-file-chooser-set-current-folder"><code class="function">gtk_file_chooser_set_current_folder()</code></a> on a nonexistent folder.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3409208"></a><h3>
<a name="gtk-file-chooser-get-uri"></a>gtk_file_chooser_get_uri ()</h3>
<a class="indexterm" name="id3409223"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>*      gtk_file_chooser_get_uri        (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets the URI for the currently selected file in
the file selector. If multiple files are selected,
one of the filenames will be returned at random.
</p>
<p>
If the file chooser is in folder mode, this function returns the selected
folder.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> The currently selected URI, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
 if no file is selected. Free with <a
href="../glib/glib-Memory-Allocation.html#g-free"
><code class="function">g_free()</code></a>

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3409324"></a><h3>
<a name="gtk-file-chooser-set-uri"></a>gtk_file_chooser_set_uri ()</h3>
<a class="indexterm" name="id3409339"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_set_uri        (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *uri);</pre>
<p>
Sets the file referred to by <em class="parameter"><code>uri</code></em> as the current file for the file chooser,
by changing to the URI's parent folder and actually selecting the URI in the
list.  If the <em class="parameter"><code>chooser</code></em> is <a href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><span class="type">GTK_FILE_CHOOSER_ACTION_SAVE</span></a> mode, the URI's base
name will also appear in the dialog's file name entry.
</p>
<p>
If the URI isn't in the current folder of <em class="parameter"><code>chooser</code></em>, then the current folder
of <em class="parameter"><code>chooser</code></em> will be changed to the folder containing <em class="parameter"><code>uri</code></em>. This is equivalent
to a sequence of <a href="GtkFileChooser.html#gtk-file-chooser-unselect-all"><code class="function">gtk_file_chooser_unselect_all()</code></a> followed by
<a href="GtkFileChooser.html#gtk-file-chooser-select-uri"><code class="function">gtk_file_chooser_select_uri()</code></a>.
</p>
<p>
Note that the URI must exist, or nothing will be done except
for the directory change.
If you are implementing a <span class="guimenuitem">File/Save As...</span> dialog, you
should use this function if you already have a file name to which the user may save; for example,
when the user opens an existing file and then does <span class="guimenuitem">File/Save As...</span>
on it.  If you don't have a file name already &#8212; for example, if the user just created
a new file and is saving it for the first time, do not call this function.  Instead, use
something similar to this:
</p>
<p>
</p>
<pre class="programlisting">
if (document_is_new)
  {
    /* the user just created a new document */
    gtk_file_chooser_set_current_folder_uri (chooser, default_folder_for_saving);
    gtk_file_chooser_set_current_name (chooser, "Untitled document");
  }
else
  {
    /* the user edited an existing document */ 
    gtk_file_chooser_set_uri (chooser, existing_uri);
  }
</pre>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>uri</code></em>&#160;:</span></td>
<td> the URI to set as current
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if both the folder could be changed and the URI was
selected successfully, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3409573"></a><h3>
<a name="gtk-file-chooser-select-uri"></a>gtk_file_chooser_select_uri ()</h3>
<a class="indexterm" name="id3409589"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_select_uri     (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *uri);</pre>
<p>
Selects the file to by <em class="parameter"><code>uri</code></em>. If the URI doesn't refer to a
file in the current folder of <em class="parameter"><code>chooser</code></em>, then the current folder of
<em class="parameter"><code>chooser</code></em> will be changed to the folder containing <em class="parameter"><code>filename</code></em>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>uri</code></em>&#160;:</span></td>
<td> the URI to select
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if both the folder could be changed and the URI was
selected successfully, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3409730"></a><h3>
<a name="gtk-file-chooser-unselect-uri"></a>gtk_file_chooser_unselect_uri ()</h3>
<a class="indexterm" name="id3409746"></a><pre class="programlisting">void        gtk_file_chooser_unselect_uri   (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *uri);</pre>
<p>
Unselects the file referred to by <em class="parameter"><code>uri</code></em>. If the file
is not in the current directory, does not exist, or
is otherwise not currently selected, does nothing.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>uri</code></em>&#160;:</span></td>
<td> the URI to unselect
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3409838"></a><h3>
<a name="gtk-file-chooser-get-uris"></a>gtk_file_chooser_get_uris ()</h3>
<a class="indexterm" name="id3409854"></a><pre class="programlisting"><a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
>GSList</a>*     gtk_file_chooser_get_uris       (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Lists all the selected files and subfolders in the current folder of
<em class="parameter"><code>chooser</code></em>. The returned names are full absolute URIs.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> a <a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
><span class="type">GSList</span></a> containing the URIs of all selected
  files and subfolders in the current folder. Free the returned list
  with <a
href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"
><code class="function">g_slist_free()</code></a>, and the filenames with <a
href="../glib/glib-Memory-Allocation.html#g-free"
><code class="function">g_free()</code></a>.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3409964"></a><h3>
<a name="gtk-file-chooser-set-current-folder-uri"></a>gtk_file_chooser_set_current_folder_uri ()</h3>
<a class="indexterm" name="id3409981"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_set_current_folder_uri
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const <a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a> *uri);</pre>
<p>
Sets the current folder for <em class="parameter"><code>chooser</code></em> from an URI.
The user will be shown the full contents of the current folder,
plus user interface elements for navigating to other folders.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>uri</code></em>&#160;:</span></td>
<td> the URI for the new current folder
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the folder could be changed successfully, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a>
otherwise.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3410106"></a><h3>
<a name="gtk-file-chooser-get-current-folder-uri"></a>gtk_file_chooser_get_current_folder_uri ()</h3>
<a class="indexterm" name="id3410122"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gchar"
>gchar</a>*      gtk_file_chooser_get_current_folder_uri
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets the current folder of <em class="parameter"><code>chooser</code></em> as an URI.
See <a href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a>.
</p>
<p>
Note that this is the folder that the file chooser is currently displaying
(e.g. "file:///home/username/Documents"), which is <span class="emphasis"><em>not the same</em></span>
as the currently-selected folder if the chooser is in
<span class="type">GTK_FILE_CHOOSER_SELECT_FOLDER</span> mode
(e.g. "file:///home/username/Documents/selected-folder/".  To get the
currently-selected folder in that mode, use <a href="GtkFileChooser.html#gtk-file-chooser-get-uri"><code class="function">gtk_file_chooser_get_uri()</code></a> as the
usual way to get the selection.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the URI for the current folder.  Free with <a
href="../glib/glib-Memory-Allocation.html#g-free"
><code class="function">g_free()</code></a>.  This
function will also return <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if the file chooser was unable to load the
last folder that was requested from it; for example, as would be for calling
<a href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a> on a nonexistent folder.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3410282"></a><h3>
<a name="gtk-file-chooser-set-preview-widget"></a>gtk_file_chooser_set_preview_widget ()</h3>
<a class="indexterm" name="id3410299"></a><pre class="programlisting">void        gtk_file_chooser_set_preview_widget
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *preview_widget);</pre>
<p>
Sets an application-supplied widget to use to display a custom preview
of the currently selected file. To implement a preview, after setting the
preview widget, you connect to the ::update-preview
signal, and call <a href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename"><code class="function">gtk_file_chooser_get_preview_filename()</code></a> or
<a href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri"><code class="function">gtk_file_chooser_get_preview_uri()</code></a> on each change. If you can
display a preview of the new file, update your widget and
set the preview active using <a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a>.
Otherwise, set the preview inactive.
</p>
<p>
When there is no application-supplied preview widget, or the
application-supplied preview widget is not active, the file chooser
may display an internally generated preview of the current file or
it may display no preview at all.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>preview_widget</code></em>&#160;:</span></td>
<td> widget for displaying preview.
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3410432"></a><h3>
<a name="gtk-file-chooser-get-preview-widget"></a>gtk_file_chooser_get_preview_widget ()</h3>
<a class="indexterm" name="id3410449"></a><pre class="programlisting"><a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>*  gtk_file_chooser_get_preview_widget
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets the current preview widget; see
<a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the current preview widget, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3410544"></a><h3>
<a name="gtk-file-chooser-set-preview-widget-active"></a>gtk_file_chooser_set_preview_widget_active ()</h3>
<a class="indexterm" name="id3410562"></a><pre class="programlisting">void        gtk_file_chooser_set_preview_widget_active
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> active);</pre>
<p>
Sets whether the preview widget set by
<a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget"><code class="function">gtk_file_chooser_set_preview_widget()</code></a> should be shown for the
current filename. When <em class="parameter"><code>active</code></em> is set to false, the file chooser
may display an internally generated preview of the current file
or it may display no preview at all. See
<a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget"><code class="function">gtk_file_chooser_set_preview_widget()</code></a> for more details.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>active</code></em>&#160;:</span></td>
<td> whether to display the user-specified preview widget
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3410680"></a><h3>
<a name="gtk-file-chooser-get-preview-widget-active"></a>gtk_file_chooser_get_preview_widget_active ()</h3>
<a class="indexterm" name="id3410697"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_get_preview_widget_active
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets whether the preview widget set by <a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>
should be shown for the current filename. See
<a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the preview widget is active for the current filename.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3410807"></a><h3>
<a name="gtk-file-chooser-set-use-preview-label"></a>gtk_file_chooser_set_use_preview_label ()</h3>
<a class="indexterm" name="id3410822"></a><pre class="programlisting">void        gtk_file_chooser_set_use_preview_label
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a> use_label);</pre>
<p>
Sets whether the file chooser should display a stock label with the name of
the file that is being previewed; the default is <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a>.  Applications that
want to draw the whole preview area themselves should set this to <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> and
display the name themselves in their preview widget.
</p>
<p>
See also: <a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget"><code class="function">gtk_file_chooser_set_preview_widget()</code></a></p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>use_label</code></em>&#160;:</span></td>
<td> whether to display a stock label with the name of the previewed file
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3410947"></a><h3>
<a name="gtk-file-chooser-get-use-preview-label"></a>gtk_file_chooser_get_use_preview_label ()</h3>
<a class="indexterm" name="id3410961"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_get_use_preview_label
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets whether a stock label should be drawn with the name of the previewed
file.  See <a href="GtkFileChooser.html#gtk-file-chooser-set-use-preview-label"><code class="function">gtk_file_chooser_set_use_preview_label()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the file chooser is set to display a label with the
name of the previewed file, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3411065"></a><h3>
<a name="gtk-file-chooser-get-preview-filename"></a>gtk_file_chooser_get_preview_filename ()</h3>
<a class="indexterm" name="id3411082"></a><pre class="programlisting">char*       gtk_file_chooser_get_preview_filename
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets the filename that should be previewed in a custom preview
widget. See <a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the filename to preview, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if no file
 is selected, or if the selected file cannot be represented
 as a local filename. Free with <a
href="../glib/glib-Memory-Allocation.html#g-free"
><code class="function">g_free()</code></a>

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3411190"></a><h3>
<a name="gtk-file-chooser-get-preview-uri"></a>gtk_file_chooser_get_preview_uri ()</h3>
<a class="indexterm" name="id3411206"></a><pre class="programlisting">char*       gtk_file_chooser_get_preview_uri
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets the URI that should be previewed in a custom preview
widget. See <a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the URI for the file to preview, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if no file is
selected. Free with <a
href="../glib/glib-Memory-Allocation.html#g-free"
><code class="function">g_free()</code></a>.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3411313"></a><h3>
<a name="gtk-file-chooser-set-extra-widget"></a>gtk_file_chooser_set_extra_widget ()</h3>
<a class="indexterm" name="id3411330"></a><pre class="programlisting">void        gtk_file_chooser_set_extra_widget
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="GtkWidget.html" title="GtkWidget">GtkWidget</a> *extra_widget);</pre>
<p>
Sets an application-supplied widget to provide extra options to the user.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>extra_widget</code></em>&#160;:</span></td>
<td> widget for extra options
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3411415"></a><h3>
<a name="gtk-file-chooser-get-extra-widget"></a>gtk_file_chooser_get_extra_widget ()</h3>
<a class="indexterm" name="id3411432"></a><pre class="programlisting"><a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>*  gtk_file_chooser_get_extra_widget
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets the current preview widget; see
<a href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget"><code class="function">gtk_file_chooser_set_extra_widget()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the current extra widget, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3411527"></a><h3>
<a name="gtk-file-chooser-add-filter"></a>gtk_file_chooser_add_filter ()</h3>
<a class="indexterm" name="id3411544"></a><pre class="programlisting">void        gtk_file_chooser_add_filter     (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter);</pre>
<p>
Adds <em class="parameter"><code>filter</code></em> to the list of filters that the user can select between.
When a filter is selected, only files that are passed by that
filter are displayed. 
</p>
<p>
Note that the <em class="parameter"><code>chooser</code></em> takes ownership of the filter, so you have to 
ref and sink it if you want to keep a reference.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>filter</code></em>&#160;:</span></td>
<td> a <a href="gtk-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a>
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3411654"></a><h3>
<a name="gtk-file-chooser-remove-filter"></a>gtk_file_chooser_remove_filter ()</h3>
<a class="indexterm" name="id3411670"></a><pre class="programlisting">void        gtk_file_chooser_remove_filter  (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter);</pre>
<p>
Removes <em class="parameter"><code>filter</code></em> from the list of filters that the user can select between.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>filter</code></em>&#160;:</span></td>
<td> a <a href="gtk-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a>
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3411770"></a><h3>
<a name="gtk-file-chooser-list-filters"></a>gtk_file_chooser_list_filters ()</h3>
<a class="indexterm" name="id3411786"></a><pre class="programlisting"><a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
>GSList</a>*     gtk_file_chooser_list_filters   (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Lists the current set of user-selectable filters; see
<a href="GtkFileChooser.html#gtk-file-chooser-add-filter"><code class="function">gtk_file_chooser_add_filter()</code></a>, <a href="GtkFileChooser.html#gtk-file-chooser-remove-filter"><code class="function">gtk_file_chooser_remove_filter()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> a <a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
><span class="type">GSList</span></a> containing the current set of
 user selectable filters. The contents of the list are
 owned by GTK+, but you must free the list itself with
 <a
href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"
><code class="function">g_slist_free()</code></a> when you are done with it.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3411903"></a><h3>
<a name="gtk-file-chooser-set-filter"></a>gtk_file_chooser_set_filter ()</h3>
<a class="indexterm" name="id3411919"></a><pre class="programlisting">void        gtk_file_chooser_set_filter     (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             <a href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a> *filter);</pre>
<p>
Sets the current filter; only the files that pass the
filter will be displayed. If the user-selectable list of filters
is non-empty, then the filter should be one of the filters
in that list. Setting the current filter when the list of
filters is empty is useful if you want to restrict the displayed
set of files without letting the user change it.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>filter</code></em>&#160;:</span></td>
<td> a <a href="gtk-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a>
</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3412016"></a><h3>
<a name="gtk-file-chooser-get-filter"></a>gtk_file_chooser_get_filter ()</h3>
<a class="indexterm" name="id3412032"></a><pre class="programlisting"><a href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a>* gtk_file_chooser_get_filter  (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Gets the current filter; see <a href="GtkFileChooser.html#gtk-file-chooser-set-filter"><code class="function">gtk_file_chooser_set_filter()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the current filter, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3412126"></a><h3>
<a name="gtk-file-chooser-add-shortcut-folder"></a>gtk_file_chooser_add_shortcut_folder ()</h3>
<a class="indexterm" name="id3412143"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_add_shortcut_folder
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *folder,
                                             <a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Adds a folder to be displayed with the shortcut folders in a file chooser.
Note that shortcut folders do not get saved, as they are provided by the
application.  For example, you can use this to add a
"/usr/share/mydrawprogram/Clipart" folder to the volume list.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>folder</code></em>&#160;:</span></td>
<td> filename of the folder to add
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>error</code></em>&#160;:</span></td>
<td> location to store error, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the folder could be added successfully, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a>
otherwise.  In the latter case, the <em class="parameter"><code>error</code></em> will be set as appropriate.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3412303"></a><h3>
<a name="gtk-file-chooser-remove-shortcut-folder"></a>gtk_file_chooser_remove_shortcut_folder ()</h3>
<a class="indexterm" name="id3412319"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_remove_shortcut_folder
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *folder,
                                             <a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Removes a folder from a file chooser's list of shortcut folders.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>folder</code></em>&#160;:</span></td>
<td> filename of the folder to remove
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>error</code></em>&#160;:</span></td>
<td> location to store error, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the operation succeeds, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise.  
In the latter case, the <em class="parameter"><code>error</code></em> will be set as appropriate.

See also: <a href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder"><code class="function">gtk_file_chooser_add_shortcut_folder()</code></a>

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3412487"></a><h3>
<a name="gtk-file-chooser-list-shortcut-folders"></a>gtk_file_chooser_list_shortcut_folders ()</h3>
<a class="indexterm" name="id3412503"></a><pre class="programlisting"><a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
>GSList</a>*     gtk_file_chooser_list_shortcut_folders
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Queries the list of shortcut folders in the file chooser, as set by
<a href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder"><code class="function">gtk_file_chooser_add_shortcut_folder()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> A list of folder filenames, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if there are no shortcut
folders.  Free the returned list with <a
href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"
><code class="function">g_slist_free()</code></a>, and the filenames with
<a
href="../glib/glib-Memory-Allocation.html#g-free"
><code class="function">g_free()</code></a>.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3412622"></a><h3>
<a name="gtk-file-chooser-add-shortcut-folder-uri"></a>gtk_file_chooser_add_shortcut_folder_uri ()</h3>
<a class="indexterm" name="id3412638"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_add_shortcut_folder_uri
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *uri,
                                             <a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Adds a folder URI to be displayed with the shortcut folders in a file
chooser.  Note that shortcut folders do not get saved, as they are provided
by the application.  For example, you can use this to add a
"file:///usr/share/mydrawprogram/Clipart" folder to the volume list.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>uri</code></em>&#160;:</span></td>
<td> URI of the folder to add
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>error</code></em>&#160;:</span></td>
<td> location to store error, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the folder could be added successfully, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a>
otherwise.  In the latter case, the <em class="parameter"><code>error</code></em> will be set as appropriate.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3412798"></a><h3>
<a name="gtk-file-chooser-remove-shortcut-folder-uri"></a>gtk_file_chooser_remove_shortcut_folder_uri ()</h3>
<a class="indexterm" name="id3412815"></a><pre class="programlisting"><a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>    gtk_file_chooser_remove_shortcut_folder_uri
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                             const char *uri,
                                             <a
href="../glib/glib-Error-Reporting.html#GError"
>GError</a> **error);</pre>
<p>
Removes a folder URI from a file chooser's list of shortcut folders.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>uri</code></em>&#160;:</span></td>
<td> URI of the folder to remove
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>error</code></em>&#160;:</span></td>
<td> location to store error, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> <a
href="../glib/glib-Standard-Macros.html#TRUE:CAPS"
><code class="literal">TRUE</code></a> if the operation succeeds, <a
href="../glib/glib-Standard-Macros.html#FALSE:CAPS"
><code class="literal">FALSE</code></a> otherwise.  
In the latter case, the <em class="parameter"><code>error</code></em> will be set as appropriate.

See also: <a href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri"><code class="function">gtk_file_chooser_add_shortcut_folder_uri()</code></a>

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3412983"></a><h3>
<a name="gtk-file-chooser-list-shortcut-folder-uris"></a>gtk_file_chooser_list_shortcut_folder_uris ()</h3>
<a class="indexterm" name="id3413000"></a><pre class="programlisting"><a
href="../glib/glib-Singly-Linked-Lists.html#GSList"
>GSList</a>*     gtk_file_chooser_list_shortcut_folder_uris
                                            (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser);</pre>
<p>
Queries the list of shortcut folders in the file chooser, as set by
<a href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri"><code class="function">gtk_file_chooser_add_shortcut_folder_uri()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> A list of folder URIs, or <a
href="../glib/glib-Standard-Macros.html#NULL:CAPS"
><code class="literal">NULL</code></a> if there are no shortcut
folders.  Free the returned list with <a
href="../glib/glib-Singly-Linked-Lists.html#g-slist-free"
><code class="function">g_slist_free()</code></a>, and the URIs with
<a
href="../glib/glib-Memory-Allocation.html#g-free"
><code class="function">g_free()</code></a>.

</td>
</tr>
</tbody>
</table></div>
<p>Since  2.4
</p>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id3413119"></a><h2>Property Details</h2>
<div class="refsect2" lang="en">
<a name="id3413130"></a><h3>
<a name="GtkFileChooser--action"></a>The "<code class="literal">action</code>" property</h3>
<a class="indexterm" name="id3413146"></a><pre class="programlisting">  "action"               <a href="GtkFileChooser.html#GtkFileChooserAction">GtkFileChooserAction</a>  : Read / Write</pre>
<p>The type of operation that the file selector is performing.</p>
<p>Default value: GTK_FILE_CHOOSER_ACTION_OPEN</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3413174"></a><h3>
<a name="GtkFileChooser--do-overwrite-confirmation"></a>The "<code class="literal">do-overwrite-confirmation</code>" property</h3>
<a class="indexterm" name="id3413191"></a><pre class="programlisting">  "do-overwrite-confirmation" <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>
Whether a file chooser in <a href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode
will present an overwrite confirmation dialog if the user
selects a file name that already exists.</p>
<p>

</p>
<p>Default value: FALSE</p>
<p>Since  2.8
</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3413240"></a><h3>
<a name="GtkFileChooser--extra-widget"></a>The "<code class="literal">extra-widget</code>" property</h3>
<a class="indexterm" name="id3413257"></a><pre class="programlisting">  "extra-widget"         <a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>             : Read / Write</pre>
<p>Application supplied widget for extra options.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3413281"></a><h3>
<a name="GtkFileChooser--file-system-backend"></a>The "<code class="literal">file-system-backend</code>" property</h3>
<a class="indexterm" name="id3413297"></a><pre class="programlisting">  "file-system-backend"  <a
href="../gobject/gobject-Standard-Parameter-and-Value-Types.html#gchararray"
>gchararray</a>            : Write / Construct Only</pre>
<p>Name of file system backend to use.</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3413324"></a><h3>
<a name="GtkFileChooser--filter"></a>The "<code class="literal">filter</code>" property</h3>
<a class="indexterm" name="id3413340"></a><pre class="programlisting">  "filter"               <a href="gtk-gtkfilefilter.html#GtkFileFilter">GtkFileFilter</a>         : Read / Write</pre>
<p>The current filter for selecting which files are displayed.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3413364"></a><h3>
<a name="GtkFileChooser--local-only"></a>The "<code class="literal">local-only</code>" property</h3>
<a class="indexterm" name="id3413380"></a><pre class="programlisting">  "local-only"           <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>Whether the selected file(s) should be limited to local file: URLs.</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3413407"></a><h3>
<a name="GtkFileChooser--preview-widget"></a>The "<code class="literal">preview-widget</code>" property</h3>
<a class="indexterm" name="id3413424"></a><pre class="programlisting">  "preview-widget"       <a href="GtkWidget.html" title="GtkWidget">GtkWidget</a>             : Read / Write</pre>
<p>Application supplied widget for custom previews.</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3413448"></a><h3>
<a name="GtkFileChooser--preview-widget-active"></a>The "<code class="literal">preview-widget-active</code>" property</h3>
<a class="indexterm" name="id3413465"></a><pre class="programlisting">  "preview-widget-active" <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>Whether the application supplied widget for custom previews should be shown.</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3413493"></a><h3>
<a name="GtkFileChooser--select-multiple"></a>The "<code class="literal">select-multiple</code>" property</h3>
<a class="indexterm" name="id3413510"></a><pre class="programlisting">  "select-multiple"      <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>Whether to allow multiple files to be selected.</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3413537"></a><h3>
<a name="GtkFileChooser--show-hidden"></a>The "<code class="literal">show-hidden</code>" property</h3>
<a class="indexterm" name="id3413554"></a><pre class="programlisting">  "show-hidden"          <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>Whether the hidden files and folders should be displayed.</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3413581"></a><h3>
<a name="GtkFileChooser--use-preview-label"></a>The "<code class="literal">use-preview-label</code>" property</h3>
<a class="indexterm" name="id3413598"></a><pre class="programlisting">  "use-preview-label"    <a
href="../glib/glib-Basic-Types.html#gboolean"
>gboolean</a>              : Read / Write</pre>
<p>Whether to display a stock label with the name of the previewed file.</p>
<p>Default value: TRUE</p>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id3413626"></a><h2>Signal Details</h2>
<div class="refsect2" lang="en">
<a name="id3413636"></a><h3>
<a name="GtkFileChooser-confirm-overwrite"></a>The "confirm-overwrite" signal</h3>
<a class="indexterm" name="id3413648"></a><pre class="programlisting"><a href="GtkFileChooser.html#GtkFileChooserConfirmation">GtkFileChooserConfirmation</a>*user_function                  (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *filechooser,
                                            <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a>        user_data)        : Run last</pre>
<p>
      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 <a href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><span class="type">GTK_FILE_CHOOSER_ACTION_SAVE</span></a> mode.
    </p>
<p>
      Most applications just need to turn on the <a href="GtkFileChooser.html#GtkFileChooser--do-overwrite-confirmation">do-overwrite-confirmation</a>
      property (or call the
      <a href="GtkFileChooser.html#gtk-file-chooser-set-do-overwrite-confirmation"><code class="function">gtk_file_chooser_set_do_overwrite_confirmation()</code></a> 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 <span class="symbol">confirm-overwrite</span>
      signal.
    </p>
<p>
      A signal handler for this signal must return a
      <a href="GtkFileChooser.html#GtkFileChooserConfirmation"><span class="type">GtkFileChooserConfirmation</span></a> value, which indicates the action to
      take.  If the handler determines that the user wants to select a
      different filename, it should return
      <a href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-SELECT-AGAIN:CAPS"><span class="type">GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN</span></a>.  If it determines
      that the user is satisfied with his choice of file name, it
      should return <a href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-ACCEPT-FILENAME:CAPS"><span class="type">GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME</span></a>.
      On the other hand, if it determines that the stock confirmation
      dialog should be used, it should return
      <a href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-CONFIRM:CAPS"><span class="type">GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM</span></a>.  The following example
      illustrates this.
    </p>
<div class="example">
<a name="gtkfilechooser-confirmation"></a><p class="title"><b>Example&#160;5.&#160;Custom confirmation</b></p>
<pre class="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);
      </pre>
</div>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>filechooser</code></em>&#160;:</span></td>
<td>the object which received the signal.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></td>
<td>user data set when the signal handler was connected.</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td>
<a href="GtkFileChooser.html#GtkFileChooserConfirmation"><span class="type">GtkFileChooserConfirmation</span></a> value that indicates which
    action to take after emitting the signal.

    <p>
      Since 2.8
    </p>

</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3413870"></a><h3>
<a name="GtkFileChooser-current-folder-changed"></a>The "current-folder-changed" signal</h3>
<a class="indexterm" name="id3413882"></a><pre class="programlisting">void        user_function                  (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                            <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a>        user_data)      : Run last</pre>
<p>
This signal is emitted when the current folder in a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>
changes.  This can happen due to the user performing some action that
changes folders, such as selecting a bookmark or visiting a folder on the
file list.  It can also happen as a result of calling a function to
explicitly change the current folder in a file chooser.
</p>
<p>
Normally you do not need to connect to this signal, unless you need to keep
track of which folder a file chooser is showing.
</p>
<p>
See also:  <a href="GtkFileChooser.html#gtk-file-chooser-set-current-folder"><code class="function">gtk_file_chooser_set_current_folder()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-get-current-folder"><code class="function">gtk_file_chooser_get_current_folder()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-get-current-folder-uri"><code class="function">gtk_file_chooser_get_current_folder_uri()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> the object which received the signal.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3414023"></a><h3>
<a name="GtkFileChooser-file-activated"></a>The "file-activated" signal</h3>
<a class="indexterm" name="id3414033"></a><pre class="programlisting">void        user_function                  (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                            <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a>        user_data)      : Run last</pre>
<p>
This signal is emitted when the user "activates" a file in the file
chooser.  This can happen by double-clicking on a file in the file list, or
by pressing <span><strong class="keycap">Enter</strong></span>.
</p>
<p>
Normally you do not need to connect to this signal.  It is used internally
by <a href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a> to know when to activate the default button in the
dialog.
</p>
<p>
See also: <a href="GtkFileChooser.html#gtk-file-chooser-get-filename"><code class="function">gtk_file_chooser_get_filename()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-get-filenames"><code class="function">gtk_file_chooser_get_filenames()</code></a>, <a href="GtkFileChooser.html#gtk-file-chooser-get-uri"><code class="function">gtk_file_chooser_get_uri()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-get-uris"><code class="function">gtk_file_chooser_get_uris()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> the object which received the signal.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3414175"></a><h3>
<a name="GtkFileChooser-selection-changed"></a>The "selection-changed" signal</h3>
<a class="indexterm" name="id3414186"></a><pre class="programlisting">void        user_function                  (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                            <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a>        user_data)      : Run last</pre>
<p>
This signal is emitted when there is a change in the set of selected files
in a <a href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>.  This can happen when the user modifies the selection
with the mouse or the keyboard, or when explicitly calling functions to
change the selection.
</p>
<p>
Normally you do not need to connect to this signal, as it is easier to wait
for the file chooser to finish running, and then to get the list of
selected files using the functions mentioned below.
</p>
<p>
See also: <a href="GtkFileChooser.html#gtk-file-chooser-select-filename"><code class="function">gtk_file_chooser_select_filename()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-unselect-filename"><code class="function">gtk_file_chooser_unselect_filename()</code></a>, <a href="GtkFileChooser.html#gtk-file-chooser-get-filename"><code class="function">gtk_file_chooser_get_filename()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-get-filenames"><code class="function">gtk_file_chooser_get_filenames()</code></a>, <a href="GtkFileChooser.html#gtk-file-chooser-select-uri"><code class="function">gtk_file_chooser_select_uri()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-unselect-uri"><code class="function">gtk_file_chooser_unselect_uri()</code></a>, <a href="GtkFileChooser.html#gtk-file-chooser-get-uri"><code class="function">gtk_file_chooser_get_uri()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-get-uris"><code class="function">gtk_file_chooser_get_uris()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> the object which received the signal.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id3414369"></a><h3>
<a name="GtkFileChooser-update-preview"></a>The "update-preview" signal</h3>
<a class="indexterm" name="id3414380"></a><pre class="programlisting">void        user_function                  (<a href="GtkFileChooser.html" title="GtkFileChooser">GtkFileChooser</a> *chooser,
                                            <a
href="../glib/glib-Basic-Types.html#gpointer"
>gpointer</a>        user_data)      : Run last</pre>
<p>
This signal is emitted when the preview in a file chooser should be
regenerated.  For example, this can happen when the currently selected file
changes.  You should use this signal if you want your file chooser to have
a preview widget.
</p>
<p>
Once you have installed a preview widget with
<a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>, you should update it when this
signal is emitted.  You can use the functions
<a href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename"><code class="function">gtk_file_chooser_get_preview_filename()</code></a> or
<a href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri"><code class="function">gtk_file_chooser_get_preview_uri()</code></a> to get the name of the file to preview.
Your widget may not be able to preview all kinds of files; your callback
must call <code class="function">gtk_file_chooser_set_preview_wiget_active()</code> to inform the file
chooser about whether the preview was generated successfully or not.
</p>
<p>
Please see the example code in <a href="GtkFileChooser.html#gtkfilechooser-preview" title="Adding a Preview Widget">the section called &#8220;Adding a Preview Widget&#8221;</a>.
</p>
<p>
See also: <a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-set-use-preview-label"><code class="function">gtk_file_chooser_set_use_preview_label()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename"><code class="function">gtk_file_chooser_get_preview_filename()</code></a>,
<a href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri"><code class="function">gtk_file_chooser_get_preview_uri()</code></a>.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>chooser</code></em>&#160;:</span></td>
<td> the object which received the signal.
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>user_data</code></em>&#160;:</span></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1" lang="en">
<a name="id3414587"></a><h2>See Also</h2>
<p>
      <a href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a>, <a href="GtkFileChooserWidget.html" title="GtkFileChooserWidget"><span class="type">GtkFileChooserWidget</span></a>, <a href="GtkFileChooserButton.html" title="GtkFileChooserButton"><span class="type">GtkFileChooserButton</span></a>
    </p>
</div>
</div>
</body>
</html>

Anon7 - 2021