Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkFileChooser: GTK+ 2 Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
<link rel="home" href="index.html" title="GTK+ 2 Reference Manual">
<link rel="up" href="SelectorWidgets.html" title="Selectors (File/Font/Color/Input Devices)">
<link rel="prev" href="GtkHSV.html" title="GtkHSV">
<link rel="next" href="GtkFileChooserButton.html" title="GtkFileChooserButton">
<meta name="generator" content="GTK-Doc V1.26.1 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</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="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.prerequisites" class="shortcut">Prerequisites</a></span><span id="nav_implementations">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.implementations" class="shortcut">Known Implementations</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
                  <a href="#GtkFileChooser.signals" class="shortcut">Signals</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="SelectorWidgets.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="GtkHSV.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="GtkFileChooserButton.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GtkFileChooser"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkFileChooser.top_of_page"></a>GtkFileChooser</span></h2>
<p>GtkFileChooser — File chooser interface used by GtkFileChooserWidget and GtkFileChooserDialog</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GtkFileChooser.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-action" title="gtk_file_chooser_set_action ()">gtk_file_chooser_set_action</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="returnvalue">GtkFileChooserAction</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-action" title="gtk_file_chooser_get_action ()">gtk_file_chooser_get_action</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-local-only" title="gtk_file_chooser_set_local_only ()">gtk_file_chooser_set_local_only</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-local-only" title="gtk_file_chooser_get_local_only ()">gtk_file_chooser_get_local_only</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-select-multiple" title="gtk_file_chooser_set_select_multiple ()">gtk_file_chooser_set_select_multiple</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-select-multiple" title="gtk_file_chooser_get_select_multiple ()">gtk_file_chooser_get_select_multiple</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-show-hidden" title="gtk_file_chooser_set_show_hidden ()">gtk_file_chooser_set_show_hidden</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-show-hidden" title="gtk_file_chooser_get_show_hidden ()">gtk_file_chooser_get_show_hidden</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-do-overwrite-confirmation" title="gtk_file_chooser_set_do_overwrite_confirmation ()">gtk_file_chooser_set_do_overwrite_confirmation</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-do-overwrite-confirmation" title="gtk_file_chooser_get_do_overwrite_confirmation ()">gtk_file_chooser_get_do_overwrite_confirmation</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-create-folders" title="gtk_file_chooser_set_create_folders ()">gtk_file_chooser_set_create_folders</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-create-folders" title="gtk_file_chooser_get_create_folders ()">gtk_file_chooser_get_create_folders</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-name" title="gtk_file_chooser_set_current_name ()">gtk_file_chooser_set_current_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-all" title="gtk_file_chooser_select_all ()">gtk_file_chooser_select_all</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-all" title="gtk_file_chooser_unselect_all ()">gtk_file_chooser_unselect_all</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()">gtk_file_chooser_get_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-uri" title="gtk_file_chooser_set_uri ()">gtk_file_chooser_set_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-uri" title="gtk_file_chooser_select_uri ()">gtk_file_chooser_select_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-uri" title="gtk_file_chooser_unselect_uri ()">gtk_file_chooser_unselect_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()">gtk_file_chooser_get_uris</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()">gtk_file_chooser_set_current_folder_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder-uri" title="gtk_file_chooser_get_current_folder_uri ()">gtk_file_chooser_get_current_folder_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()">gtk_file_chooser_set_preview_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-widget" title="gtk_file_chooser_get_preview_widget ()">gtk_file_chooser_get_preview_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()">gtk_file_chooser_set_preview_widget_active</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-widget-active" title="gtk_file_chooser_get_preview_widget_active ()">gtk_file_chooser_get_preview_widget_active</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-use-preview-label" title="gtk_file_chooser_set_use_preview_label ()">gtk_file_chooser_set_use_preview_label</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-use-preview-label" title="gtk_file_chooser_get_use_preview_label ()">gtk_file_chooser_get_use_preview_label</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="gtk_file_chooser_get_preview_uri ()">gtk_file_chooser_get_preview_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget" title="gtk_file_chooser_set_extra_widget ()">gtk_file_chooser_set_extra_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-extra-widget" title="gtk_file_chooser_get_extra_widget ()">gtk_file_chooser_get_extra_widget</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-filter" title="gtk_file_chooser_add_filter ()">gtk_file_chooser_add_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-remove-filter" title="gtk_file_chooser_remove_filter ()">gtk_file_chooser_remove_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-list-filters" title="gtk_file_chooser_list_filters ()">gtk_file_chooser_list_filters</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-filter" title="gtk_file_chooser_set_filter ()">gtk_file_chooser_set_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gtk2-gtkfilefilter.html#GtkFileFilter"><span class="returnvalue">GtkFileFilter</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filter" title="gtk_file_chooser_get_filter ()">gtk_file_chooser_get_filter</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri" title="gtk_file_chooser_add_shortcut_folder_uri ()">gtk_file_chooser_add_shortcut_folder_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-remove-shortcut-folder-uri" title="gtk_file_chooser_remove_shortcut_folder_uri ()">gtk_file_chooser_remove_shortcut_folder_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-list-shortcut-folder-uris" title="gtk_file_chooser_list_shortcut_folder_uris ()">gtk_file_chooser_list_shortcut_folder_uris</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../gio/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder-file" title="gtk_file_chooser_get_current_folder_file ()">gtk_file_chooser_get_current_folder_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../gio/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-file" title="gtk_file_chooser_get_file ()">gtk_file_chooser_get_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-files" title="gtk_file_chooser_get_files ()">gtk_file_chooser_get_files</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../gio/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-file" title="gtk_file_chooser_get_preview_file ()">gtk_file_chooser_get_preview_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-file" title="gtk_file_chooser_select_file ()">gtk_file_chooser_select_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-file" title="gtk_file_chooser_set_current_folder_file ()">gtk_file_chooser_set_current_folder_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-file" title="gtk_file_chooser_set_file ()">gtk_file_chooser_set_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-file" title="gtk_file_chooser_unselect_file ()">gtk_file_chooser_unselect_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type"><a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="type">GtkFileChooserAction</span></a></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--action" title="The “action” property">action</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--create-folders" title="The “create-folders” property">create-folders</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--do-overwrite-confirmation" title="The “do-overwrite-confirmation” property">do-overwrite-confirmation</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *</td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--extra-widget" title="The “extra-widget” property">extra-widget</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--file-system-backend" title="The “file-system-backend” property">file-system-backend</a></td>
<td class="property_flags">Write / Construct Only</td>
</tr>
<tr>
<td class="property_type">
<a class="link" href="gtk2-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a> *</td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--filter" title="The “filter” property">filter</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--local-only" title="The “local-only” property">local-only</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type">
<a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *</td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--preview-widget" title="The “preview-widget” property">preview-widget</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--preview-widget-active" title="The “preview-widget-active” property">preview-widget-active</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--select-multiple" title="The “select-multiple” property">select-multiple</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--show-hidden" title="The “show-hidden” property">show-hidden</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
<td class="property_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser--use-preview-label" title="The “use-preview-label” property">use-preview-label</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.signals"></a><h2>Signals</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="signals_return">
<col width="300px" class="signals_name">
<col width="200px" class="signals_flags">
</colgroup>
<tbody>
<tr>
<td class="signal_type"><a class="link" href="GtkFileChooser.html#GtkFileChooserConfirmation" title="enum GtkFileChooserConfirmation"><span class="returnvalue">GtkFileChooserConfirmation</span></a></td>
<td class="signal_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite" title="The “confirm-overwrite” signal">confirm-overwrite</a></td>
<td class="signal_flags"><a href="../gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-current-folder-changed" title="The “current-folder-changed” signal">current-folder-changed</a></td>
<td class="signal_flags"><a href="../gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-file-activated" title="The “file-activated” signal">file-activated</a></td>
<td class="signal_flags"><a href="../gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-selection-changed" title="The “selection-changed” signal">selection-changed</a></td>
<td class="signal_flags"><a href="../gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
<tr>
<td class="signal_type"><span class="returnvalue">void</span></td>
<td class="signal_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-update-preview" title="The “update-preview” signal">update-preview</a></td>
<td class="signal_flags"><a href="../gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#GtkFileChooser-struct" title="GtkFileChooser">GtkFileChooser</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction">GtkFileChooserAction</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#GtkFileChooserConfirmation" title="enum GtkFileChooserConfirmation">GtkFileChooserConfirmation</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ERROR:CAPS" title="GTK_FILE_CHOOSER_ERROR">GTK_FILE_CHOOSER_ERROR</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#GtkFileChooserError" title="enum GtkFileChooserError">GtkFileChooserError</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename">gtk_file_chooser_get_filename</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-filename" title="gtk_file_chooser_set_filename">gtk_file_chooser_set_filename</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-filename" title="gtk_file_chooser_select_filename">gtk_file_chooser_select_filename</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-filename" title="gtk_file_chooser_unselect_filename">gtk_file_chooser_unselect_filename</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filenames" title="gtk_file_chooser_get_filenames">gtk_file_chooser_get_filenames</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="gtk_file_chooser_set_current_folder">gtk_file_chooser_set_current_folder</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder" title="gtk_file_chooser_get_current_folder">gtk_file_chooser_get_current_folder</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename">gtk_file_chooser_get_preview_filename</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder" title="gtk_file_chooser_add_shortcut_folder">gtk_file_chooser_add_shortcut_folder</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#gtk-file-chooser-remove-shortcut-folder" title="gtk_file_chooser_remove_shortcut_folder">gtk_file_chooser_remove_shortcut_folder</a></td>
</tr>
<tr>
<td class="define_keyword">#define</td>
<td class="function_name"><a class="link" href="GtkFileChooser.html#gtk-file-chooser-list-shortcut-folders" title="gtk_file_chooser_list_shortcut_folders">gtk_file_chooser_list_shortcut_folders</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/home/mclasen/gnome/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
    <span class="lineart">╰──</span> GtkFileChooser
