New upstream version 3.23.2
This commit is contained in:
@ -3,12 +3,12 @@
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<title>GtkFileChooser: GTK+ 3 Reference Manual</title>
|
||||
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
|
||||
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
||||
<link rel="home" href="index.html" title="GTK+ 3 Reference Manual">
|
||||
<link rel="up" href="SelectorWidgets.html" title="Selector Widgets and Dialogs">
|
||||
<link rel="prev" href="GtkColorChooserDialog.html" title="GtkColorChooserDialog">
|
||||
<link rel="next" href="GtkFileChooserButton.html" title="GtkFileChooserButton">
|
||||
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
||||
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
||||
<link rel="stylesheet" href="style.css" type="text/css">
|
||||
</head>
|
||||
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
||||
@ -659,7 +659,7 @@
|
||||
</div>
|
||||
<div class="refsect1">
|
||||
<a name="GtkFileChooser.object-hierarchy"></a><h2>Object Hierarchy</h2>
|
||||
<pre class="screen"> <a href="/usr/share/gtk-doc/html/gobject/GTypeModule.html">GInterface</a>
|
||||
<pre class="screen"> GInterface
|
||||
<span class="lineart">╰──</span> GtkFileChooser
|
||||
</pre>
|
||||
</div>
|
||||
@ -740,41 +740,81 @@ flag that indicates whether your callback could successfully
|
||||
generate a preview.</p>
|
||||
<div class="refsect3">
|
||||
<a name="gtkfilechooser-preview"></a><h4>Example: Using a Preview Widget</h4>
|
||||
<div class="informalexample"><pre class="programlisting">
|
||||
{
|
||||
GtkImage *preview;
|
||||
<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
|
||||
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="cbracket">{</span>
|
||||
<span class="normal"> </span><span class="usertype">GtkImage</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">preview</span><span class="symbol">;</span>
|
||||
|
||||
...
|
||||
<span class="normal"> </span><span class="symbol">...</span>
|
||||
|
||||
preview = gtk_image_new ();
|
||||
<span class="normal"> preview </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkImage.html#gtk-image-new">gtk_image_new</a></span><span class="normal"> </span><span class="symbol">();</span>
|
||||
|
||||
gtk_file_chooser_set_preview_widget (my_file_chooser, preview);
|
||||
g_signal_connect (my_file_chooser, "update-preview",
|
||||
G_CALLBACK (update_preview_cb), preview);
|
||||
}
|
||||
<span class="normal"> </span><span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-preview-widget">gtk_file_chooser_set_preview_widget</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">my_file_chooser</span><span class="symbol">,</span><span class="normal"> preview</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">g_signal_connect</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">my_file_chooser</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"update-preview"</span><span class="symbol">,</span>
|
||||
<span class="normal"> </span><span class="function">G_CALLBACK</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">update_preview_cb</span><span class="symbol">),</span><span class="normal"> preview</span><span class="symbol">);</span>
|
||||
<span class="cbracket">}</span>
|
||||
|
||||
static void
|
||||
update_preview_cb (GtkFileChooser *file_chooser, gpointer data)
|
||||
{
|
||||
GtkWidget *preview;
|
||||
char *filename;
|
||||
GdkPixbuf *pixbuf;
|
||||
gboolean have_preview;
|
||||
<span class="keyword">static</span><span class="normal"> </span><span class="type">void</span>
|
||||
<span class="function">update_preview_cb</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkFileChooser</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">file_chooser</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
|
||||
<span class="cbracket">{</span>
|
||||
<span class="normal"> </span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">preview</span><span class="symbol">;</span>
|
||||
<span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">filename</span><span class="symbol">;</span>
|
||||
<span class="normal"> </span><span class="usertype">GdkPixbuf</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">pixbuf</span><span class="symbol">;</span>
|
||||
<span class="normal"> </span><span class="usertype">gboolean</span><span class="normal"> have_preview</span><span class="symbol">;</span>
|
||||
|
||||
preview = GTK_WIDGET (data);
|
||||
filename = gtk_file_chooser_get_preview_filename (file_chooser);
|
||||
<span class="normal"> preview </span><span class="symbol">=</span><span class="normal"> </span><span class="function">GTK_WIDGET</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">data</span><span class="symbol">);</span>
|
||||
<span class="normal"> filename </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-get-preview-filename">gtk_file_chooser_get_preview_filename</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">file_chooser</span><span class="symbol">);</span>
|
||||
|
||||
pixbuf = gdk_pixbuf_new_from_file_at_size (filename, 128, 128, NULL);
|
||||
have_preview = (pixbuf != NULL);
|
||||
g_free (filename);
|
||||
<span class="normal"> pixbuf </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gdk_pixbuf_new_from_file_at_size</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">filename</span><span class="symbol">,</span><span class="normal"> </span><span class="number">128</span><span class="symbol">,</span><span class="normal"> </span><span class="number">128</span><span class="symbol">,</span><span class="normal"> NULL</span><span class="symbol">);</span>
|
||||
<span class="normal"> have_preview </span><span class="symbol">=</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixbuf </span><span class="symbol">!=</span><span class="normal"> NULL</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function">g_free</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">filename</span><span class="symbol">);</span>
|
||||
|
||||
gtk_image_set_from_pixbuf (GTK_IMAGE (preview), pixbuf);
|
||||
if (pixbuf)
|
||||
g_object_unref (pixbuf);
|
||||
<span class="normal"> </span><span class="function"><a href="GtkImage.html#gtk-image-set-from-pixbuf">gtk_image_set_from_pixbuf</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_IMAGE</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">preview</span><span class="symbol">),</span><span class="normal"> pixbuf</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixbuf</span><span class="symbol">)</span>
|
||||
<span class="normal"> </span><span class="function">g_object_unref</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">pixbuf</span><span class="symbol">);</span>
|
||||
|
||||
<span class="normal"> </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="normal"> </span><span class="symbol">(</span><span class="normal">file_chooser</span><span class="symbol">,</span><span class="normal"> have_preview</span><span class="symbol">);</span>
|
||||
<span class="cbracket">}</span></pre></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
gtk_file_chooser_set_preview_widget_active (file_chooser, have_preview);
|
||||
}
|
||||
</pre></div>
|
||||
<p></p>
|
||||
</div>
|
||||
</div>
|
||||
@ -788,17 +828,31 @@ 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>
|
||||
<p>An example for adding extra widgets:</p>
|
||||
<div class="informalexample"><pre class="programlisting">
|
||||
<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</pre></td>
|
||||
<td class="listing_code"><pre class="programlisting"><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">toggle</span><span class="symbol">;</span>
|
||||
|
||||
GtkWidget *toggle;
|
||||
<span class="symbol">...</span>
|
||||
|
||||
...
|
||||
<span class="normal">toggle </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkCheckButton.html#gtk-check-button-new-with-label">gtk_check_button_new_with_label</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Open file read-only"</span><span class="symbol">);</span>
|
||||
<span class="function"><a href="GtkWidget.html#gtk-widget-show">gtk_widget_show</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">toggle</span><span class="symbol">);</span>
|
||||
<span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-extra-widget">gtk_file_chooser_set_extra_widget</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">my_file_chooser</span><span class="symbol">,</span><span class="normal"> toggle</span><span class="symbol">);</span>
|
||||
<span class="cbracket">}</span></pre></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
toggle = gtk_check_button_new_with_label ("Open file read-only");
|
||||
gtk_widget_show (toggle);
|
||||
gtk_file_chooser_set_extra_widget (my_file_chooser, toggle);
|
||||
}
|
||||
</pre></div>
|
||||
<p></p>
|
||||
<p>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="GtkBox.html" title="GtkBox"><span class="type">GtkBox</span></a> or a <a class="link" href="GtkGrid.html" title="GtkGrid"><span class="type">GtkGrid</span></a>
|
||||
@ -1326,18 +1380,35 @@ then does Save As... to save a copy or
|
||||
a modified version. 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"><pre class="programlisting">
|
||||
if (document_is_new)
|
||||
{
|
||||
// the user just created a new document
|
||||
gtk_file_chooser_set_current_name (chooser, "Untitled document");
|
||||
}
|
||||
else
|
||||
{
|
||||
// the user edited an existing document
|
||||
gtk_file_chooser_set_filename (chooser, existing_filename);
|
||||
}
|
||||
</pre></div>
|
||||
<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</pre></td>
|
||||
<td class="listing_code"><pre class="programlisting"><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">document_is_new</span><span class="symbol">)</span>
|
||||
<span class="normal"> </span><span class="cbracket">{</span>
|
||||
<span class="normal"> </span><span class="comment">// the user just created a new document</span>
|
||||
<span class="normal"> </span><span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-current-name">gtk_file_chooser_set_current_name</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Untitled document"</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="cbracket">}</span>
|
||||
<span class="keyword">else</span>
|
||||
<span class="normal"> </span><span class="cbracket">{</span>
|
||||
<span class="normal"> </span><span class="comment">// the user edited an existing document</span>
|
||||
<span class="normal"> </span><span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-filename">gtk_file_chooser_set_filename</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">,</span><span class="normal"> existing_filename</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="cbracket">}</span></pre></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p></p>
|
||||
<p>In the first case, the file chooser will present the user with useful suggestions
|
||||
as to where to save his new file. In the second case, the file’s existing location
|
||||
@ -1664,18 +1735,35 @@ does Save As... to save a copy or a
|
||||
modified version. 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"><pre class="programlisting">
|
||||
if (document_is_new)
|
||||
{
|
||||
// the user just created a new document
|
||||
gtk_file_chooser_set_current_name (chooser, "Untitled document");
|
||||
}
|
||||
else
|
||||
{
|
||||
// the user edited an existing document
|
||||
gtk_file_chooser_set_uri (chooser, existing_uri);
|
||||
}
|
||||
</pre></div>
|
||||
<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</pre></td>
|
||||
<td class="listing_code"><pre class="programlisting"><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">document_is_new</span><span class="symbol">)</span>
|
||||
<span class="normal"> </span><span class="cbracket">{</span>
|
||||
<span class="normal"> </span><span class="comment">// the user just created a new document</span>
|
||||
<span class="normal"> </span><span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-current-name">gtk_file_chooser_set_current_name</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Untitled document"</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="cbracket">}</span>
|
||||
<span class="keyword">else</span>
|
||||
<span class="normal"> </span><span class="cbracket">{</span>
|
||||
<span class="normal"> </span><span class="comment">// the user edited an existing document</span>
|
||||
<span class="normal"> </span><span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-uri">gtk_file_chooser_set_uri</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">,</span><span class="normal"> existing_uri</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="cbracket">}</span></pre></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p></p>
|
||||
<p>In the first case, the file chooser will present the user with useful suggestions
|
||||
as to where to save his new file. In the second case, the file’s existing location
|
||||
@ -2881,19 +2969,37 @@ does Save As... 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"><pre class="programlisting">
|
||||
if (document_is_new)
|
||||
{
|
||||
// the user just created a new document
|
||||
gtk_file_chooser_set_current_folder_file (chooser, default_file_for_saving);
|
||||
gtk_file_chooser_set_current_name (chooser, "Untitled document");
|
||||
}
|
||||
else
|
||||
{
|
||||
// the user edited an existing document
|
||||
gtk_file_chooser_set_file (chooser, existing_file);
|
||||
}
|
||||
</pre></div>
|
||||
<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="normal"> </span><span class="symbol">(</span><span class="normal">document_is_new</span><span class="symbol">)</span>
|
||||
<span class="normal"> </span><span class="cbracket">{</span>
|
||||
<span class="normal"> </span><span class="comment">// the user just created a new document</span>
|
||||
<span class="normal"> </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="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">,</span><span class="normal"> default_file_for_saving</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-current-name">gtk_file_chooser_set_current_name</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Untitled document"</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="cbracket">}</span>
|
||||
<span class="keyword">else</span>
|
||||
<span class="normal"> </span><span class="cbracket">{</span>
|
||||
<span class="normal"> </span><span class="comment">// the user edited an existing document</span>
|
||||
<span class="normal"> </span><span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-set-file">gtk_file_chooser_set_file</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">,</span><span class="normal"> existing_file</span><span class="symbol">);</span>
|
||||
<span class="normal"> </span><span class="cbracket">}</span></pre></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<p></p>
|
||||
<div class="refsect3">
|
||||
<a name="gtk-file-chooser-set-file.parameters"></a><h4>Parameters</h4>
|
||||
@ -3245,37 +3351,73 @@ dialog should be used, it should return
|
||||
illustrates this.</p>
|
||||
<div class="refsect3">
|
||||
<a name="gtkfilechooser-confirmation"></a><h4>Custom confirmation</h4>
|
||||
<div class="informalexample"><pre class="programlisting">
|
||||
static GtkFileChooserConfirmation
|
||||
confirm_overwrite_callback (GtkFileChooser *chooser, gpointer data)
|
||||
{
|
||||
char *uri;
|
||||
<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
|
||||
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="keyword">static</span><span class="normal"> <a href="GtkFileChooser.html#GtkFileChooserConfirmation">GtkFileChooserConfirmation</a></span>
|
||||
<span class="function">confirm_overwrite_callback</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkFileChooser</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">chooser</span><span class="symbol">,</span><span class="normal"> </span><span class="usertype">gpointer</span><span class="normal"> data</span><span class="symbol">)</span>
|
||||
<span class="cbracket">{</span>
|
||||
<span class="normal"> </span><span class="type">char</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">uri</span><span class="symbol">;</span>
|
||||
|
||||
uri = gtk_file_chooser_get_uri (chooser);
|
||||
<span class="normal"> uri </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-get-uri">gtk_file_chooser_get_uri</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">);</span>
|
||||
|
||||
if (is_uri_read_only (uri))
|
||||
{
|
||||
if (user_wants_to_replace_read_only_file (uri))
|
||||
return GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME;
|
||||
else
|
||||
return GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN;
|
||||
} else
|
||||
return GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM; // fall back to the default dialog
|
||||
}
|
||||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function">is_uri_read_only</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">uri</span><span class="symbol">))</span>
|
||||
<span class="normal"> </span><span class="cbracket">{</span>
|
||||
<span class="normal"> </span><span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function">user_wants_to_replace_read_only_file</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">uri</span><span class="symbol">))</span>
|
||||
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-ACCEPT-FILENAME:CAPS">GTK_FILE_CHOOSER_CONFIRMATION_ACCEPT_FILENAME</a></span><span class="symbol">;</span>
|
||||
<span class="normal"> </span><span class="keyword">else</span>
|
||||
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-SELECT-AGAIN:CAPS">GTK_FILE_CHOOSER_CONFIRMATION_SELECT_AGAIN</a></span><span class="symbol">;</span>
|
||||
<span class="normal"> </span><span class="cbracket">}</span><span class="normal"> </span><span class="keyword">else</span>
|
||||
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> <a href="GtkFileChooser.html#GTK-FILE-CHOOSER-CONFIRMATION-CONFIRM:CAPS">GTK_FILE_CHOOSER_CONFIRMATION_CONFIRM</a></span><span class="symbol">;</span><span class="normal"> </span><span class="comment">// fall back to the default dialog</span>
|
||||
<span class="cbracket">}</span>
|
||||
|
||||
...
|
||||
<span class="symbol">...</span>
|
||||
|
||||
chooser = gtk_file_chooser_dialog_new (...);
|
||||
<span class="normal">chooser </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="GtkFileChooserDialog.html#gtk-file-chooser-dialog-new">gtk_file_chooser_dialog_new</a></span><span class="normal"> </span><span class="symbol">(...);</span>
|
||||
|
||||
gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
|
||||
g_signal_connect (chooser, "confirm-overwrite",
|
||||
G_CALLBACK (confirm_overwrite_callback), NULL);
|
||||
<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="normal"> </span><span class="symbol">(</span><span class="function">GTK_FILE_CHOOSER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">dialog</span><span class="symbol">),</span><span class="normal"> TRUE</span><span class="symbol">);</span>
|
||||
<span class="function">g_signal_connect</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"confirm-overwrite"</span><span class="symbol">,</span>
|
||||
<span class="normal"> </span><span class="function">G_CALLBACK</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">confirm_overwrite_callback</span><span class="symbol">),</span><span class="normal"> NULL</span><span class="symbol">);</span>
|
||||
|
||||
if (gtk_dialog_run (chooser) == GTK_RESPONSE_ACCEPT)
|
||||
save_to_file (gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (chooser));
|
||||
<span class="keyword">if</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkDialog.html#gtk-dialog-run">gtk_dialog_run</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">)</span><span class="normal"> </span><span class="symbol">==</span><span class="normal"> <a href="GtkDialog.html#GTK-RESPONSE-ACCEPT:CAPS">GTK_RESPONSE_ACCEPT</a></span><span class="symbol">)</span>
|
||||
<span class="normal"> </span><span class="function">save_to_file</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="GtkFileChooser.html#gtk-file-chooser-get-filename">gtk_file_chooser_get_filename</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_FILE_CHOOSER</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">));</span>
|
||||
|
||||
<span class="function"><a href="GtkWidget.html#gtk-widget-destroy">gtk_widget_destroy</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">chooser</span><span class="symbol">);</span></pre></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
gtk_widget_destroy (chooser);
|
||||
</pre></div>
|
||||
<p></p>
|
||||
</div>
|
||||
<div class="refsect3">
|
||||
@ -3486,6 +3628,6 @@ chooser about whether the preview was generated successfully or not.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<hr>Generated by GTK-Doc V1.27</div>
|
||||
<hr>Generated by GTK-Doc V1.28</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user