<chapter id="advanced">
<title
>Gevorderd gebruik</title>

<sect1 id="command-line">
<title
>Commandoregelopties</title>

<para
>Bij het gebruiken van &appname; vanaf de commandoregel zijn er verschillende opties voor het openen van gegevensbestanden. Deze worden zichtbaar door het commando <userinput
>tellico --help</userinput
>. </para>

<programlisting
>Gebruik: tellico [Qt-opties] [KDE-opties] [opties] [bestandsnaam]

Tellico - een beheerder van verzamelingen voor KDE

Opties:
  --nofile                  Het laatst geopende bestand niet opnieuw openen
  --bibtex                  &lt;bestandsnaam&gt; importeren als een bibtex-bestand
  --mods                    &lt;bestandsnaam&gt; importeren als een MODS-bestand
  --ris                     &lt;bestandsnaam&gt; importeren als een RIS-bestand

Argumenten:
  bestandsnaam              Te openen bestand
</programlisting>

</sect1>

<sect1 id="dbus-interface">
<title
>&DBus;-interface</title>

<para
>&appname; heeft een minimale &DBus;-interface, die bruikbaar kan zijn voor het werken met scripts of samen te werken met een actieve toepassing vanaf de commandoregel. Zoals met alle &DBus;-oproepen, moet u de service specificeren waarmee u wilt samenwerken en het specifieke interface. De naam van de &DBus;-service is <constant
>org.kde.tellico</constant
>. </para>

<sect2 id="dbus-commands">
<title
>&DBus;-commando's</title>

<para
>Er zijn twee &DBus; primaire objecten beschikbaar in het interface van tellico: <constant
>Tellico</constant
> en <constant
>Collections</constant
>.</para>

<sect3 id="dbus-tellico">
<title
>Het <constant
>Tellico</constant
>-object</title>

<para
>De volledige lijst et &DBus;-commando's in het <constant
>tellico</constant
>-object staat hieronder:</para>

<programlisting
>bool importTellico(QString file, QString action)
bool importBibtex(QString file, QString action)
bool importMODS(QString file, QString action)
bool importRIS(QString file, QString action)
bool exportXML(QString file)
bool exportZip(QString file)
bool exportBibtex(QString file)
bool exportHTML(QString file)
bool exportCSV(QString file)
bool exportPilotDB(QString file)
QList&lt;int&gt; selectedEntries()
QList&lt;int&gt; filteredEntries()
void openFile(QString file)
void setFilter(QString text)
bool showEntry(int id)
</programlisting>

<para
>Voor de vier importcommando's is het eerste argument het te importeren bestand en het tweede is de importactie. Er zijn drie acties beschikbaar: <emphasis
>replace</emphasis
>, <emphasis
>append</emphasis
>, and <emphasis
>merge</emphasis
>. Vier bestandsformaten worden voor importeren ondersteund: Tellico-&XML;-bestanden, Bibtex-bestanden, MODS-bestanden en RIS-bestanden. </para>

<para
>De huidige geopende verzameling in &appname; kan naar een bestand worden geëxporteerd in ofwel Tellico-&XML;-formaat, Tellico-ZIP-formaat, Bibtex, &HTML;, komma-gescheiden-waarden (CSV) of het PilotDB-formaat. </para>

<para
>A list of the entry IDs currently selected or being filtered is able to facilitate showing or updating entries in the view.</para>

<para
>Een nieuw gegevensbestand kan worden geopend met het commando <command
>openFile()</command
>. Het volledige pad moet worden gespecificeerd.</para>

<para
>Een nieuw filter kan worden ingesteld met het commando <command
>setFilter()</command
>, wat gelijk is aan het invoeren in het filtervak in het hoofdvenster.</para>

<para
>Given an entry ID, <command
>showEntry()</command
> will select that entry and show the entry details in the main window.</para>
</sect3>

<sect3 id="dbus-collection">
<title
>The <constant
>Collections</constant
> Object</title>

<para
>The full list of &DBus; commands in the <constant
>Collections</constant
> object is shown below:</para>

<programlisting
>int addEntry()
bool removeEntry(int entryID)
QStringList allValues(QString fieldName)
QStringList entryValues(int entryID, QString fieldName)
QStringList selectedBibtexKeys()
QString entryBibtexKey(int entryID)
bool setEntryValue(int entryID, QString fieldName, QString value)
bool addEntryValue(int entryID, QString fieldName, QString value)
</programlisting>

<para
>A new empty entry may be created in the current collection using the <command
>addEntry()</command
> command. The return value is the entry ID, which can then be used to set the field values in the entry. An entry can be deleted from the collection by calling <command
>removeEntry()</command
>. </para>

<para
>Calling <command
>allValues()</command
> using just a field name will return all the values for that field for the currently selected entries. If no entries are selected, the return list is empty. If an entry ID is included in the command, the field values for that specific entry are returned. </para>

<para
>If the current collection is a bibliography, calling <command
>selectedBibtexKeys()</command
> will return the Bibtex citation key for all selected entries. The bibtexKey for a specific entry may be found by using the <command
>entryBibtexKey()</command
> command. </para>

<para
>Entries can be edited directly with the &DBus; interface. Given an entry ID, <command
>setEntryValue()</command
> will set the field value directly. To add a value, without affecting the existing values, use <command
>addEntryValue()</command
>. The new value gets appended to the end of the existing list. </para>
</sect3>

</sect2>

<sect2 id="dbus-examples">
<title
>&DBus; Examples</title>

<para
>Here are some examples for scripting &appname; using the &DBus; interface. </para>

<screen width="40"
><emphasis>Open a Bibtex file</emphasis>
<prompt>%</prompt> <userinput>qdbus org.kde.tellico /Tellico org.kde.tellico.importBibtex "/home/robby/reference.bib" "replace"</userinput>
<computeroutput>true</computeroutput>
</screen>

<screen width="40"
><emphasis>Export a Bibtex file</emphasis>
<prompt>%</prompt> <userinput>qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib</userinput>
<computeroutput>true</computeroutput>
</screen>

<screen width="40"
><emphasis>Echo the citation key of the current selection</emphasis>
<prompt>%</prompt> <userinput>qdbus org.kde.tellico /Collections org.kde.tellico.selectedBibtexKeys</userinput>
<computeroutput>stephenson2004</computeroutput>
</screen>

<screen width="40"
><emphasis>Add a new entry and set the title</emphasis>
<prompt>%</prompt> <userinput>myid=`qdbus org.kde.tellico /Collections org.kde.tellico.addEntry`</userinput>
<prompt>%</prompt> <userinput>qdbus org.kde.tellico /Collections org.kde.tellico.setEntryValue $myid title "My New Book"</userinput>
<computeroutput>true</computeroutput>
</screen>

</sect2>

</sect1>

</chapter>