</pre>
</div>
<div class="refsect1">
<a name="GtkFileChooser.prerequisites"></a><h2>Prerequisites</h2>
<p>
GtkFileChooser requires
 <a class="link" href="GtkWidget.html" title="GtkWidget">GtkWidget</a>.</p>
</div>
<div class="refsect1">
<a name="GtkFileChooser.implementations"></a><h2>Known Implementations</h2>
<p>
GtkFileChooser is implemented by
 <a class="link" href="GtkFileChooserButton.html" title="GtkFileChooserButton">GtkFileChooserButton</a>,  <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog">GtkFileChooserDialog</a> and  <a class="link" href="GtkFileChooserWidget.html" title="GtkFileChooserWidget">GtkFileChooserWidget</a>.</p>
</div>
<div class="refsect1">
<a name="GtkFileChooser.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gtk/gtk.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GtkFileChooser.description"></a><h2>Description</h2>
<p><a class="link" 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 class="link" href="GtkFileChooserWidget.html" title="GtkFileChooserWidget"><span class="type">GtkFileChooserWidget</span></a>, <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a>, and
<a class="link" href="GtkFileChooserButton.html" title="GtkFileChooserButton"><span class="type">GtkFileChooserButton</span></a>.  You do not need to write an object that
implements the <a class="link" 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 class="link" 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 that these shortcuts come from various
sources and in various flavours, so lets explain the terminology here:</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term">Bookmarks</span></p></td>
<td>
         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.
      </td>
</tr>
<tr>
<td><p><span class="term">Shortcuts</span></p></td>
<td>
         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.
      </td>
</tr>
<tr>
<td><p><span class="term">Volumes</span></p></td>
<td>
         are provided by the underlying filesystem abstraction. They are
         the "roots" of the filesystem.
      </td>
</tr>
</tbody>
</table></div>
<div class="refsect2">
<a name="gtkfilechooser-encodings"></a><h3>File Names and Encodings</h3>
When the user is finished selecting files in a
<a class="link" 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.
<div class="note">
   This means that while you can pass the result of
   <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filename" title="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 class="link" 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.
