This file is indexed.

/usr/share/gtk-doc/html/thunarx/ThunarxRenamer.html is in thunar-data 1.6.3-1ubuntu5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ThunarxRenamer</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Thunar Extensions Reference Manual">
<link rel="up" href="thunarx-abstraction-layer.html" title="Part IV. Abstraction Layer">
<link rel="prev" href="ThunarxProviderPlugin.html" title="ThunarxProviderPlugin">
<link rel="next" href="thunarx-providers.html" title="Part V. Providers">
<meta name="generator" content="GTK-Doc V1.18 (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="2">
<tr valign="middle">
<td><a accesskey="p" href="ThunarxProviderPlugin.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="thunarx-abstraction-layer.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">Thunar Extensions Reference Manual</th>
<td><a accesskey="n" href="thunarx-providers.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#ThunarxRenamer.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#ThunarxRenamer.description" class="shortcut">Description</a>
                   | 
                  <a href="#ThunarxRenamer.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#ThunarxRenamer.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
                   | 
                  <a href="#ThunarxRenamer.properties" class="shortcut">Properties</a>
                   | 
                  <a href="#ThunarxRenamer.signals" class="shortcut">Signals</a>
</td></tr>
</table>
<div class="refentry">
<a name="ThunarxRenamer"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="ThunarxRenamer.top_of_page"></a>ThunarxRenamer</span></h2>
<p>ThunarxRenamer — The abstract base class for bulk renamers</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="ThunarxRenamer.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;thunarx/thunarx.h&gt;

                    <a class="link" href="ThunarxRenamer.html#ThunarxRenamer-struct" title="ThunarxRenamer">ThunarxRenamer</a>;
