# Weiterführende Funktionen

## Befehlszeilenoptionen

Wenn &appname; von der Befehlszeile gestartet wird, gibt es mehrere Optionen zur Öffnung von Sammlungsdateien. Diese Optionen werden beim Aufruf von `tellico --help` angezeigt.

    Aufruf: tellico [options] [filename]

    Tellico - eine Sammlungsverwaltung, frei und einfach

    Optionen:
      --nofile                  Die letzte offene Datei nicht erneut öffnen
      --bibtex                  <Dateiname> als Bibtex-Datei importieren
      --mods                    <filename> als MODS-Datei importieren
      --ris                     <filename> als RIS-Datei importieren
      --pdf                     <filename> als PDF-Datei importieren

    Argumente:
      filename                  Zu öffnende Datei

## &DBus;-Schnittstelle

&appname; hat eine minimale &DBus;-Schnittstelle, die für Skripte oder die Steuerung eines laufenden Programms von der Befehlszeile aus benutzt werden kann. Wie bei allen &DBus;-Aufrufen, müssen Sie den Dienst angeben, mit dem Sie kommunizieren möchten und die spezielle Schnittelle. Der Name des &DBus;-Dienstes für dies Programm lautet `org.kde.tellico`.

### &DBus;-Befehle

Zwei &DBus;-Objekte sind über die &appname;-Schnittstelle verfügbar: `Tellico` und `Collections`.

#### Das Objekt `Tellico`

Die vollständige Liste der &DBus;-Befehle für das Objekt `tellico` wird im folgenden gezeigt:

    bool importTellico(QString file, QString action)
    bool importBibtex(QString file, QString action)
    bool importMODS(QString file, QString action)
    bool importPDF(QString file, QString action)
    bool importRIS(QString file, QString action)
    bool exportXML(QString file, bool filtered)
    bool exportZip(QString file, bool filtered)
    bool exportBibtex(QString file, bool filtered)
    bool exportHTML(QString file, bool filtered)
    bool exportCSV(QString file, bool filtered)
    QList<int> selectedEntries()
    QList<int> filteredEntries()
    void openFile(QString file)
    void setFilter(QString text)
    bool showEntry(int id)

Bei den vier Import-Befehlen ist das erste Argument die zu importierende Datei und das zweite Argument die Importaktion. Drei Aktionen sind vorhanden: replace, append und merge. Vier Dateiformate werden zum Importieren unterstützt: Tellico-&XML;-Dateien, Bibtex-Dateien, MODS-Dateien und RIS-Dateien.

Die aktuell geöffnete Sammlung in &appname; kann in eine Datei exportiert werden, entweder im Tellico-&XML;-Format, im Tellico-ZIP-Format, im Bibtex-Format, im &HTML;-Format, als durch Komma getrennte Werte (CSV). Der Export-Befehl benötigt ein optionales Argument, um anzugeben, ob die Sammlung auf den aktuellen Filter beschränkt werden soll.

Mit einer Liste der ID's der ausgewählten oder gefilterten Einträge können Einträge angezeigt oder die Anzeige aktualisiert werden.

Eine neue Sammlungsdatei kann mit dem Befehl `openFile()` geöffnet werden. Der vollständige Pfad zur Datei muss angegeben werden.

Ein neuer Filter kann mit dem Befehl `setFilter()` gesetzt werden. Dies entspricht der Eingabe im Filterfeld im Hauptfenster.

Mit einer angegebenen ID wird mit dem Befehl `showEntry()` dieser Eintrag ausgewählt und dessen Details im Hauptfenster gezeigt.

#### Das Objekt `Collections`

Die vollständige Liste der &DBus;-Befehle für das Objekt `Collections` wird im folgenden gezeigt:

    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)

Ein neuer leerer Eintrag in der aktuell geöffneten Sammlung kann mit dem Befehl `addEntry()` erzeugt werden. Der Rückgabewert dieses Befehls ist die ID des Eintrags. Diese ID kann benutzt werden, um die Werte der Felder des Eintrags einzugeben. Um einen Eintrag aus der Sammlung zu löschen, benutzen Sie den Befehl `removeEntry()`.

Der Aufruf von `allValues()` nur mit einem Feldnamen gibt alle Werte des Feldes für die aktuell ausgewählten Einträge zurück. Sind keine Einträge ausgewählt, ist die zurückgegeben Liste leer. Ist die Kennung (ID) eines Eintrags angegeben, werden die Feldwerte für diesen Eintrag zurückgegeben.

Ist die geöffnete Sammlung ein Literaturverzeichnis, dann gibt der Aufruf von `selectedBibtexKeys()` den Bibtex-Zitatschlüssel aller ausgewählten Einträge zurück. Der bibtexKey für einen bestimmten Eintrag kann mit dem Befehl `entryBibtexKey()` gefunden werden.

Einträge können direkt über die &DBus;-Schnittstelle bearbeitet werden. Mit der Kennung (ID) eines Eintrags setzte der Befehl `setEntryValue()` den Wert des Feldes. Um einen Wert hinzuzufügen, ohne vorhanden Daten zu ändern, verwenden Sie den Befehl `addEntryValue()`. Der neue Wert wird an das Ende der vorhandenen Liste angehängt

### &DBus;-Beispiele

Hier finden Sie einige Beispiele von Skripten für &appname; mit der &DBus;-Schnittstelle.

    Öffnen einer Bibtex-Datei
    % qdbus org.kde.tellico /Tellico org.kde.tellico.importBibtex "/home/robby/reference.bib" "replace"
    true

    Export einer Bibtex-Datei
    % qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib
    true

    Export einer Bibtex-Datei mit dem aktuellen Filter
    % qdbus org.kde.tellico /Tellico org.kde.tellico.exportBibtex ~/documents/reference.bib true
    true

    Anzeige des Zitatschlüssels der aktuellen Auswahl
    % qdbus org.kde.tellico /Collections org.kde.tellico.selectedBibtexKeys
    stephenson2004

    Neuen Eintrag hinzufügen und den Titel eingeben
    % myid=`qdbus org.kde.tellico /Collections org.kde.tellico.addEntry`
    % qdbus org.kde.tellico /Collections org.kde.tellico.setEntryValue $myid title "My New Book"
    true