</div>
</div>
<hr>
<div class="refsect2">
<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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.  Then, connect to the
<a class="link" href="GtkFileChooser.html#GtkFileChooser-update-preview" title="The “update-preview” signal"><span class="type">“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 class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="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 10. Sample Usage</b></p>
<div class="example-contents">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc opt">{</span>
  GtkImage <span class="gtkdoc opt">*</span>preview<span class="gtkdoc opt">;</span>

  <span class="gtkdoc opt">...</span>

  preview <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkImage.html#gtk-image-new">gtk_image_new</a></span> <span class="gtkdoc opt">();</span>

  <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget">gtk_file_chooser_set_preview_widget</a></span> <span class="gtkdoc opt">(</span>my_file_chooser<span class="gtkdoc opt">,</span> preview<span class="gtkdoc opt">);</span>
  <span class="function"><a href="../gobject/gobject-Signals.html#g-signal-connect">g_signal_connect</a></span> <span class="gtkdoc opt">(</span>my_file_chooser<span class="gtkdoc opt">,</span> <span class="string">&quot;update-preview&quot;</span><span class="gtkdoc opt">,</span>
		    <span class="function"><a href="../gobject/gobject-Closures.html#G-CALLBACK:CAPS">G_CALLBACK</a></span> <span class="gtkdoc opt">(</span>update_preview_cb<span class="gtkdoc opt">),</span> preview<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span>

<span class="gtkdoc kwb">static void</span>
<span class="function">update_preview_cb</span> <span class="gtkdoc opt">(</span>GtkFileChooser <span class="gtkdoc opt">*</span>file_chooser<span class="gtkdoc opt">,</span> gpointer data<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
  GtkWidget <span class="gtkdoc opt">*</span>preview<span class="gtkdoc opt">;</span>
  <span class="gtkdoc kwb">char</span> <span class="gtkdoc opt">*</span>filename<span class="gtkdoc opt">;</span>
  GdkPixbuf <span class="gtkdoc opt">*</span>pixbuf<span class="gtkdoc opt">;</span>
  gboolean have_preview<span class="gtkdoc opt">;</span>

  preview <span class="gtkdoc opt">=</span> <span class="function">GTK_WIDGET</span> <span class="gtkdoc opt">(</span>data<span class="gtkdoc opt">);</span>
  filename <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename">gtk_file_chooser_get_preview_filename</a></span> <span class="gtkdoc opt">(</span>file_chooser<span class="gtkdoc opt">);</span>

  pixbuf <span class="gtkdoc opt">=</span> <span class="function"><a href="../gdk-pixbuf/gdk-pixbuf-File-Loading.html#gdk-pixbuf-new-from-file-at-size">gdk_pixbuf_new_from_file_at_size</a></span> <span class="gtkdoc opt">(</span>filename<span class="gtkdoc opt">,</span> <span class="number">128</span><span class="gtkdoc opt">,</span> <span class="number">128</span><span class="gtkdoc opt">,</span> NULL<span class="gtkdoc opt">);</span>
  have_preview <span class="gtkdoc opt">= (</span>pixbuf <span class="gtkdoc opt">!=</span> NULL<span class="gtkdoc opt">);</span>
  <span class="function"><a href="../glib/glib-Memory-Allocation.html#g-free">g_free</a></span> <span class="gtkdoc opt">(</span>filename<span class="gtkdoc opt">);</span>

  <span class="function"><a href="GtkImage.html#gtk-image-set-from-pixbuf">gtk_image_set_from_pixbuf</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_IMAGE</span> <span class="gtkdoc opt">(</span>preview<span class="gtkdoc opt">),</span> pixbuf<span class="gtkdoc opt">);</span>
  <span class="keyword">if</span> <span class="gtkdoc opt">(</span>pixbuf<span class="gtkdoc opt">)</span>
    <span class="function"><a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref">g_object_unref</a></span> <span class="gtkdoc opt">(</span>pixbuf<span class="gtkdoc opt">);</span>

  <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active">gtk_file_chooser_set_preview_widget_active</a></span> <span class="gtkdoc opt">(</span>file_chooser<span class="gtkdoc opt">,</span> have_preview<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

</div>
<br class="example-break">
</div>
<hr>
<div class="refsect2">
<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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget" title="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 11. Sample Usage</b></p>
<div class="example-contents">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8</pre></td>
        <td class="listing_code"><pre class="programlisting">GtkWidget <span class="gtkdoc opt">*</span>toggle<span class="gtkdoc opt">;</span>

<span class="gtkdoc opt">...</span>

toggle <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkCheckButton.html#gtk-check-button-new-with-label">gtk_check_button_new_with_label</a></span> <span class="gtkdoc opt">(</span><span class="string">&quot;Open file read-only&quot;</span><span class="gtkdoc opt">);</span>
<span class="function"><a href="GtkWidget.html#gtk-widget-show">gtk_widget_show</a></span> <span class="gtkdoc opt">(</span>toggle<span class="gtkdoc opt">);</span>
<span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget">gtk_file_chooser_set_extra_widget</a></span> <span class="gtkdoc opt">(</span>my_file_chooser<span class="gtkdoc opt">,</span> toggle<span class="gtkdoc opt">);</span>
<span class="gtkdoc opt">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

</div>
<br class="example-break"><div class="note">
   If you want to set more than one extra widget in the file
   chooser, you can a container such as a <a class="link" href="GtkVBox.html" title="GtkVBox"><span class="type">GtkVBox</span></a> or a <a class="link" href="GtkTable.html" title="GtkTable"><span class="type">GtkTable</span></a>
   and include your widgets in it.  Then, set the container as
   the whole extra widget.
</div>
</div>
<hr>
<div class="refsect2">
<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 <GTKDOCLINK HREF="gtk-Bindings">key
bindings</GTKDOCLINK> 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 12. GtkFileChooser key binding example</b></p>
<div class="example-contents">
<p>
The default keys that activate the key-binding signals in
<code class="classname">GtkFileChooserDefaultClass</code> are as
follows:
</p>
<div class="informaltable"><table class="informaltable" 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 class="keycap"><strong>Control</strong></span>+<span class="keycap"><strong>L</strong></span> (empty path);
		  <span class="keycap"><strong>/</strong></span> (path of "/")
               <a href="#ftn.id-1.4.12.6.11.8.3.3.1.1.2.2.3" class="footnote" name="id-1.4.12.6.11.8.3.3.1.1.2.2.3"><sup class="footnote">[a]</sup></a>;
		  <span class="keycap"><strong>~</strong></span> (path of "~")
		</td>
</tr>
<tr>
<td>up-folder</td>
<td>
		  <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Up</strong></span>;
               <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Up</strong></span>
               <a href="#ftn.id-1.4.12.6.11.8.3.3.1.1.3.2.3" class="footnote" name="id-1.4.12.6.11.8.3.3.1.1.3.2.3"><sup class="footnote">[b]</sup></a>;
		  <span class="keycap"><strong>Backspace</strong></span>
		</td>
</tr>
<tr>
<td>down-folder</td>
<td>
               <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Down</strong></span>;
               <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Shift</strong></span>+<span class="keycap"><strong>Down</strong></span>
               <a href="#ftn.id-1.4.12.6.11.8.3.3.1.1.4.2.3" class="footnote" name="id-1.4.12.6.11.8.3.3.1.1.4.2.3"><sup class="footnote">[c]</sup></a>
             </td>
</tr>
<tr>
<td>home-folder</td>
<td>
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Home</strong></span>
</td>
</tr>
<tr>
<td>desktop-folder</td>
<td>
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>D</strong></span>
</td>
</tr>
<tr>
<td>quick-bookmark</td>
<td>
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>1</strong></span> through <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>0</strong></span>
</td>
</tr>
</tbody>
<tbody class="footnotes"><tr><td colspan="2">
<div id="ftn.id-1.4.12.6.11.8.3.3.1.1.2.2.3" class="footnote"><span class="keycap"><strong><a href="#id-1.4.12.6.11.8.3.3.1.1.2.2.3" class="keycap"><sup>[a] </sup></a>/</strong></span></div>
<div id="ftn.id-1.4.12.6.11.8.3.3.1.1.3.2.3" class="footnote"></div>
<div id="ftn.id-1.4.12.6.11.8.3.3.1.1.4.2.3" class="footnote"></div>
</td></tr></tbody>
</table></div>
<p>
You can change these defaults to something else.  For
example, to add a <span class="keycap"><strong>Shift</strong></span> modifier to a few
of the default bindings, you can include the following
fragment in your <code class="filename">.gtkrc-3.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>
<br class="example-break"><div class="refsect3">
<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 class="keycap"><strong>Control</strong></span>+<span class="keycap"><strong>L</strong></span>
with a <em class="parameter"><code>path</code></em> string of "" (the empty
string).  It is also bound to <span class="keycap"><strong>/</strong></span> with a
<em class="parameter"><code>path</code></em> string of "<code class="literal">/</code>"
(a slash):  this lets you type <span class="keycap"><strong>/</strong></span> and
immediately type a path name.  On Unix systems, this is bound to
<span class="keycap"><strong>~</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" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td>
<td>
		default contents for the text entry for the file name
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
<div class="note">
   You can create your own bindings for the
   <a class="link" href="GtkFileChooser.html#GtkFileChooserDefault-location-popup" title='The "GtkFileChooserDefault::location-popup" signal'><span class="type">“location-popup”</span></a> 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 class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>M</strong></span>
   shortcut by including the following in your
   <code class="filename">.gtkrc-3.0</code>:
   <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">
<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 class="keycap"><strong>Backspace</strong></span> and
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Up</strong></span>
(the Up key in the numeric keypad also works).
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<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 class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Down</strong></span>
(the Down key in the numeric keypad also works).
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<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 class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>Home</strong></span>
(the Home key in the numeric keypad also works).
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<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 class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>D</strong></span>.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<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 class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>1</strong></span>,
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>2</strong></span>,
etc. until
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>0</strong></span>.  Note
that in the default binding,
that <span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>1</strong></span> is
actually defined to switch to the bookmark at index 0, and so on
successively;
<span class="keycap"><strong>Alt</strong></span>+<span class="keycap"><strong>0</strong></span> is
defined to switch to the bookmark at index 10.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>chooser</code></em> :</span></p></td>
<td>
		the object which received the signal.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>bookmark_indes</code></em> :</span></p></td>
<td>
		index of the bookmark to switch to; the indices start at 0.
	      </td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
		user data set when the signal handler was connected.
	      </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtkfilechooser-configuration-options"></a><h3>Configuration Options</h3>
<p>
In GTK+ 2.x, the file chooser saves its state and configuration options in a
<code class="filename">gtk-2.0/gtkfilechooser.ini</code> file under the directory that
<a href="../glib/glib-Miscellaneous-Utility-Functions.html#g-get-user-config-dir"><code class="function">g_get_user_config_dir()</code></a> returns.  (On Unix, this usually resolves to
<code class="filename">$HOME/username/.config/gtk-2.0/gtkfilechooser.ini</code>.)  While some of
the available options can be changed directly through the file chooser's user
interface, a couple are only editable by hand or by third-party tools (such
as <a class="ulink" href="https://wiki.gnome.org/action/show/Apps/GnomeTweakTool" target="_top">gnome-tweak-tool</a>).
This section describes the available options.
</p>
<p>
This is a sample of the contents of a <code class="filename">gtkfilechooser.ini</code>
file.  Note that all the following options go under a
<code class="literal">[Filechooser Settings]</code> heading.
</p>
<pre class="programlisting">
[Filechooser Settings]
LocationMode=filename-entry
ShowHidden=false
ExpandFolders=true
GeometryX=570
GeometryY=273
GeometryWidth=780
GeometryHeight=585
ShowSizeColumn=true
SortColumn=name
SortOrder=ascending
StartupMode=recent
</pre>
<div class="refsect3">
<a name="gtkfilechooser-settings-location-mode"></a><h4>LocationMode key</h4>
<p>
The <code class="literal">LocationMode</code> key controls whether the file chooser
shows just a path bar, or a visible entry for the filename as well, for the
benefit of typing-oriented users.  The possible string values for these modes
are <code class="literal">path-bar</code> and <code class="literal">filename-entry</code>,
respectively.
</p>
</div>
<div class="refsect3">
<a name="gtkfilechooser-settings-show-hidden"></a><h4>ShowHidden key</h4>
<p>
The <code class="literal">ShowHidden</code> key controls whether the file chooser shows
hidden files or not.  The value can be be <code class="literal">true</code> or
<code class="literal">false</code>.
</p>
</div>
<div class="refsect3">
<a name="gtkfilechooser-settings-show-size-column"></a><h4>ShowSizeColumn key</h4>
<p>
The <code class="literal">ShowSize</code> key controls whether the file chooser shows
a column with file sizes.  The value can be be <code class="literal">true</code> or
<code class="literal">false</code>.
</p>
</div>
<div class="refsect3">
<a name="gtkfilechooser-settings-geometry-keys"></a><h4>Geometry keys</h4>
<p>
The four keys <code class="literal">GeometryX</code>, <code class="literal">GeometryY</code>,
<code class="literal">GeometryWidth</code>, <code class="literal">GeometryHeight</code> save the
position and dimensions of the <a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a>'s window.
</p>
</div>
<div class="refsect3">
<a name="gtkfilechooser-settings-sort-column"></a><h4>SortColumn key</h4>
<p>
The <code class="literal">SortColumn</code> key can be one of the strings
<code class="literal">name</code>, <code class="literal">modified</code>, or
<code class="literal">size</code>.  It controls which of the columns in the file
chooser is used for sorting the list of files.
</p>
</div>
<div class="refsect3">
<a name="gtkfilechooser-settings-sort-order"></a><h4>SortOrder key</h4>
<p>
The <code class="literal">SortOrder</code> key can be one of the strings
<code class="literal">ascending</code> or <code class="literal">descending</code>.
</p>
</div>
<div class="refsect3">
<a name="gtkfilechooser-settings-startup-mode"></a><h4>StartupMode key</h4>
<p>
The <code class="literal">StartupMode</code> key controls whether the file chooser
starts up showing the list of recently-used files, or the contents of the
current working directory.  Respectively, the values can be
<code class="literal">recent</code> or <code class="literal">cwd</code>.
</p>
</div>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gtk-file-chooser-set-action"></a><h3>gtk_file_chooser_set_action ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_action (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                             <em class="parameter"><code><a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="type">GtkFileChooserAction</span></a> action</code></em>);</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 class="link" 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 class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-action.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>action</p></td>
<td class="parameter_description"><p>the action that the file selector is performing</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-action"></a><h3>gtk_file_chooser_get_action ()</h3>
<pre class="programlisting"><a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="returnvalue">GtkFileChooserAction</span></a>
gtk_file_chooser_get_action (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the type of operation that the file chooser is performing; see
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-action" title="gtk_file_chooser_set_action ()"><code class="function">gtk_file_chooser_set_action()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-action.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-action.returns"></a><h4>Returns</h4>
<p> the action that the file selector is performing</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-local-only"></a><h3>gtk_file_chooser_set_local_only ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_local_only (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                 <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> local_only</code></em>);</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 class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>, like <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename"><code class="function">gtk_file_chooser_get_filename()</code></a>,
rather than the URI functions like
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a>,</p>
<p>On some systems non-native files may still be
available using the native filesystem via a userspace
filesystem (FUSE).</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-local-only.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>local_only</p></td>
<td class="parameter_description"><p><a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if only local files can be selected</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-local-only"></a><h3>gtk_file_chooser_get_local_only ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_get_local_only (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether only local files can be selected in the
file selector. See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-local-only" title="gtk_file_chooser_set_local_only ()"><code class="function">gtk_file_chooser_set_local_only()</code></a></p>
<div class="refsect3">
<a name="gtk-file-chooser-get-local-only.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-local-only.returns"></a><h4>Returns</h4>
<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if only local files can be selected.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-select-multiple"></a><h3>gtk_file_chooser_set_select_multiple ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_select_multiple (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                      <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> select_multiple</code></em>);</pre>
<p>Sets whether multiple files can be selected in the file selector.  This is
only relevant if the action is set to be <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a> or
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-select-multiple.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>select_multiple</p></td>
<td class="parameter_description"><p><a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if multiple files can be selected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-select-multiple"></a><h3>gtk_file_chooser_get_select_multiple ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_get_select_multiple (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether multiple files can be selected in the file
selector. See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-select-multiple" title="gtk_file_chooser_set_select_multiple ()"><code class="function">gtk_file_chooser_set_select_multiple()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-select-multiple.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-select-multiple.returns"></a><h4>Returns</h4>
<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if multiple files can be selected.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-show-hidden"></a><h3>gtk_file_chooser_set_show_hidden ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_show_hidden (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                  <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> show_hidden</code></em>);</pre>
<p>Sets whether hidden files and folders are displayed in the file selector.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-show-hidden.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>show_hidden</p></td>
<td class="parameter_description"><p><a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if hidden files and folders should be displayed.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-6.html#api-index-2.6">2.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-show-hidden"></a><h3>gtk_file_chooser_get_show_hidden ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_get_show_hidden (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether hidden files and folders are displayed in the file selector.   
See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-show-hidden" title="gtk_file_chooser_set_show_hidden ()"><code class="function">gtk_file_chooser_set_show_hidden()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-show-hidden.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-show-hidden.returns"></a><h4>Returns</h4>
<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if hidden files and folders are displayed.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-6.html#api-index-2.6">2.6</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-do-overwrite-confirmation"></a><h3>gtk_file_chooser_set_do_overwrite_confirmation ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_do_overwrite_confirmation
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> do_overwrite_confirmation</code></em>);</pre>
<p>Sets whether a file chooser in <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> 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
<a class="link" href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite" title="The “confirm-overwrite” signal"><span class="type">“confirm-overwrite”</span></a> 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
<a class="link" href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite" title="The “confirm-overwrite” signal"><span class="type">“confirm-overwrite”</span></a> signal; please refer to its documentation
for the details.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-do-overwrite-confirmation.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>do_overwrite_confirmation</p></td>
<td class="parameter_description"><p>whether to confirm overwriting in save mode</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-8.html#api-index-2.8">2.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-do-overwrite-confirmation"></a><h3>gtk_file_chooser_get_do_overwrite_confirmation ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_get_do_overwrite_confirmation
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Queries whether a file chooser is set to confirm for overwriting when the user
types a file name that already exists.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-do-overwrite-confirmation.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-do-overwrite-confirmation.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-8.html#api-index-2.8">2.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-create-folders"></a><h3>gtk_file_chooser_set_create_folders ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_create_folders (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                     <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> create_folders</code></em>);</pre>
<p>Sets whether file choser will offer to create new folders.
This is only relevant if the action is not set to be 
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-create-folders.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>create_folders</p></td>
<td class="parameter_description"><p><a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the New Folder button should be displayed</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-18.html#api-index-2.18">2.18</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-create-folders"></a><h3>gtk_file_chooser_get_create_folders ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_get_create_folders (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether file choser will offer to create new folders.
See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-create-folders" title="gtk_file_chooser_set_create_folders ()"><code class="function">gtk_file_chooser_set_create_folders()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-create-folders.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-create-folders.returns"></a><h4>Returns</h4>
<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the New Folder button should be displayed.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-18.html#api-index-2.18">2.18</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-name"></a><h3>gtk_file_chooser_set_current_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_current_name (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                   <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-filename" title="gtk_file_chooser_set_filename"><code class="function">gtk_file_chooser_set_filename()</code></a> or <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-uri" title="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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-name" title="gtk_file_chooser_set_current_name ()"><code class="function">gtk_file_chooser_set_current_name()</code></a> as well.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p>the filename to use, as a UTF-8 string. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-all"></a><h3>gtk_file_chooser_select_all ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_select_all (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Selects all the files in the current folder of a file chooser.</p>
<div class="refsect3">
<a name="gtk-file-chooser-select-all.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-all"></a><h3>gtk_file_chooser_unselect_all ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_unselect_all (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Unselects all the files in the current folder of a file chooser.</p>
<div class="refsect3">
<a name="gtk-file-chooser-unselect-all.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-uri"></a><h3>gtk_file_chooser_get_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
gtk_file_chooser_get_uri (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</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>
<div class="refsect3">
<a name="gtk-file-chooser-get-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-uri.returns"></a><h4>Returns</h4>
<p> 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. If <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-local-only" title="gtk_file_chooser_set_local_only ()"><code class="function">gtk_file_chooser_set_local_only()</code></a> is set to <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>
(the default) a local URI will be returned for any FUSE locations.
Free with <a href="../glib/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-uri"></a><h3>gtk_file_chooser_set_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_set_uri (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                          <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);</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 class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></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 class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-all" title="gtk_file_chooser_unselect_all ()"><code class="function">gtk_file_chooser_unselect_all()</code></a> followed by
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-uri" title="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 — 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>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="keyword">if</span> <span class="gtkdoc opt">(</span>document_is_new<span class="gtkdoc opt">)</span>
  <span class="gtkdoc opt">{</span>
    <span class="comment">/* the user just created a new document */</span>
    <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri">gtk_file_chooser_set_current_folder_uri</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span> default_folder_for_saving<span class="gtkdoc opt">);</span>
    <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-current-name">gtk_file_chooser_set_current_name</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span> <span class="string">&quot;Untitled document&quot;</span><span class="gtkdoc opt">);</span>
  <span class="gtkdoc opt">}</span>
<span class="keyword">else</span>
  <span class="gtkdoc opt">{</span>
    <span class="comment">/* the user edited an existing document */</span> 
    <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-uri">gtk_file_chooser_set_uri</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span> existing_uri<span class="gtkdoc opt">);</span>
  <span class="gtkdoc opt">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<div class="refsect3">
<a name="gtk-file-chooser-set-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the URI to set as current</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-uri.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-uri"></a><h3>gtk_file_chooser_select_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_select_uri (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                             <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);</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>
<div class="refsect3">
<a name="gtk-file-chooser-select-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the URI to select</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-select-uri.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-uri"></a><h3>gtk_file_chooser_unselect_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_unselect_uri (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                               <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);</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>
<div class="refsect3">
<a name="gtk-file-chooser-unselect-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the URI to unselect</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-uris"></a><h3>gtk_file_chooser_get_uris ()</h3>
<pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
gtk_file_chooser_get_uris (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</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>
<div class="refsect3">
<a name="gtk-file-chooser-get-uris.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-uris.returns"></a><h4>Returns</h4>
<p>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>. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-folder-uri"></a><h3>gtk_file_chooser_set_current_folder_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_set_current_folder_uri
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code>const <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *uri</code></em>);</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>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>the URI for the new current folder</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder-uri.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-current-folder-uri"></a><h3>gtk_file_chooser_get_current_folder_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
gtk_file_chooser_get_current_folder_uri
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current folder of <em class="parameter"><code>chooser</code></em>
 as an URI.
See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="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
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</code></a> mode
(e.g. "file:///home/username/Documents/selected-folder/".  To get the
currently-selected folder in that mode, use <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a> as the
usual way to get the selection.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder-uri.returns"></a><h4>Returns</h4>
<p> 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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a> on a nonexistent folder.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-preview-widget"></a><h3>gtk_file_chooser_set_preview_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_preview_widget (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                     <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *preview_widget</code></em>);</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 <a class="link" href="GtkFileChooser.html#GtkFileChooser-update-preview" title="The “update-preview” signal"><span class="type">“update-preview”</span></a>
signal, and call <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename"><code class="function">gtk_file_chooser_get_preview_filename()</code></a> or
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="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>
<div class="refsect3">
<a name="gtk-file-chooser-set-preview-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>preview_widget</p></td>
<td class="parameter_description"><p>widget for displaying preview.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-widget"></a><h3>gtk_file_chooser_get_preview_widget ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
gtk_file_chooser_get_preview_widget (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current preview widget; see
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-widget.returns"></a><h4>Returns</h4>
<p>the current preview widget, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-preview-widget-active"></a><h3>gtk_file_chooser_set_preview_widget_active ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_preview_widget_active
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> active</code></em>);</pre>
<p>Sets whether the preview widget set by
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a> for more details.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-preview-widget-active.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>active</p></td>
<td class="parameter_description"><p>whether to display the user-specified preview widget</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-widget-active"></a><h3>gtk_file_chooser_get_preview_widget_active ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_get_preview_widget_active
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether the preview widget set by <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-widget-active.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-widget-active.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-use-preview-label"></a><h3>gtk_file_chooser_set_use_preview_label ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_use_preview_label
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> use_label</code></em>);</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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a></p>
<div class="refsect3">
<a name="gtk-file-chooser-set-use-preview-label.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>use_label</p></td>
<td class="parameter_description"><p>whether to display a stock label with the name of the previewed file</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-use-preview-label"></a><h3>gtk_file_chooser_get_use_preview_label ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_get_use_preview_label
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets whether a stock label should be drawn with the name of the previewed
file.  See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-use-preview-label" title="gtk_file_chooser_set_use_preview_label ()"><code class="function">gtk_file_chooser_set_use_preview_label()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-use-preview-label.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-use-preview-label.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-uri"></a><h3>gtk_file_chooser_get_preview_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
gtk_file_chooser_get_preview_uri (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the URI that should be previewed in a custom preview
widget. See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-uri.returns"></a><h4>Returns</h4>
<p> 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>.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-extra-widget"></a><h3>gtk_file_chooser_set_extra_widget ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_extra_widget (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                   <em class="parameter"><code><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *extra_widget</code></em>);</pre>
<p>Sets an application-supplied widget to provide extra options to the user.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-extra-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>extra_widget</p></td>
<td class="parameter_description"><p>widget for extra options</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-extra-widget"></a><h3>gtk_file_chooser_get_extra_widget ()</h3>
<pre class="programlisting"><a class="link" href="GtkWidget.html" title="GtkWidget"><span class="returnvalue">GtkWidget</span></a> *
gtk_file_chooser_get_extra_widget (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current preview widget; see
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget" title="gtk_file_chooser_set_extra_widget ()"><code class="function">gtk_file_chooser_set_extra_widget()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-extra-widget.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-extra-widget.returns"></a><h4>Returns</h4>
<p>the current extra widget, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-add-filter"></a><h3>gtk_file_chooser_add_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_add_filter (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                             <em class="parameter"><code><a class="link" href="gtk2-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);</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>
<div class="refsect3">
<a name="gtk-file-chooser-add-filter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filter</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk2-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-remove-filter"></a><h3>gtk_file_chooser_remove_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_remove_filter (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><a class="link" href="gtk2-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);</pre>
<p>Removes <em class="parameter"><code>filter</code></em>
 from the list of filters that the user can select between.</p>
<div class="refsect3">
<a name="gtk-file-chooser-remove-filter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filter</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk2-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-list-filters"></a><h3>gtk_file_chooser_list_filters ()</h3>
<pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
gtk_file_chooser_list_filters (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Lists the current set of user-selectable filters; see
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-filter" title="gtk_file_chooser_add_filter ()"><code class="function">gtk_file_chooser_add_filter()</code></a>, <a class="link" href="GtkFileChooser.html#gtk-file-chooser-remove-filter" title="gtk_file_chooser_remove_filter ()"><code class="function">gtk_file_chooser_remove_filter()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-list-filters.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-list-filters.returns"></a><h4>Returns</h4>
<p>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. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GtkFileFilter][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-filter"></a><h3>gtk_file_chooser_set_filter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_set_filter (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                             <em class="parameter"><code><a class="link" href="gtk2-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a> *filter</code></em>);</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>
<div class="refsect3">
<a name="gtk-file-chooser-set-filter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filter</p></td>
<td class="parameter_description"><p>a <a class="link" href="gtk2-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-filter"></a><h3>gtk_file_chooser_get_filter ()</h3>
<pre class="programlisting"><a class="link" href="gtk2-gtkfilefilter.html#GtkFileFilter"><span class="returnvalue">GtkFileFilter</span></a> *
gtk_file_chooser_get_filter (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current filter; see <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-filter" title="gtk_file_chooser_set_filter ()"><code class="function">gtk_file_chooser_set_filter()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-filter.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-filter.returns"></a><h4>Returns</h4>
<p>the current filter, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-add-shortcut-folder-uri"></a><h3>gtk_file_chooser_add_shortcut_folder_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_add_shortcut_folder_uri
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</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>
<div class="refsect3">
<a name="gtk-file-chooser-add-shortcut-folder-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>URI of the folder to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-add-shortcut-folder-uri.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-remove-shortcut-folder-uri"></a><h3>gtk_file_chooser_remove_shortcut_folder_uri ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_remove_shortcut_folder_uri
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code>const <span class="type">char</span> *uri</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Removes a folder URI from a file chooser's list of shortcut folders.</p>
<div class="refsect3">
<a name="gtk-file-chooser-remove-shortcut-folder-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>URI of the folder to remove</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-remove-shortcut-folder-uri.returns"></a><h4>Returns</h4>
<p> <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.</p>
<p>See also: <a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri" title="gtk_file_chooser_add_shortcut_folder_uri ()"><code class="function">gtk_file_chooser_add_shortcut_folder_uri()</code></a></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-list-shortcut-folder-uris"></a><h3>gtk_file_chooser_list_shortcut_folder_uris ()</h3>
<pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
gtk_file_chooser_list_shortcut_folder_uris
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Queries the list of shortcut folders in the file chooser, as set by
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder-uri" title="gtk_file_chooser_add_shortcut_folder_uri ()"><code class="function">gtk_file_chooser_add_shortcut_folder_uri()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-list-shortcut-folder-uris.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-list-shortcut-folder-uris.returns"></a><h4>Returns</h4>
<p>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>. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-current-folder-file"></a><h3>gtk_file_chooser_get_current_folder_file ()</h3>
<pre class="programlisting"><a href="../gio/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
gtk_file_chooser_get_current_folder_file
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the current folder of <em class="parameter"><code>chooser</code></em>
 as <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a>.
See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder-uri" title="gtk_file_chooser_get_current_folder_uri ()"><code class="function">gtk_file_chooser_get_current_folder_uri()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder-file.returns"></a><h4>Returns</h4>
<p>the <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a> for the current folder. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-14.html#api-index-2.14">2.14</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-file"></a><h3>gtk_file_chooser_get_file ()</h3>
<pre class="programlisting"><a href="../gio/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
gtk_file_chooser_get_file (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a> for the currently selected file in
the file selector. If multiple files are selected,
one of the files will be returned at random.</p>
<p>If the file chooser is in folder mode, this function returns the selected
folder.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-file.returns"></a><h4>Returns</h4>
<p>a selected <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a>. You own the returned file;
use <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a> to release it. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-14.html#api-index-2.14">2.14</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-files"></a><h3>gtk_file_chooser_get_files ()</h3>
<pre class="programlisting"><a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="returnvalue">GSList</span></a> *
gtk_file_chooser_get_files (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Lists all the selected files and subfolders in the current folder of <em class="parameter"><code>chooser</code></em>

as <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a>. An internal function, see <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()"><code class="function">gtk_file_chooser_get_uris()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-files.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-files.returns"></a><h4>Returns</h4>
<p>a <a href="../glib/glib-Singly-Linked-Lists.html#GSList"><span class="type">GSList</span></a>
containing a <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a> for each selected file and subfolder 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 files with <a href="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GFile][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-14.html#api-index-2.14">2.14</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-file"></a><h3>gtk_file_chooser_get_preview_file ()</h3>
<pre class="programlisting"><a href="../gio/GFile.html#GFile-struct"><span class="returnvalue">GFile</span></a> *
gtk_file_chooser_get_preview_file (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>);</pre>
<p>Gets the <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a> that should be previewed in a custom preview
Internal function, see <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="gtk_file_chooser_get_preview_uri ()"><code class="function">gtk_file_chooser_get_preview_uri()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-file.returns"></a><h4>Returns</h4>
<p>the <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a> 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="../gobject/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-14.html#api-index-2.14">2.14</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-file"></a><h3>gtk_file_chooser_select_file ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_select_file (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                              <em class="parameter"><code><a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a> *file</code></em>,
                              <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Selects the file referred to by <em class="parameter"><code>file</code></em>
. An internal function. See
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-uri" title="gtk_file_chooser_select_uri ()"><code class="function">_gtk_file_chooser_select_uri()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-select-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>the file to select</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-select-file.returns"></a><h4>Returns</h4>
<p> <a href="../glib/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if both the folder could be changed and the path was
selected successfully, <a href="../glib/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-14.html#api-index-2.14">2.14</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-folder-file"></a><h3>gtk_file_chooser_set_current_folder_file ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_set_current_folder_file
                               (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a> *file</code></em>,
                                <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Sets the current folder for <em class="parameter"><code>chooser</code></em>
 from a <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a>.
Internal function, see <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>the <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a> for the new folder</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder-file.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-14.html#api-index-2.14">2.14</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-file"></a><h3>gtk_file_chooser_set_file ()</h3>
<pre class="programlisting"><a href="../glib/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gtk_file_chooser_set_file (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                           <em class="parameter"><code><a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a> *file</code></em>,
                           <em class="parameter"><code><a href="../glib/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Sets <em class="parameter"><code>file</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 class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></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 class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-all" title="gtk_file_chooser_unselect_all ()"><code class="function">gtk_file_chooser_unselect_all()</code></a> followed by
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-filename" title="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 — 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>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="keyword">if</span> <span class="gtkdoc opt">(</span>document_is_new<span class="gtkdoc opt">)</span>
  <span class="gtkdoc opt">{</span>
    <span class="comment">/* the user just created a new document */</span>
    <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-file">gtk_file_chooser_set_current_folder_file</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span> default_file_for_saving<span class="gtkdoc opt">);</span>
    <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-current-name">gtk_file_chooser_set_current_name</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span> <span class="string">&quot;Untitled document&quot;</span><span class="gtkdoc opt">);</span>
  <span class="gtkdoc opt">}</span>
<span class="keyword">else</span>
  <span class="gtkdoc opt">{</span>
    <span class="comment">/* the user edited an existing document */</span>
    <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-file">gtk_file_chooser_set_file</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span> existing_file<span class="gtkdoc opt">);</span>
  <span class="gtkdoc opt">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<div class="refsect3">
<a name="gtk-file-chooser-set-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>the <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a> to set as current</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store the error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to ignore errors. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-file.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-14.html#api-index-2.14">2.14</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-file"></a><h3>gtk_file_chooser_unselect_file ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
gtk_file_chooser_unselect_file (<em class="parameter"><code><a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser</code></em>,
                                <em class="parameter"><code><a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a> *file</code></em>);</pre>
<p>Unselects the file referred to by <em class="parameter"><code>file</code></em>
. If the file is not in the current
directory, does not exist, or is otherwise not currently selected, does nothing.</p>
<div class="refsect3">
<a name="gtk-file-chooser-unselect-file.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>a <a href="../gio/GFile.html#GFile-struct"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-14.html#api-index-2.14">2.14</a></p>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GtkFileChooser-struct"></a><h3>GtkFileChooser</h3>
<pre class="programlisting">typedef struct _GtkFileChooser GtkFileChooser;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooserAction"></a><h3>enum GtkFileChooserAction</h3>
<p>Describes whether a <a class="link" 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="refsect3">
<a name="GtkFileChooserAction.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"></a>GTK_FILE_CHOOSER_ACTION_OPEN</p></td>
<td class="enum_member_description">
<p>Indicates open mode.  The file chooser
 will only let the user pick an existing file.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"></a>GTK_FILE_CHOOSER_ACTION_SAVE</p></td>
<td class="enum_member_description">
<p>Indicates save mode.  The file chooser
 will let the user pick an existing file, or type in a new
 filename.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"></a>GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</p></td>
<td class="enum_member_description">
<p>Indicates an Open mode for
 selecting folders.  The file chooser will let the user pick an
 existing folder.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ACTION-CREATE-FOLDER:CAPS"></a>GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER</p></td>
<td class="enum_member_description">
<p>Indicates a mode for creating a
 new folder.  The file chooser will let the user name an existing or
 new folder.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooserConfirmation"></a><h3>enum GtkFileChooserConfirmation</h3>
<p>Used as a return value of handlers for the
<a class="link" href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite" title="The “confirm-overwrite” signal"><span class="type">“confirm-overwrite”</span></a> signal of a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a>. 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="refsect3">
<a name="GtkFileChooserConfirmation.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-CONFIRMATION-CONFIRM:CAPS"></a>GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM</p></td>
<td class="enum_member_description">
<p>The file chooser will present
 its stock dialog to confirm about overwriting an existing file.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-CONFIRMATION-ACCEPT-FILENAME:CAPS"></a>GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME</p></td>
<td class="enum_member_description">
<p>The file chooser will
 terminate and accept the user's choice of a file name.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-CONFIRMATION-SELECT-AGAIN:CAPS"></a>GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN</p></td>
<td class="enum_member_description">
<p>The file chooser will
 continue running, so as to let the user select another file name.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-8.html#api-index-2.8">2.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GTK-FILE-CHOOSER-ERROR:CAPS"></a><h3>GTK_FILE_CHOOSER_ERROR</h3>
<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 class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> errors.</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooserError"></a><h3>enum GtkFileChooserError</h3>
<p>These identify the various errors that can occur while calling
<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> functions.</p>
<div class="refsect3">
<a name="GtkFileChooserError.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ERROR-NONEXISTENT:CAPS"></a>GTK_FILE_CHOOSER_ERROR_NONEXISTENT</p></td>
<td class="enum_member_description">
<p>Indicates that a file does not exist.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ERROR-BAD-FILENAME:CAPS"></a>GTK_FILE_CHOOSER_ERROR_BAD_FILENAME</p></td>
<td class="enum_member_description">
<p>Indicates a malformed filename.</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ERROR-ALREADY-EXISTS:CAPS"></a>GTK_FILE_CHOOSER_ERROR_ALREADY_EXISTS</p></td>
<td class="enum_member_description">
<p>Indicates a duplicate path (e.g. when
 adding a bookmark).</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GTK-FILE-CHOOSER-ERROR-INCOMPLETE-HOSTNAME:CAPS"></a>GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME</p></td>
<td class="enum_member_description">
<p>Indicates an incomplete hostname (e.g. "http://foo" without a slash after that).</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-filename"></a><h3>gtk_file_chooser_get_filename</h3>
<pre class="programlisting">#define gtk_file_chooser_get_filename gtk_file_chooser_get_filename_utf8
</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>
<div class="refsect3">
<a name="gtk-file-chooser-get-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-filename.returns"></a><h4>Returns</h4>
<p>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>. </p>
<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-filename"></a><h3>gtk_file_chooser_set_filename</h3>
<pre class="programlisting">#define gtk_file_chooser_set_filename gtk_file_chooser_set_filename_utf8
</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 class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></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 class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-all" title="gtk_file_chooser_unselect_all ()"><code class="function">gtk_file_chooser_unselect_all()</code></a> followed by
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-filename" title="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 — 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>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="keyword">if</span> <span class="gtkdoc opt">(</span>document_is_new<span class="gtkdoc opt">)</span>
  <span class="gtkdoc opt">{</span>
    <span class="comment">/* the user just created a new document */</span>
    <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-current-folder">gtk_file_chooser_set_current_folder</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span> default_folder_for_saving<span class="gtkdoc opt">);</span>
    <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-current-name">gtk_file_chooser_set_current_name</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span> <span class="string">&quot;Untitled document&quot;</span><span class="gtkdoc opt">);</span>
  <span class="gtkdoc opt">}</span>
<span class="keyword">else</span>
  <span class="gtkdoc opt">{</span>
    <span class="comment">/* the user edited an existing document */</span> 
    <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-filename">gtk_file_chooser_set_filename</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span> existing_filename<span class="gtkdoc opt">);</span>
  <span class="gtkdoc opt">}</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

<p></p>
<div class="refsect3">
<a name="gtk-file-chooser-set-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filename</p></td>
<td class="parameter_description"><p>the filename to set as current. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-filename.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-select-filename"></a><h3>gtk_file_chooser_select_filename</h3>
<pre class="programlisting">#define gtk_file_chooser_select_filename gtk_file_chooser_select_filename_utf8
</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>
<div class="refsect3">
<a name="gtk-file-chooser-select-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filename</p></td>
<td class="parameter_description"><p>the filename to select. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-select-filename.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-unselect-filename"></a><h3>gtk_file_chooser_unselect_filename</h3>
<pre class="programlisting">#define gtk_file_chooser_unselect_filename gtk_file_chooser_unselect_filename_utf8
</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>
<div class="refsect3">
<a name="gtk-file-chooser-unselect-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filename</p></td>
<td class="parameter_description"><p>the filename to unselect. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-filenames"></a><h3>gtk_file_chooser_get_filenames</h3>
<pre class="programlisting">#define gtk_file_chooser_get_filenames gtk_file_chooser_get_filenames_utf8
</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 class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()"><code class="function">gtk_file_chooser_get_uris()</code></a>)</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-filenames.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-filenames.returns"></a><h4>Returns</h4>
<p>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>. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> filename][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-set-current-folder"></a><h3>gtk_file_chooser_set_current_folder</h3>
<pre class="programlisting">#define gtk_file_chooser_set_current_folder gtk_file_chooser_set_current_folder_utf8
</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>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>filename</p></td>
<td class="parameter_description"><p>the full path of the new current folder. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-set-current-folder.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-current-folder"></a><h3>gtk_file_chooser_get_current_folder</h3>
<pre class="programlisting">#define gtk_file_chooser_get_current_folder gtk_file_chooser_get_current_folder_utf8
</pre>
<p>Gets the current folder of <em class="parameter"><code>chooser</code></em>
 as a local filename.
See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="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
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SELECT-FOLDER:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER</code></a> mode
(e.g. "/home/username/Documents/selected-folder/".  To get the
currently-selected folder in that mode, use <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a> as the
usual way to get the selection.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-current-folder.returns"></a><h4>Returns</h4>
<p>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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="gtk_file_chooser_set_current_folder"><code class="function">gtk_file_chooser_set_current_folder()</code></a> on a nonexistent folder. </p>
<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-get-preview-filename"></a><h3>gtk_file_chooser_get_preview_filename</h3>
<pre class="programlisting">#define gtk_file_chooser_get_preview_filename gtk_file_chooser_get_preview_filename_utf8
</pre>
<p>Gets the filename that should be previewed in a custom preview
widget. See <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-filename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-get-preview-filename.returns"></a><h4>Returns</h4>
<p>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>. </p>
<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-add-shortcut-folder"></a><h3>gtk_file_chooser_add_shortcut_folder</h3>
<pre class="programlisting">#define gtk_file_chooser_add_shortcut_folder gtk_file_chooser_add_shortcut_folder_utf8
</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>
<div class="refsect3">
<a name="gtk-file-chooser-add-shortcut-folder.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>folder</p></td>
<td class="parameter_description"><p>filename of the folder to add. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-add-shortcut-folder.returns"></a><h4>Returns</h4>
<p> <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.</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-remove-shortcut-folder"></a><h3>gtk_file_chooser_remove_shortcut_folder</h3>
<pre class="programlisting">#define gtk_file_chooser_remove_shortcut_folder gtk_file_chooser_remove_shortcut_folder_utf8
</pre>
<p>Removes a folder from a file chooser's list of shortcut folders.</p>
<div class="refsect3">
<a name="gtk-file-chooser-remove-shortcut-folder.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>folder</p></td>
<td class="parameter_description"><p>filename of the folder to remove. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>location to store error, or <a href="../glib/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-remove-shortcut-folder.returns"></a><h4>Returns</h4>
<p> <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.</p>
<p>See also: <a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder" title="gtk_file_chooser_add_shortcut_folder"><code class="function">gtk_file_chooser_add_shortcut_folder()</code></a></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-file-chooser-list-shortcut-folders"></a><h3>gtk_file_chooser_list_shortcut_folders</h3>
<pre class="programlisting">#define gtk_file_chooser_list_shortcut_folders gtk_file_chooser_list_shortcut_folders_utf8
</pre>
<p>Queries the list of shortcut folders in the file chooser, as set by
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-add-shortcut-folder" title="gtk_file_chooser_add_shortcut_folder"><code class="function">gtk_file_chooser_add_shortcut_folder()</code></a>.</p>
<div class="refsect3">
<a name="gtk-file-chooser-list-shortcut-folders.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>a <a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gtk-file-chooser-list-shortcut-folders.returns"></a><h4>Returns</h4>
<p>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>. </p>
<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> filename][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-4.html#api-index-2.4">2.4</a></p>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GtkFileChooser--action"></a><h3>The <code class="literal">“action”</code> property</h3>
<pre class="programlisting">  “action”                   <a class="link" href="GtkFileChooser.html#GtkFileChooserAction" title="enum GtkFileChooserAction"><span class="type">GtkFileChooserAction</span></a></pre>
<p>The type of operation that the file selector is performing.</p>
<p>Flags: Read / Write</p>
<p>Default value: GTK_FILE_CHOOSER_ACTION_OPEN</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--create-folders"></a><h3>The <code class="literal">“create-folders”</code> property</h3>
<pre class="programlisting">  “create-folders”           <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Whether a file chooser not in <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-OPEN:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_OPEN</code></a> mode
will offer the user to create new folders.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
<p class="since">Since: <a class="link" href="api-index-2-18.html#api-index-2.18">2.18</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--do-overwrite-confirmation"></a><h3>The <code class="literal">“do-overwrite-confirmation”</code> property</h3>
<pre class="programlisting">  “do-overwrite-confirmation” <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Whether a file chooser in <a class="link" 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>Flags: Read / Write</p>
<p>Default value: FALSE</p>
<p class="since">Since: <a class="link" href="api-index-2-8.html#api-index-2.8">2.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--extra-widget"></a><h3>The <code class="literal">“extra-widget”</code> property</h3>
<pre class="programlisting">  “extra-widget”             <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *</pre>
<p>Application supplied widget for extra options.</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--file-system-backend"></a><h3>The <code class="literal">“file-system-backend”</code> property</h3>
<pre class="programlisting">  “file-system-backend”      <a href="../glib/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
<p>Name of file system backend to use.</p>
<p>Flags: Write / Construct Only</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--filter"></a><h3>The <code class="literal">“filter”</code> property</h3>
<pre class="programlisting">  “filter”                   <a class="link" href="gtk2-gtkfilefilter.html#GtkFileFilter"><span class="type">GtkFileFilter</span></a> *</pre>
<p>The current filter for selecting which files are displayed.</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--local-only"></a><h3>The <code class="literal">“local-only”</code> property</h3>
<pre class="programlisting">  “local-only”               <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Whether the selected file(s) should be limited to local file: URLs.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--preview-widget"></a><h3>The <code class="literal">“preview-widget”</code> property</h3>
<pre class="programlisting">  “preview-widget”           <a class="link" href="GtkWidget.html" title="GtkWidget"><span class="type">GtkWidget</span></a> *</pre>
<p>Application supplied widget for custom previews.</p>
<p>Flags: Read / Write</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--preview-widget-active"></a><h3>The <code class="literal">“preview-widget-active”</code> property</h3>
<pre class="programlisting">  “preview-widget-active”    <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Whether the application supplied widget for custom previews should be shown.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--select-multiple"></a><h3>The <code class="literal">“select-multiple”</code> property</h3>
<pre class="programlisting">  “select-multiple”          <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Whether to allow multiple files to be selected.</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--show-hidden"></a><h3>The <code class="literal">“show-hidden”</code> property</h3>
<pre class="programlisting">  “show-hidden”              <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Whether the hidden files and folders should be displayed.</p>
<p>Flags: Read / Write</p>
<p>Default value: FALSE</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser--use-preview-label"></a><h3>The <code class="literal">“use-preview-label”</code> property</h3>
<pre class="programlisting">  “use-preview-label”        <a href="../glib/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
<p>Whether to display a stock label with the name of the previewed file.</p>
<p>Flags: Read / Write</p>
<p>Default value: TRUE</p>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="GtkFileChooser-confirm-overwrite"></a><h3>The <code class="literal">“confirm-overwrite”</code> signal</h3>
<pre class="programlisting"><a class="link" href="GtkFileChooser.html#GtkFileChooserConfirmation" title="enum GtkFileChooserConfirmation"><span class="returnvalue">GtkFileChooserConfirmation</span></a>
user_function (<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser,
               <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)</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 class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-ACTION-SAVE:CAPS"><code class="literal">GTK_FILE_CHOOSER_ACTION_SAVE</code></a> mode.</p>
<p>Most applications just need to turn on the
<a class="link" href="GtkFileChooser.html#GtkFileChooser--do-overwrite-confirmation" title="The “do-overwrite-confirmation” property"><span class="type">“do-overwrite-confirmation”</span></a> property (or call the
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-do-overwrite-confirmation" title="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 <a class="link" href="GtkFileChooser.html#GtkFileChooser-confirm-overwrite" title="The “confirm-overwrite” signal"><span class="type">“confirm-overwrite”</span></a>
signal.</p>
<p>A signal handler for this signal must return a
<a class="link" href="GtkFileChooser.html#GtkFileChooserConfirmation" title="enum 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 class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-SELECT-AGAIN:CAPS"><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN</code></a>.  If it determines
that the user is satisfied with his choice of file name, it
should return <a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-ACCEPT-FILENAME:CAPS"><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME</code></a>.
On the other hand, if it determines that the stock confirmation
dialog should be used, it should return
<a class="link" href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-CONFIRM:CAPS"><code class="literal">GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM</code></a>. The following example
illustrates this.</p>
<div class="example">
<a name="gtkfilechooser-confirmation"></a><p class="title"><b>Example 13. Custom confirmation</b></p>
<div class="example-contents">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29</pre></td>
        <td class="listing_code"><pre class="programlisting"><span class="gtkdoc kwb">static</span> GtkFileChooserConfirmation
<span class="function">confirm_overwrite_callback</span> <span class="gtkdoc opt">(</span>GtkFileChooser <span class="gtkdoc opt">*</span>chooser<span class="gtkdoc opt">,</span> gpointer data<span class="gtkdoc opt">)</span>
<span class="gtkdoc opt">{</span>
  <span class="gtkdoc kwb">char</span> <span class="gtkdoc opt">*</span>uri<span class="gtkdoc opt">;</span>

  uri <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-get-uri">gtk_file_chooser_get_uri</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">);</span>

  <span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function">is_uri_read_only</span> <span class="gtkdoc opt">(</span>uri<span class="gtkdoc opt">))</span>
    <span class="gtkdoc opt">{</span>
      <span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function">user_wants_to_replace_read_only_file</span> <span class="gtkdoc opt">(</span>uri<span class="gtkdoc opt">))</span>
        <span class="keyword">return</span> GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME<span class="gtkdoc opt">;</span>
      <span class="keyword">else</span>
        <span class="keyword">return</span> GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN<span class="gtkdoc opt">;</span>
    <span class="gtkdoc opt">}</span> <span class="keyword">else</span>
      <span class="keyword">return</span> GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM<span class="gtkdoc opt">;</span> <span class="gtkdoc slc">// fall back to the default dialog</span>
<span class="gtkdoc opt">}</span>

<span class="gtkdoc opt">...</span>

chooser <span class="gtkdoc opt">=</span> <span class="function"><a href="GtkFileChooserDialog.html#gtk-file-chooser-dialog-new">gtk_file_chooser_dialog_new</a></span> <span class="gtkdoc opt">(...);</span>

<span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-do-overwrite-confirmation">gtk_file_chooser_set_do_overwrite_confirmation</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_FILE_CHOOSER</span> <span class="gtkdoc opt">(</span>dialog<span class="gtkdoc opt">),</span> TRUE<span class="gtkdoc opt">);</span>
<span class="function"><a href="../gobject/gobject-Signals.html#g-signal-connect">g_signal_connect</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">,</span> <span class="string">&quot;confirm-overwrite&quot;</span><span class="gtkdoc opt">,</span>
                  <span class="function"><a href="../gobject/gobject-Closures.html#G-CALLBACK:CAPS">G_CALLBACK</a></span> <span class="gtkdoc opt">(</span>confirm_overwrite_callback<span class="gtkdoc opt">),</span> NULL<span class="gtkdoc opt">);</span>

<span class="keyword">if</span> <span class="gtkdoc opt">(</span><span class="function"><a href="GtkDialog.html#gtk-dialog-run">gtk_dialog_run</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">) ==</span> GTK_RESPONSE_ACCEPT<span class="gtkdoc opt">)</span>
        <span class="function">save_to_file</span> <span class="gtkdoc opt">(</span><span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-get-filename">gtk_file_chooser_get_filename</a></span> <span class="gtkdoc opt">(</span><span class="function">GTK_FILE_CHOOSER</span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">));</span>

<span class="function"><a href="GtkWidget.html#gtk-widget-destroy">gtk_widget_destroy</a></span> <span class="gtkdoc opt">(</span>chooser<span class="gtkdoc opt">);</span></pre></td>
      </tr>
    </tbody>
  </table>
</div>

</div>
<br class="example-break"><div class="refsect3">
<a name="GtkFileChooser-confirm-overwrite.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="GtkFileChooser-confirm-overwrite.returns"></a><h4>Returns</h4>
<p> a <a class="link" href="GtkFileChooser.html#GtkFileChooserConfirmation" title="enum GtkFileChooserConfirmation"><span class="type">GtkFileChooserConfirmation</span></a> value that indicates which
action to take after emitting the signal.</p>
</div>
<p>Flags: <a href="../gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
<p class="since">Since: <a class="link" href="api-index-2-8.html#api-index-2.8">2.8</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser-current-folder-changed"></a><h3>The <code class="literal">“current-folder-changed”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser,
               <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)</pre>
<p>This signal is emitted when the current folder in a <a class="link" 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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder" title="gtk_file_chooser_set_current_folder"><code class="function">gtk_file_chooser_set_current_folder()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder" title="gtk_file_chooser_get_current_folder"><code class="function">gtk_file_chooser_get_current_folder()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-current-folder-uri" title="gtk_file_chooser_set_current_folder_uri ()"><code class="function">gtk_file_chooser_set_current_folder_uri()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-current-folder-uri" title="gtk_file_chooser_get_current_folder_uri ()"><code class="function">gtk_file_chooser_get_current_folder_uri()</code></a>.</p>
<div class="refsect3">
<a name="GtkFileChooser-current-folder-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="../gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser-file-activated"></a><h3>The <code class="literal">“file-activated”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser,
               <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)</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 class="keycap"><strong>Enter</strong></span>.</p>
<p>Normally you do not need to connect to this signal.  It is used internally
by <a class="link" 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 class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename"><code class="function">gtk_file_chooser_get_filename()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filenames" title="gtk_file_chooser_get_filenames"><code class="function">gtk_file_chooser_get_filenames()</code></a>, <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()"><code class="function">gtk_file_chooser_get_uris()</code></a>.</p>
<div class="refsect3">
<a name="GtkFileChooser-file-activated.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="../gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser-selection-changed"></a><h3>The <code class="literal">“selection-changed”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser,
               <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)</pre>
<p>This signal is emitted when there is a change in the set of selected files
in a <a class="link" 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 class="link" href="GtkFileChooser.html#gtk-file-chooser-select-filename" title="gtk_file_chooser_select_filename"><code class="function">gtk_file_chooser_select_filename()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-filename" title="gtk_file_chooser_unselect_filename"><code class="function">gtk_file_chooser_unselect_filename()</code></a>, <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filename" title="gtk_file_chooser_get_filename"><code class="function">gtk_file_chooser_get_filename()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-filenames" title="gtk_file_chooser_get_filenames"><code class="function">gtk_file_chooser_get_filenames()</code></a>, <a class="link" href="GtkFileChooser.html#gtk-file-chooser-select-uri" title="gtk_file_chooser_select_uri ()"><code class="function">gtk_file_chooser_select_uri()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-unselect-uri" title="gtk_file_chooser_unselect_uri ()"><code class="function">gtk_file_chooser_unselect_uri()</code></a>, <a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uri" title="gtk_file_chooser_get_uri ()"><code class="function">gtk_file_chooser_get_uri()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-uris" title="gtk_file_chooser_get_uris ()"><code class="function">gtk_file_chooser_get_uris()</code></a>.</p>
<div class="refsect3">
<a name="GtkFileChooser-selection-changed.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="../gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
<hr>
<div class="refsect2">
<a name="GtkFileChooser-update-preview"></a><h3>The <code class="literal">“update-preview”</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
user_function (<a class="link" href="GtkFileChooser.html" title="GtkFileChooser"><span class="type">GtkFileChooser</span></a> *chooser,
               <a href="../glib/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)</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 class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="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 class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename"><code class="function">gtk_file_chooser_get_preview_filename()</code></a> or
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="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 <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a> to inform the file
chooser about whether the preview was generated successfully or not.</p>
<p>Please see the example code in <a class="xref" href="GtkFileChooser.html#gtkfilechooser-preview" title="Adding a Preview Widget">the section called “Adding a Preview Widget”</a>.</p>
<p>See also: <a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget" title="gtk_file_chooser_set_preview_widget ()"><code class="function">gtk_file_chooser_set_preview_widget()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget-active" title="gtk_file_chooser_set_preview_widget_active ()"><code class="function">gtk_file_chooser_set_preview_widget_active()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-set-use-preview-label" title="gtk_file_chooser_set_use_preview_label ()"><code class="function">gtk_file_chooser_set_use_preview_label()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename" title="gtk_file_chooser_get_preview_filename"><code class="function">gtk_file_chooser_get_preview_filename()</code></a>,
<a class="link" href="GtkFileChooser.html#gtk-file-chooser-get-preview-uri" title="gtk_file_chooser_get_preview_uri ()"><code class="function">gtk_file_chooser_get_preview_uri()</code></a>.</p>
<div class="refsect3">
<a name="GtkFileChooser-update-preview.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>chooser</p></td>
<td class="parameter_description"><p>the object which received the signal.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data set when the signal handler was connected.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p>Flags: <a href="../gobject/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
</div>
</div>
<div class="refsect1">
<a name="GtkFileChooser.see-also"></a><h2>See Also</h2>
<p><a class="link" href="GtkFileChooserDialog.html" title="GtkFileChooserDialog"><span class="type">GtkFileChooserDialog</span></a>, <a class="link" href="GtkFileChooserWidget.html" title="GtkFileChooserWidget"><span class="type">GtkFileChooserWidget</span></a>, <a class="link" href="GtkFileChooserButton.html" title="GtkFileChooserButton"><span class="type">GtkFileChooserButton</span></a></p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.26.1</div>
</body>
</html>