struct              <a class="link" href="ThunarxRenamer.html#ThunarxRenamerClass" title="struct ThunarxRenamerClass">ThunarxRenamerClass</a>;
const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="ThunarxRenamer.html#thunarx-renamer-get-help-url" title="thunarx_renamer_get_help_url ()">thunarx_renamer_get_help_url</a>        (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="ThunarxRenamer.html#thunarx-renamer-set-help-url" title="thunarx_renamer_set_help_url ()">thunarx_renamer_set_help_url</a>        (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *help_url</code></em>);
const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       <a class="link" href="ThunarxRenamer.html#thunarx-renamer-get-name" title="thunarx_renamer_get_name ()">thunarx_renamer_get_name</a>            (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="ThunarxRenamer.html#thunarx-renamer-set-name" title="thunarx_renamer_set_name ()">thunarx_renamer_set_name</a>            (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="ThunarxRenamer.html#thunarx-renamer-process" title="thunarx_renamer_process ()">thunarx_renamer_process</a>             (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="ThunarxFileInfo.html" title="ThunarxFileInfo"><span class="type">ThunarxFileInfo</span></a> *file</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="ThunarxRenamer.html#thunarx-renamer-load" title="thunarx_renamer_load ()">thunarx_renamer_load</a>                (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *settings</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="ThunarxRenamer.html#thunarx-renamer-save" title="thunarx_renamer_save ()">thunarx_renamer_save</a>                (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *settings</code></em>);
<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="ThunarxRenamer.html#thunarx-renamer-get-actions" title="thunarx_renamer_get_actions ()">thunarx_renamer_get_actions</a>         (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gtk2/GtkWindow.html"><span class="type">GtkWindow</span></a> *window</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *files</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="ThunarxRenamer.html#thunarx-renamer-changed" title="thunarx_renamer_changed ()">thunarx_renamer_changed</a>             (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="ThunarxRenamer.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
         +----<a href="http://library.gnome.org/devel/gtk3/GtkObject.html">GtkObject</a>
               +----<a href="http://developer.gnome.org/gtk2/GtkWidget.html">GtkWidget</a>
                     +----<a href="http://developer.gnome.org/gtk2/GtkContainer.html">GtkContainer</a>
                           +----<a href="http://developer.gnome.org/gtk2/GtkBox.html">GtkBox</a>
                                 +----<a href="http://developer.gnome.org/gtk2/GtkVBox.html">GtkVBox</a>
                                       +----ThunarxRenamer
</pre>
</div>
<div class="refsect1">
<a name="ThunarxRenamer.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
ThunarxRenamer implements
 AtkImplementorIface,  <a href="http://developer.gnome.org/gtk2/GtkBuildable.html">GtkBuildable</a> and  <a href="http://developer.gnome.org/gtk2/gtk3-Orientable.html#GtkOrientable">GtkOrientable</a>.</p>
</div>
<div class="refsect1">
<a name="ThunarxRenamer.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="ThunarxRenamer.html#ThunarxRenamer--help-url" title='The "help-url" property'>help-url</a>"                 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
  "<a class="link" href="ThunarxRenamer.html#ThunarxRenamer--name" title='The "name" property'>name</a>"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write / Construct Only
</pre>
</div>
<div class="refsect1">
<a name="ThunarxRenamer.signals"></a><h2>Signals</h2>
<pre class="synopsis">
  "<a class="link" href="ThunarxRenamer.html#ThunarxRenamer-changed" title='The "changed" signal'>changed</a>"                                        : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
</pre>
</div>
<div class="refsect1">
<a name="ThunarxRenamer.description"></a><h2>Description</h2>
<p>
  The abstract base class <span class="type">ThunarxRenamer</span> is implemented by
  extensions which provide additional bulk renamers that should be used in
  the bulk rename dialog.
</p>
<p>
  Derived classes must override the <a class="link" href="ThunarxRenamer.html#thunarx-renamer-process" title="thunarx_renamer_process ()"><code class="function">thunarx_renamer_process()</code></a> method, which
  is called by the bulk rename dialog for every file to generate a new name. For
  example, the <span class="type">ThunarSbrReplaceRenamer</span> class included in the
  <code class="literal">thunar-sbr</code> plugin (which is part of the Thunar distribution)
  provides a bulk renamer, named <span class="emphasis"><em>Search &amp; Replace</em></span>,
  which allows the user to rename multiple files by searching for a pattern in
  each file name and, if the pattern is found, replacing it with the specified
  replacement text.
</p>
<p>
  <img src="bulk-rename.png">
</p>
<p>
  The active <span class="type">ThunarxRenamer</span>s user interface is displayed in a frame
  below the file list, as shown in the screenshot above. Derived classes should try
  to limit the number of widgets displayed in the main user interface. For example,
  if you have more than six settings, you should consider adding an <span class="guibutton">Advanced</span>,
  button which opens a dialog with the additional settings.
</p>
</div>
<div class="refsect1">
<a name="ThunarxRenamer.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="ThunarxRenamer-struct"></a><h3>ThunarxRenamer</h3>
<pre class="programlisting">typedef struct _ThunarxRenamer ThunarxRenamer;</pre>
<p>
  Abstract base instance type for bulk renamers.
</p>
</div>
<hr>
<div class="refsect2">
<a name="ThunarxRenamerClass"></a><h3>struct ThunarxRenamerClass</h3>
<pre class="programlisting">struct ThunarxRenamerClass {
  /* virtual methods */
  gchar *(*process)     (ThunarxRenamer  *renamer,
                         ThunarxFileInfo *file,
                         const gchar     *text,
                         guint            index);

  void   (*load)        (ThunarxRenamer  *renamer,
                         GHashTable      *settings);
  void   (*save)        (ThunarxRenamer  *renamer,
                         GHashTable      *settings);

  GList *(*get_actions) (ThunarxRenamer  *renamer,
                         GtkWindow       *window,
                         GList           *files);


  /* signals */
  void (*changed) (ThunarxRenamer *renamer);
};
</pre>
<p>
  Abstract base class with virtual methods implemented by extensions
  that provide additional bulk renamers for the integrated bulk
  rename module in Thunar.
</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="structfield"><code><a name="ThunarxRenamerClass.process"></a>process</code></em> ()</span></p></td>
<td>see <a class="link" href="ThunarxRenamer.html#thunarx-renamer-process" title="thunarx_renamer_process ()"><code class="function">thunarx_renamer_process()</code></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="ThunarxRenamerClass.load"></a>load</code></em> ()</span></p></td>
<td>see <a class="link" href="ThunarxRenamer.html#thunarx-renamer-load" title="thunarx_renamer_load ()"><code class="function">thunarx_renamer_load()</code></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="ThunarxRenamerClass.save"></a>save</code></em> ()</span></p></td>
<td>see <a class="link" href="ThunarxRenamer.html#thunarx-renamer-save" title="thunarx_renamer_save ()"><code class="function">thunarx_renamer_save()</code></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="ThunarxRenamerClass.get-actions"></a>get_actions</code></em> ()</span></p></td>
<td>see <a class="link" href="ThunarxRenamer.html#thunarx-renamer-get-actions" title="thunarx_renamer_get_actions ()"><code class="function">thunarx_renamer_get_actions()</code></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="structfield"><code><a name="ThunarxRenamerClass.changed"></a>changed</code></em> ()</span></p></td>
<td>see <a class="link" href="ThunarxRenamer.html#thunarx-renamer-changed" title="thunarx_renamer_changed ()"><code class="function">thunarx_renamer_changed()</code></a>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-renamer-get-help-url"></a><h3>thunarx_renamer_get_help_url ()</h3>
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       thunarx_renamer_get_help_url        (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>);</pre>
<p>
Returns the URL of the documentation for <em class="parameter"><code>renamer</code></em>
or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no specific documentation is available
for <em class="parameter"><code>renamer</code></em> and the general documentation of the
Thunar renamers should be displayed instead.
</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>renamer</code></em> :</span></p></td>
<td>a <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the URL of the documentation for <em class="parameter"><code>renamer</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-renamer-set-help-url"></a><h3>thunarx_renamer_set_help_url ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                thunarx_renamer_set_help_url        (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *help_url</code></em>);</pre>
<p>
The URL to the documentation of this <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.
Derived classes can set this property to point to the
documentation for the specific renamer. The documentation
of the specific renamer in turn should contain a link to
the general Thunar renamer documentation.
</p>
<p>
May also be unset, in which case the general Thunar renamer
documentation will be shown when the user clicks the "Help"
button.
</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>renamer</code></em> :</span></p></td>
<td>a <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>help_url</code></em> :</span></p></td>
<td>the new URL to the documentation of <em class="parameter"><code>renamer</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-renamer-get-name"></a><h3>thunarx_renamer_get_name ()</h3>
<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *       thunarx_renamer_get_name            (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>);</pre>
<p>
Returns the user visible name for <em class="parameter"><code>renamer</code></em>, previously
set with <a class="link" href="ThunarxRenamer.html#thunarx-renamer-set-name" title="thunarx_renamer_set_name ()"><code class="function">thunarx_renamer_set_name()</code></a>.
</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>renamer</code></em> :</span></p></td>
<td>a <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the user visible name for <em class="parameter"><code>renamer</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-renamer-set-name"></a><h3>thunarx_renamer_set_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                thunarx_renamer_set_name            (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
<p>
Sets the user visible name for <em class="parameter"><code>renamer</code></em> to <em class="parameter"><code>name</code></em>. This method should
only be called by derived classes and prior to returning the <em class="parameter"><code>renamer</code></em>
is returned from <a class="link" href="ThunarxRenamerProvider.html#thunarx-renamer-provider-get-renamers" title="thunarx_renamer_provider_get_renamers ()"><code class="function">thunarx_renamer_provider_get_renamers()</code></a>.
</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>renamer</code></em> :</span></p></td>
<td>a <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>the new user visible name for <em class="parameter"><code>renamer</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-renamer-process"></a><h3>thunarx_renamer_process ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             thunarx_renamer_process             (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="ThunarxFileInfo.html" title="ThunarxFileInfo"><span class="type">ThunarxFileInfo</span></a> *file</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> index</code></em>);</pre>
<p>
Determines the replacement for <em class="parameter"><code>text</code></em> (which is the relevant
part of the full <em class="parameter"><code>file</code></em> name, i.e. either the suffix, the name
or the name and the suffix).
</p>
<p>
The caller is responsible to free the returned string using
<a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed.
</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>renamer</code></em> :</span></p></td>
<td>a <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td>
<td>the <a class="link" href="ThunarxFileInfo.html" title="ThunarxFileInfo"><span class="type">ThunarxFileInfo</span></a> for the file whose new
name - according to <em class="parameter"><code>renamer</code></em> - should be
determined.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>the part of the filename to which the
<em class="parameter"><code>renamer</code></em> should be applied.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the string with which to replace <em class="parameter"><code>text</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-renamer-load"></a><h3>thunarx_renamer_load ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                thunarx_renamer_load                (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *settings</code></em>);</pre>
<p>
Tells <em class="parameter"><code>renamer</code></em> to load its internal settings from the specified
<em class="parameter"><code>settings</code></em>. The <em class="parameter"><code>settings</code></em> hash table contains previously saved
settings, see <a class="link" href="ThunarxRenamer.html#thunarx-renamer-save" title="thunarx_renamer_save ()"><code class="function">thunarx_renamer_save()</code></a>, as key/value pairs of
strings. That is, both the keys and the values are strings.
</p>
<p>
Implementations of <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> may decide to override this
method to perform custom loading of settings. If you do not
override this method, the default method of <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>
will be used, which simply loads all <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> properties
provided by <em class="parameter"><code>renamer</code></em>s class (excluding the ones
provided by the parent classes) from the <em class="parameter"><code>settings</code></em>. The
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> properties must be transformable to strings and
from strings.
</p>
<p>
If you decide to override this method for your <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>
implementation, you should also override <a class="link" href="ThunarxRenamer.html#thunarx-renamer-save" title="thunarx_renamer_save ()"><code class="function">thunarx_renamer_save()</code></a>.
</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>renamer</code></em> :</span></p></td>
<td>a <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>settings</code></em> :</span></p></td>
<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> which contains the previously saved
settings for <em class="parameter"><code>renamer</code></em> as key/value pairs of strings.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-renamer-save"></a><h3>thunarx_renamer_save ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                thunarx_renamer_save                (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *settings</code></em>);</pre>
<p>
Tells <em class="parameter"><code>renamer</code></em> to save its internal settings to the specified
<em class="parameter"><code>settings</code></em>, which can afterwards be loaded by <a class="link" href="ThunarxRenamer.html#thunarx-renamer-load" title="thunarx_renamer_load ()"><code class="function">thunarx_renamer_load()</code></a>.
</p>
<p>
The strings saved to <em class="parameter"><code>settings</code></em> must be allocated by <a href="http://library.gnome.org/devel/glib/unstable/glib-String-Utility-Functions.html#g-strdup"><code class="function">g_strdup()</code></a>,
both the keys and the values. For example to store the string
<code class="literal">Bar</code> for the setting <code class="literal">Foo</code>,
you'd use:
</p>
<div class="informalexample"><pre class="programlisting">
g_hash_table_replace (settings, g_strdup ("Foo"), g_strdup ("Bar"));
</pre></div>
<p>
</p>
<p>
Implementations of <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> may decide to override this
method to perform custom saving of settings. If you do not overrride
this method, the default method of <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> will be used,
which simply stores all <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> properties provided by the
<em class="parameter"><code>renamer</code></em>s class (excluding the ones provided by the parent
classes) to the <em class="parameter"><code>settings</code></em>. The <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> properties must be transformable
to strings.
</p>
<p>
If you decide to override this method for your <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>
implementation, you should also override <a class="link" href="ThunarxRenamer.html#thunarx-renamer-load" title="thunarx_renamer_load ()"><code class="function">thunarx_renamer_load()</code></a>.
</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>renamer</code></em> :</span></p></td>
<td>a <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>settings</code></em> :</span></p></td>
<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> to which the current settings of <em class="parameter"><code>renamer</code></em>
should be stored as key/value pairs of strings.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-renamer-get-actions"></a><h3>thunarx_renamer_get_actions ()</h3>
<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_renamer_get_actions         (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>,
                                                         <em class="parameter"><code><a href="http://developer.gnome.org/gtk2/GtkWindow.html"><span class="type">GtkWindow</span></a> *window</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *files</code></em>);</pre>
<p>
Returns the list of <a href="http://developer.gnome.org/gtk2/GtkAction.html"><span class="type">GtkAction</span></a>s provided by <em class="parameter"><code>renamer</code></em> for
the given list of <em class="parameter"><code>files</code></em>. By default, this method returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
(the empty list), but derived classes may override this method
to provide additional actions for files in the bulk renamer
dialog list.
</p>
<p>
The returned <a href="http://developer.gnome.org/gtk2/GtkAction.html"><span class="type">GtkAction</span></a>s will be displayed in the file's
context menu of the bulk renamer dialog, when this <em class="parameter"><code>renamer</code></em> is
active. For example, an ID3-Tag based renamer may add an action
"Edit Tags" to the context menus of supported media files and,
when activated, display a dialog (which should be transient and
modal for <em class="parameter"><code>window</code></em>, if not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>), which allows the users to edit
media file tags on-the-fly.
</p>
<p>
Derived classes that override this method should always check
first if all the <a class="link" href="ThunarxFileInfo.html" title="ThunarxFileInfo"><span class="type">ThunarxFileInfo</span></a>s in the list of <em class="parameter"><code>files</code></em>
are supported, and only return actions that can be performed on
this specific list of <em class="parameter"><code>files</code></em>. For example, the ID3-Tag renamer
mentioned above, should first check whether all items in <em class="parameter"><code>files</code></em>
are actually audio files. The <a class="link" href="ThunarxFileInfo.html#thunarx-file-info-has-mime-type" title="thunarx_file_info_has_mime_type ()"><code class="function">thunarx_file_info_has_mime_type()</code></a>
of the <a class="link" href="ThunarxFileInfo.html" title="ThunarxFileInfo"><span class="type">ThunarxFileInfo</span></a> interface can be used to easily test
whether a file in the <em class="parameter"><code>files</code></em> list is of a certain MIME type.
</p>
<p>
Some actions may only work properly if only a single file ist
selected (for example, the ID3-Tag renamer will probably only
supporting editing one file at a time). In this case you have
basicly two options: Either you can return <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> here if <em class="parameter"><code>files</code></em>
does not contain exactly one item, or you can return the actions
as usual, but make them insensitive, using:
</p>
<div class="informalexample"><pre class="programlisting">
gtk_action_set_sensitive (action, FALSE);
</pre></div>
<p>
The latter has the advantage that the user will still notice the
existance of the action and probably realize that it can only be
applied to a single item at once.
</p>
<p>
The caller is responsible to free the returned list using something
like the following:
</p>
<div class="informalexample"><pre class="programlisting">
g_list_free_full (list, g_object_unref);
</pre></div>
<p>
</p>
<p>
As a special note, this method automatically takes a reference on the
<em class="parameter"><code>renamer</code></em> for every <a href="http://developer.gnome.org/gtk2/GtkAction.html"><span class="type">GtkAction</span></a> object returned from the real implementation
of this method in <em class="parameter"><code>renamer</code></em>. This is to make sure that the extension stays
in memory for atleast the time that the actions are used.
</p>
<p>
The <a href="http://developer.gnome.org/gtk2/GtkAction.html"><span class="type">GtkAction</span></a>s returned from this method must be namespaced with
the module to avoid collision with internal file manager actions and
actions provided by other extensions. For example, the menu action
provided by the ID3-Tag renamer mentioned above, should be named
<code class="literal">TagRenamer::edit-tags</code> (if <code class="literal">TagRenamer</code>
is the class name). For additional information about the way <a href="http://developer.gnome.org/gtk2/GtkAction.html"><span class="type">GtkAction</span></a>s
should be returned from extensions and the way they are used, read the
description of the <a class="link" href="ThunarxMenuProvider.html" title="ThunarxMenuProvider"><span class="type">ThunarxMenuProvider</span></a> interface or read the introduction
provided with this reference manual.
</p>
<p>
A note of warning concerning the <em class="parameter"><code>window</code></em> parameter. Plugins should
avoid taking a reference on <em class="parameter"><code>window</code></em>, as that might introduce a
circular reference and can thereby cause a quite large memory leak.
Instead, if <em class="parameter"><code>window</code></em> is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, add a weak reference using the
<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-weak-ref"><code class="function">g_object_weak_ref()</code></a> or <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-add-weak-pointer"><code class="function">g_object_add_weak_pointer()</code></a> method. But don't
forget to release the weak reference if <em class="parameter"><code>window</code></em> survived the lifetime
of your action (which is likely to be the case in most situations).
</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>renamer</code></em> :</span></p></td>
<td>a <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>window</code></em> :</span></p></td>
<td>a <a href="http://developer.gnome.org/gtk2/GtkWindow.html"><span class="type">GtkWindow</span></a> or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>files</code></em> :</span></p></td>
<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <a class="link" href="ThunarxFileInfo.html" title="ThunarxFileInfo"><span class="type">ThunarxFileInfo</span></a>s.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the list of <a href="http://developer.gnome.org/gtk2/GtkAction.html"><span class="type">GtkAction</span></a>s provided by <em class="parameter"><code>renamer</code></em>
for the given list of <em class="parameter"><code>files</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="thunarx-renamer-changed"></a><h3>thunarx_renamer_changed ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                thunarx_renamer_changed             (<em class="parameter"><code><a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer</code></em>);</pre>
<p>
This method should be used by derived classes
to emit the "changed" signal for <em class="parameter"><code>renamer</code></em>. See
the documentation of the "changed" signal for
details.
</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>renamer</code></em> :</span></p></td>
<td>a <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.</td>
</tr></tbody>
</table></div>
</div>
</div>
<div class="refsect1">
<a name="ThunarxRenamer.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="ThunarxRenamer--help-url"></a><h3>The <code class="literal">"help-url"</code> property</h3>
<pre class="programlisting">  "help-url"                 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write</pre>
<p>
The URL to the documentation of this <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.
Derived classes can set this property to point to the
documentation for the specific renamer. The documentation
of the specific renamer in turn should contain a link to
the general Thunar renamer documentation.
</p>
<p>
May also be unset, in which case the general Thunar renamer
documentation will be shown when the user clicks the "Help"
button.
</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="ThunarxRenamer--name"></a><h3>The <code class="literal">"name"</code> property</h3>
<pre class="programlisting">  "name"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write / Construct Only</pre>
<p>
The user visible name of the renamer, that is displayed
in the bulk rename dialog of the file manager. Derived
classes should set a useful name.
</p>
<p>Default value: NULL</p>
</div>
</div>
<div class="refsect1">
<a name="ThunarxRenamer.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="ThunarxRenamer-changed"></a><h3>The <code class="literal">"changed"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a> *renamer,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
<p>
Derived classes should emit this signal using the
<a class="link" href="ThunarxRenamer.html#thunarx-renamer-changed" title="thunarx_renamer_changed ()"><code class="function">thunarx_renamer_changed()</code></a> method whenever the user
changed a setting in the <em class="parameter"><code>renamer</code></em> GUI.
</p>
<p>
The file manager will then invoke <a class="link" href="ThunarxRenamer.html#thunarx-renamer-process" title="thunarx_renamer_process ()"><code class="function">thunarx_renamer_process()</code></a>
for all files that should be renamed and update the preview.
</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>renamer</code></em> :</span></p></td>
<td>a <a class="link" href="ThunarxRenamer.html" title="ThunarxRenamer"><span class="type">ThunarxRenamer</span></a>.</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>
<div class="refsect1">
<a name="ThunarxRenamer.see-also"></a><h2>See Also</h2>
<p>
  The description of the <a class="link" href="ThunarxRenamerProvider.html" title="ThunarxRenamerProvider"><span class="type">ThunarxRenamerProvider</span></a>
  interface.
</p>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>