diff --git a/ChangeLog b/ChangeLog index 61b46c89b7b9d8998bc2425d4a904e78dbec9f97..ee6a08a6f3db226656321e2c3bcfd1c54aa81ded 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-03-22 Benedikt Meurer <benny@xfce.org> + + * docs/reference/thunarx/: Update the thunarx API documentation. 100% + symbol docs coverage! + 2006-03-21 Benedikt Meurer <benny@xfce.org> * plugins/thunar-uca/README: Fix typos. diff --git a/docs/reference/thunarx/Makefile.am b/docs/reference/thunarx/Makefile.am index 43b4e7cc71059b1143ef75c264b2ed8f47c9103c..d5c5f285d1239cd166a2282bad1634d392ad361d 100644 --- a/docs/reference/thunarx/Makefile.am +++ b/docs/reference/thunarx/Makefile.am @@ -36,6 +36,7 @@ EXTRA_HFILES= # Images to copy into HTML directory HTML_IMAGES = \ $(srcdir)/images/abstraction.png \ + $(srcdir)/images/bulk-rename.png \ $(srcdir)/images/menu-provider.png \ $(srcdir)/images/say-hello.png diff --git a/docs/reference/thunarx/images/bulk-rename.png b/docs/reference/thunarx/images/bulk-rename.png new file mode 100644 index 0000000000000000000000000000000000000000..8a1f090545be45c3b77bf3b6690b74db2001b079 Binary files /dev/null and b/docs/reference/thunarx/images/bulk-rename.png differ diff --git a/docs/reference/thunarx/thunarx-docs.sgml b/docs/reference/thunarx/thunarx-docs.sgml index 903da5519d146dd06351016bfbf88555b28a394a..a292657a52eac9ca602172bc6274afa07650642f 100644 --- a/docs/reference/thunarx/thunarx-docs.sgml +++ b/docs/reference/thunarx/thunarx-docs.sgml @@ -9,6 +9,8 @@ <!ENTITY ThunarxPropertyPageProvider SYSTEM "xml/thunarx-property-page-provider.xml"> <!ENTITY ThunarxProviderFactory SYSTEM "xml/thunarx-provider-factory.xml"> <!ENTITY ThunarxProviderPlugin SYSTEM "xml/thunarx-provider-plugin.xml"> +<!ENTITY ThunarxRenamer SYSTEM "xml/thunarx-renamer.xml"> +<!ENTITY ThunarxRenamerProvider SYSTEM "xml/thunarx-renamer-provider.xml"> <!ENTITY thunarx-version-information SYSTEM "xml/thunarx-version-information.xml"> <!ENTITY version SYSTEM "version.xml"> @@ -145,9 +147,11 @@ include the <link linkend="ThunarxMenuProvider"><type>ThunarxMenuProvider</type></link> for adding context menu items to the file views, the <link linkend="ThunarxPropertyPageProvider"><type>ThunarxPropertyPageProvider</type></link> for adding pages to the - file properties dialog and the <link + file properties dialog, the <link linkend="ThunarxPreferencesProvider"><type>ThunarxPreferencesProvider</type></link> for adding actions to the - preferences section of the main menu. + preferences section of the main menu, and the <link + linkend="ThunarxRenamerProvider"><type>ThunarxRenamerProvider</type></link> for adding renamers to the bulk + rename dialog. </para> </sect2> @@ -425,14 +429,18 @@ thunar_extension_initialize (ThunarxProviderPlugin *plugin) the file manager, the class <link linkend="ThunarxPropertyPage"><type>ThunarxPropertyPage</type></link>, which is the base class for widgets that can be added to the properties dialog by - extensions, and the interface <link + extensions, the interface <link linkend="ThunarxProviderPlugin"><type>ThunarxProviderPlugin</type></link>, which - hides the details of dynamic type registration from the extensions. + hides the details of dynamic type registration from the extensions, and the + class <link linkend="ThunarxRenamer"><type>ThunarxRenamer</type></link>, which + is the abstract base class for renamers that can be used in the bulk rename + dialog provided by Thunar to rename multiple files at once. </para> &ThunarxFileInfo; &ThunarxPropertyPage; &ThunarxProviderPlugin; + &ThunarxRenamer; </part> <part id="thunarx-providers"> @@ -459,6 +467,7 @@ thunar_extension_initialize (ThunarxProviderPlugin *plugin) &ThunarxMenuProvider; &ThunarxPropertyPageProvider; &ThunarxPreferencesProvider; + &ThunarxRenamerProvider; </part> <part id="thunarx-using-extensions"> diff --git a/docs/reference/thunarx/thunarx-sections.txt b/docs/reference/thunarx/thunarx-sections.txt index 704e5cc90ef9804e0d36c99750509f0d3e9312f9..3dcd18902ed4bd81d6620ae11b9ca79cc1931e4a 100644 --- a/docs/reference/thunarx/thunarx-sections.txt +++ b/docs/reference/thunarx/thunarx-sections.txt @@ -141,6 +141,45 @@ THUNARX_PROVIDER_PLUGIN_GET_IFACE thunarx_provider_plugin_get_type </SECTION> +<SECTION> +<FILE>thunarx-renamer</FILE> +<TITLE>ThunarxRenamer</TITLE> +ThunarxRenamer +ThunarxRenamerClass +thunarx_renamer_get_help_url +thunarx_renamer_set_help_url +thunarx_renamer_get_name +thunarx_renamer_set_name +thunarx_renamer_process +thunarx_renamer_load +thunarx_renamer_save +thunarx_renamer_changed +<SUBSECTION Standard> +THUNARX_TYPE_RENAMER +THUNARX_RENAMER +THUNARX_RENAMER_CLASS +THUNARX_IS_RENAMER +THUNARX_IS_RENAMER_CLASS +THUNARX_RENAMER_GET_CLASS +<SUBSECTION Private> +thunarx_renamer_get_type +</SECTION> + +<SECTION> +<FILE>thunarx-renamer-provider</FILE> +<TITLE>ThunarxRenamerProvider</TITLE> +ThunarxRenamerProvider +ThunarxRenamerProviderIface +thunarx_renamer_provider_get_renamers +<SUBSECTION Standard> +THUNARX_TYPE_RENAMER_PROVIDER +THUNARX_RENAMER_PROVIDER +THUNARX_IS_RENAMER_PROVIDER +THUNARX_RENAMER_PROVIDER_GET_IFACE +<SUBSECTION Private> +thunarx_renamer_provider_get_type +</SECTION> + <SECTION> <FILE>thunarx-version-information</FILE> <TITLE>Variables and functions to check the library version</TITLE> diff --git a/docs/reference/thunarx/thunarx.types b/docs/reference/thunarx/thunarx.types index 439681791267ba84750f311cf7d50b98c95deb85..588ee869c99fc885f4c4675ee2ded664c93d0491 100644 --- a/docs/reference/thunarx/thunarx.types +++ b/docs/reference/thunarx/thunarx.types @@ -7,3 +7,6 @@ thunarx_property_page_get_type thunarx_property_page_provider_get_type thunarx_provider_factory_get_type thunarx_provider_plugin_get_type +thunarx_renamer_get_type +thunarx_renamer_provider_get_type + diff --git a/docs/reference/thunarx/tmpl/thunarx-property-page-provider.sgml b/docs/reference/thunarx/tmpl/thunarx-property-page-provider.sgml index d744765c3a202d8f951e8d7a81f6d4e090211cf7..82efbf0101d4f5e21fdfac8783a29972772ba50b 100644 --- a/docs/reference/thunarx/tmpl/thunarx-property-page-provider.sgml +++ b/docs/reference/thunarx/tmpl/thunarx-property-page-provider.sgml @@ -33,7 +33,7 @@ Stable additional pages for the file properties dialog. </para> -@get_pages: See thunarx_property_page_provider_get_pages(). +@get_pages: see thunarx_property_page_provider_get_pages(). <!-- ##### FUNCTION thunarx_property_page_provider_get_pages ##### --> <para> diff --git a/docs/reference/thunarx/tmpl/thunarx-property-page.sgml b/docs/reference/thunarx/tmpl/thunarx-property-page.sgml index 6e052554b99b81e83569222fbc5edd997867fb66..932f077e702ce85ca5065cb91b3c82bb1383cbde 100644 --- a/docs/reference/thunarx/tmpl/thunarx-property-page.sgml +++ b/docs/reference/thunarx/tmpl/thunarx-property-page.sgml @@ -2,7 +2,7 @@ ThunarxPropertyPage <!-- ##### SECTION Short_Description ##### --> -Base class for pages added to the properties dialog +The base class for pages added to the properties dialog <!-- ##### SECTION Long_Description ##### --> <para> diff --git a/docs/reference/thunarx/tmpl/thunarx-provider-factory.sgml b/docs/reference/thunarx/tmpl/thunarx-provider-factory.sgml index 2372faea47e7c51c070be81c816252ed12d96655..d7ce7601b0bbe674f6e5817851468a3382e724fd 100644 --- a/docs/reference/thunarx/tmpl/thunarx-provider-factory.sgml +++ b/docs/reference/thunarx/tmpl/thunarx-provider-factory.sgml @@ -2,24 +2,27 @@ ThunarxProviderFactory <!-- ##### SECTION Short_Description ##### --> -Provider factory support +The provider factory support for applications <!-- ##### SECTION Long_Description ##### --> <para> - + The #ThunarxProviderFactory class allows applications to use Thunar plugins. It handles + the loading of the installed extensions and instantiates providers for the application. + For example, Thunar uses this class to access the installed extensions. </para> <!-- ##### SECTION See_Also ##### --> <para> - #ThunarxMenuProvider, #ThunarxPropertyPageProvider + #ThunarxMenuProvider, #ThunarxPropertyPageProvider, #ThunarxRenamerProvider </para> <!-- ##### SECTION Stability_Level ##### --> - +Stable <!-- ##### STRUCT ThunarxProviderFactory ##### --> <para> - + The #ThunarxProviderFactory struct contains only private data. It should + only be accessed with the methods described below. </para> diff --git a/docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml b/docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml index 7ef467f2461d35221f11a030050d21ba60fe0eb9..2dbab0de62291146ccc43a204a7935026721fda8 100644 --- a/docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml +++ b/docs/reference/thunarx/tmpl/thunarx-provider-plugin.sgml @@ -2,7 +2,7 @@ ThunarxProviderPlugin <!-- ##### SECTION Short_Description ##### --> -Plugin type registration +The interface to the plugin type registration <!-- ##### SECTION Long_Description ##### --> <para> @@ -21,7 +21,8 @@ Stable <!-- ##### STRUCT ThunarxProviderPlugin ##### --> <para> - + The #ThunarxProviderPlugin struct is just a typedef for + the interface instance type. </para> diff --git a/docs/reference/thunarx/tmpl/thunarx-renamer-provider.sgml b/docs/reference/thunarx/tmpl/thunarx-renamer-provider.sgml new file mode 100644 index 0000000000000000000000000000000000000000..9574857e7bf0ff440a47722af245e3976e121535 --- /dev/null +++ b/docs/reference/thunarx/tmpl/thunarx-renamer-provider.sgml @@ -0,0 +1,45 @@ +<!-- ##### SECTION Title ##### --> +ThunarxRenamerProvider + +<!-- ##### SECTION Short_Description ##### --> +The interface to extensions that provide additional bulk renamers + +<!-- ##### SECTION Long_Description ##### --> +<para> + The <interface>ThunarxRenamerProvider</interface> interface is implemented by + extensions which provide additional bulk renamers that should be used by the + bulk rename dialog in Thunar. +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + The description of the abstract base class + <link linkend="ThunarxRenamer"><type>ThunarxRenamer</type></link>. +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT ThunarxRenamerProvider ##### --> +<para> + Bulk renamer provider type. +</para> + + +<!-- ##### STRUCT ThunarxRenamerProviderIface ##### --> +<para> + Interface with virtual methods implemented by extensions that provide + additional bulk renamers for the integrated bulk renamer in Thunar. +</para> + +@get_renamers: see thunarx_renamer_provider_get_renamers(). + +<!-- ##### FUNCTION thunarx_renamer_provider_get_renamers ##### --> +<para> + +</para> + +@provider: +@Returns: + + diff --git a/docs/reference/thunarx/tmpl/thunarx-renamer.sgml b/docs/reference/thunarx/tmpl/thunarx-renamer.sgml new file mode 100644 index 0000000000000000000000000000000000000000..496aea20676005aa264ce0bff9c93e5f1187a698 --- /dev/null +++ b/docs/reference/thunarx/tmpl/thunarx-renamer.sgml @@ -0,0 +1,154 @@ +<!-- ##### SECTION Title ##### --> +ThunarxRenamer + +<!-- ##### SECTION Short_Description ##### --> +The abstract base class for bulk renamers + +<!-- ##### SECTION Long_Description ##### --> +<para> + The abstract base class <type>ThunarxRenamer</type> is implemented by + extensions which provide additional bulk renamers that should be used in + the bulk rename dialog. +</para> + +<para> + Derived classes must override the thunarx_renamer_process() method, which + is called by the bulk rename dialog for every file to generate a new name. For + example, the <type>ThunarSbrReplaceRenamer</type> class included in the + <literal>thunar-sbr</literal> plugin (which is part of the Thunar distribution) + provides a bulk renamer, named <emphasis>Search & Replace</emphasis>, + 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. +</para> + +<para> + <inlinegraphic fileref="bulk-rename.png" format="PNG" /> +</para> + +<para> + The active <type>ThunarxRenamer</type>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 <guibutton>Advanced</guibutton>, + which opens a dialog with the additional settings. +</para> + +<!-- ##### SECTION See_Also ##### --> +<para> + The description of the <link linkend="ThunarxRenamerProvider"><type>ThunarxRenamerProvider</type></link> + interface. +</para> + +<!-- ##### SECTION Stability_Level ##### --> + + +<!-- ##### STRUCT ThunarxRenamer ##### --> +<para> + Abstract base instance type for bulk renamers. +</para> + + +<!-- ##### SIGNAL ThunarxRenamer::changed ##### --> +<para> + +</para> + +@thunarxrenamer: the object which received the signal. + +<!-- ##### ARG ThunarxRenamer:help-url ##### --> +<para> + +</para> + +<!-- ##### ARG ThunarxRenamer:name ##### --> +<para> + +</para> + +<!-- ##### STRUCT ThunarxRenamerClass ##### --> +<para> + Abstract base class with virtual methods implemented by extensions + that provide additional bulk renamers for the integrated bulk + rename module in Thunar. +</para> + +@process: see thunarx_renamer_process(). +@load: see thunarx_renamer_load(). +@save: see thunarx_renamer_save(). +@changed: see thunarx_renamer_changed(). + +<!-- ##### FUNCTION thunarx_renamer_get_help_url ##### --> +<para> + +</para> + +@renamer: +@Returns: + + +<!-- ##### FUNCTION thunarx_renamer_set_help_url ##### --> +<para> + +</para> + +@renamer: +@help_url: + + +<!-- ##### FUNCTION thunarx_renamer_get_name ##### --> +<para> + +</para> + +@renamer: +@Returns: + + +<!-- ##### FUNCTION thunarx_renamer_set_name ##### --> +<para> + +</para> + +@renamer: +@name: + + +<!-- ##### FUNCTION thunarx_renamer_process ##### --> +<para> + +</para> + +@renamer: +@file: +@text: +@index: +@Returns: + + +<!-- ##### FUNCTION thunarx_renamer_load ##### --> +<para> + +</para> + +@renamer: +@settings: + + +<!-- ##### FUNCTION thunarx_renamer_save ##### --> +<para> + +</para> + +@renamer: +@settings: + + +<!-- ##### FUNCTION thunarx_renamer_changed ##### --> +<para> + +</para> + +@renamer: + +