52
52
<a class="link" href="ThunarxPreferencesProvider.html#ThunarxPreferencesProvider-struct" title="ThunarxPreferencesProvider">ThunarxPreferencesProvider</a>;
53
53
<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="ThunarxPreferencesProvider.html#thunarx-preferences-provider-get-actions" title="thunarx_preferences_provider_get_actions ()">thunarx_preferences_provider_get_actions</a>
54
54
(<em class="parameter"><code><a class="link" href="ThunarxPreferencesProvider.html" title="ThunarxPreferencesProvider"><span class="type">ThunarxPreferencesProvider</span></a> *provider</code></em>,
55
<em class="parameter"><code><span class="type">GtkWidget</span> *window</code></em>);
55
<em class="parameter"><code><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html"><span class="type">GtkWidget</span></a> *window</code></em>);
58
58
<div class="refsect1">
82
82
archive managers instead).
85
The <span class="type">GtkAction</span>s returned from the
85
The <a href="http://library.gnome.org/devel/gtk3/GtkAction.html"><span class="type">GtkAction</span></a>s returned from the
86
86
<a class="link" href="ThunarxPreferencesProvider.html#thunarx-preferences-provider-get-actions" title="thunarx_preferences_provider_get_actions ()"><code class="function">thunarx_preferences_provider_get_actions()</code></a> method must be namespaced with the
87
87
model to avoid collision with internal file manager actions and actions provided
88
88
by other extensions. For example, the preferences action provided by the
90
90
<code class="literal">ThunarUca::manage-actions</code>.
92
92
<div class="example">
93
<a name="id2980506"></a><p class="title"><b>Example 6. Preferences provider example</b></p>
93
<a name="id3024756"></a><p class="title"><b>Example 6. Preferences provider example</b></p>
94
94
<div class="example-contents">
95
95
<table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
145
145
<span class="function">hello_activated</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">window</span><span class="symbol">)</span>
146
146
<span class="cbracket">{</span>
147
147
<span class="normal"> </span><span class="usertype">GtkWidget</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">dialog</span><span class="symbol">;</span>
148
<span class="normal"> dialog </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gtk_message_dialog_new</span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WINDOW</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">window</span><span class="symbol">),</span>
149
<span class="normal"> GTK_DIALOG_MODAL</span>
150
<span class="normal"> </span><span class="symbol">|</span><span class="normal"> GTK_DIALOG_DESTROY_WITH_PARENT</span><span class="symbol">,</span>
151
<span class="normal"> GTK_MESSAGE_INFO</span><span class="symbol">,</span>
152
<span class="normal"> GTK_BUTTONS_OK</span><span class="symbol">,</span>
148
<span class="normal"> dialog </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gtk3/GtkMessageDialog.html#gtk-message-dialog-new">gtk_message_dialog_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_WINDOW</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">window</span><span class="symbol">),</span>
149
<span class="normal"> <a href="http://library.gnome.org/devel/gtk3/GtkDialog.html#GTK-DIALOG-MODAL:CAPS">GTK_DIALOG_MODAL</a></span>
150
<span class="normal"> </span><span class="symbol">|</span><span class="normal"> <a href="http://library.gnome.org/devel/gtk3/GtkDialog.html#GTK-DIALOG-DESTROY-WITH-PARENT:CAPS">GTK_DIALOG_DESTROY_WITH_PARENT</a></span><span class="symbol">,</span>
151
<span class="normal"> <a href="http://library.gnome.org/devel/gtk3/GtkMessageDialog.html#GTK-MESSAGE-INFO:CAPS">GTK_MESSAGE_INFO</a></span><span class="symbol">,</span>
152
<span class="normal"> <a href="http://library.gnome.org/devel/gtk3/GtkMessageDialog.html#GTK-BUTTONS-OK:CAPS">GTK_BUTTONS_OK</a></span><span class="symbol">,</span>
153
153
<span class="normal"> </span><span class="string">"Hello World!"</span><span class="symbol">);</span>
154
<span class="normal"> </span><span class="function">gtk_dialog_run</span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_DIALOG</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">dialog</span><span class="symbol">));</span>
155
<span class="normal"> </span><span class="function">gtk_widget_destroy</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">dialog</span><span class="symbol">);</span>
154
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gtk3/GtkDialog.html#gtk-dialog-run">gtk_dialog_run</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function">GTK_DIALOG</span><span class="normal"> </span><span class="symbol">(</span><span class="normal">dialog</span><span class="symbol">));</span>
155
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html#gtk-widget-destroy">gtk_widget_destroy</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">dialog</span><span class="symbol">);</span>
156
156
<span class="cbracket">}</span>
157
157
<span class="keyword">static</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList">GList</a></span><span class="symbol">*</span>
158
158
<span class="function">hello_get_actions</span><span class="normal"> </span><span class="symbol">(</span><span class="usertype">ThunarxPreferencesProvider</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">provider</span><span class="symbol">,</span>
160
160
<span class="cbracket">{</span>
161
161
<span class="normal"> </span><span class="usertype">GtkAction</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">action</span><span class="symbol">;</span>
162
162
<span class="normal"> </span><span class="usertype">GClosure</span><span class="normal"> </span><span class="symbol">*</span><span class="normal">closure</span><span class="symbol">;</span>
163
<span class="normal"> action </span><span class="symbol">=</span><span class="normal"> </span><span class="function">gtk_action_new</span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Hello::say-hello"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Say hello"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Say hello"</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
163
<span class="normal"> action </span><span class="symbol">=</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gtk3/GtkAction.html#gtk-action-new">gtk_action_new</a></span><span class="normal"> </span><span class="symbol">(</span><span class="string">"Hello::say-hello"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Say hello"</span><span class="symbol">,</span><span class="normal"> </span><span class="string">"Say hello"</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">);</span>
164
164
<span class="normal"> closure </span><span class="symbol">=</span><span class="normal"> </span><span class="function">g_cclosure_object_new_swap</span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Closures.html#G-CALLBACK:CAPS">G_CALLBACK</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">hello_activated</span><span class="symbol">),</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#G-OBJECT:CAPS">G_OBJECT</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">window</span><span class="symbol">));</span>
165
165
<span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#g-signal-connect-closure">g_signal_connect_closure</a></span><span class="normal"> </span><span class="symbol">(</span><span class="function"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#G-OBJECT:CAPS">G_OBJECT</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal">action</span><span class="symbol">),</span><span class="normal"> </span><span class="string">"activate"</span><span class="symbol">,</span><span class="normal"> closure</span><span class="symbol">,</span><span class="normal"> <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS">TRUE</a></span><span class="symbol">);</span>
166
166
<span class="normal"> </span><span class="keyword">return</span><span class="normal"> </span><span class="function"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-prepend">g_list_prepend</a></span><span class="normal"> </span><span class="symbol">(</span><span class="normal"><a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS">NULL</a></span><span class="symbol">,</span><span class="normal"> action</span><span class="symbol">);</span>
212
212
<a name="thunarx-preferences-provider-get-actions"></a><h3>thunarx_preferences_provider_get_actions ()</h3>
213
213
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * thunarx_preferences_provider_get_actions
214
214
(<em class="parameter"><code><a class="link" href="ThunarxPreferencesProvider.html" title="ThunarxPreferencesProvider"><span class="type">ThunarxPreferencesProvider</span></a> *provider</code></em>,
215
<em class="parameter"><code><span class="type">GtkWidget</span> *window</code></em>);</pre>
215
<em class="parameter"><code><a href="http://library.gnome.org/devel/gtk3/GtkWidget.html"><span class="type">GtkWidget</span></a> *window</code></em>);</pre>
217
Returns the list of <span class="type">GtkAction</span>s that <em class="parameter"><code>provider</code></em> has to offer
217
Returns the list of <a href="http://library.gnome.org/devel/gtk3/GtkAction.html"><span class="type">GtkAction</span></a>s that <em class="parameter"><code>provider</code></em> has to offer
218
218
as preferences within <em class="parameter"><code>window</code></em>. These actions will usually be added
219
219
to the builtin list of preferences in the "Edit" menu of the file
220
220
manager's <em class="parameter"><code>window</code></em>.
257
257
<td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
258
<td>the <span class="type">GtkWindow</span> within which the actions will be used.
258
<td>the <a href="http://library.gnome.org/devel/gtk3/GtkWindow.html"><span class="type">GtkWindow</span></a> within which the actions will be used.
262
262
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
263
<td> the list of <span class="type">GtkAction</span>s that <em class="parameter"><code>provider</code></em> has
263
<td> the list of <a href="http://library.gnome.org/devel/gtk3/GtkAction.html"><span class="type">GtkAction</span></a>s that <em class="parameter"><code>provider</code></em> has
264
264
to offer as preferences within <em class="parameter"><code>window</code></em>.