You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
3.9 KiB
127 lines
3.9 KiB
<chapter id="dcop">
|
|
<title
|
|
>Die &DCOP;-Schnittstelle von &k3b;</title>
|
|
<para
|
|
>&k3b; ist, wie viele andere &kde;-Anwendungen auch, mit einer &DCOP;-Schnittstelle ausgestattet. Mit Hilfe dieser Schnittstelle können Teile der Funktionalität beispielsweise über ein Shellskript gesteuert werden.</para>
|
|
<para
|
|
>Um die &DCOP;-Funktionen zu benutzen, können Sie entweder das Kommandozeilenprogramm <command
|
|
>dcop</command
|
|
>, oder das etwas komfortablere Programm <command
|
|
>Kdcop</command
|
|
> verwenden. Beide Programme sind im Funktionsumfang identisch, daher ist eher Ihr Geschmack und die Art Ihrer Aufgabenstellung entscheidend darüberr, welcher der beidenProgrammen Sie denVorzug geben.</para>
|
|
<para
|
|
>In diesem Kapitel nehmen wir an, dass Sie das Kommandozeilenprogramm <command
|
|
>dcop</command
|
|
> verwenden. Um die &DCOP;-Funktionen nutzen zu können, müssen Sie vorher sicherstellen, dass &k3b; gestartet ist. Dann geben Sie etwas wie das folgende an der Konsole ein: <screen
|
|
><prompt
|
|
>%</prompt
|
|
> <userinput
|
|
><command
|
|
>dcop</command
|
|
> <option
|
|
>k3b</option
|
|
> <option
|
|
>K3bInterface</option
|
|
> <option
|
|
>[Funktion]</option
|
|
></userinput
|
|
>
|
|
</screen>
|
|
</para>
|
|
|
|
<para
|
|
>Neben den allgemeinen &DCOP;-Funktionen, die alle &kde;-Programm gemein haben, unterstützt &k3b; hauptsächlich zwei weitere Teile, die unten beschrieben sind.</para>
|
|
|
|
<sect1>
|
|
<title
|
|
>Das Standard K3bInterface</title>
|
|
|
|
<para
|
|
>Die Standard DCOP-Schnittstelle von &k3b; stellt Funktionen wie copyCD, formatDVD und weitere Funktionen zum Erzeugen von neuen Projekten zur Verfügung.</para>
|
|
|
|
<programlisting
|
|
>DCOPRef createDataCDProject()
|
|
DCOPRef createAudioCDProject()
|
|
DCOPRef createMixedCDProject()
|
|
DCOPRef createVideoCDProject()
|
|
DCOPRef createMovixCDProject()
|
|
DCOPRef createDataDVDProject()
|
|
DCOPRef createVideoDVDProject()
|
|
DCOPRef createMovixDVDProject()
|
|
DCOPRef openProject(KURL url)
|
|
QValueList<DCOPRef> projects()
|
|
DCOPRef currentProject()
|
|
void copyCd()
|
|
void copyDvd()
|
|
void eraseCdrw()
|
|
void formatDvd()
|
|
void burnCdImage(KURL url)
|
|
void burnDvdImage(KURL url)
|
|
</programlisting>
|
|
|
|
<para
|
|
>Als Ergebnis solch einer createXXXProject-Methode erhält man eine DCOP-Referenz auf das neu erzeugte Projekt: <programlisting
|
|
>DCOPRef(k3b,K3bProject-0)</programlisting
|
|
> Alternativ kann man ein Projekt über die Befehlszeile erzeugen: <screen>
|
|
<prompt
|
|
>#</prompt
|
|
> <command
|
|
>k3b</command
|
|
> <replaceable
|
|
>--audiocd</replaceable>
|
|
</screen
|
|
> und dann eine Referenz auf das Projekt erhalten mittels <screen>
|
|
<prompt
|
|
>#</prompt
|
|
> <command
|
|
>dcop</command
|
|
> <option
|
|
>k3b</option
|
|
> <option
|
|
>K3bInterface</option
|
|
> <replaceable
|
|
>currentProject</replaceable>
|
|
</screen
|
|
> Durch Verwenden dieser Referenz ist es möglich, das Projekt über <link linkend="k3bprojectinterface"
|
|
>K3bProjectInterface</link
|
|
> zu verändern.</para>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="k3bprojectinterface">
|
|
<title
|
|
>K3bProjectInterface</title>
|
|
|
|
<programlisting
|
|
>void addUrls(KURL::List urls)
|
|
void addUrl(KURL url)
|
|
void burn()
|
|
</programlisting>
|
|
|
|
<para
|
|
>K3b bietet das oben gelistete K3bProjectInterface und das leistungsstarke K3bDataProjectInterface, welches nur auf Daten-Projekte anwendbar ist (CD und DVD): <programlisting
|
|
>void createFolder(QString name)
|
|
void createFolder(QString name,QString parent)
|
|
void addUrl(KURL url,QString parent)
|
|
void addUrls(KURL::List urls,QString parent)
|
|
void removeItem(QString path)
|
|
void renameItem(QString path,QString newName)
|
|
void setVolumeID(QString id)
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para
|
|
>Damit ist es möglich, ein Daten-Projekt mit Dateien und Ordnern aus einem Skript heraus zu füllen. Zum Beispiel erzeugt das folgende Skript ein Daten-Projekt, mehrere Ordner und fügt dann Dateien in die neuen Ordner ein: <programlisting
|
|
>#!/bin/bash
|
|
PROJECT=$(dcop k3b K3bInterface createDataCDProject)
|
|
dcop $PROJECT createFolder test
|
|
dcop $PROJECT createFolder foo
|
|
dcop $PROJECT createFolder bar /foo
|
|
dcop $PROJECT addUrl /home/trueg/somefile.txt /foo/bar
|
|
</programlisting>
|
|
|
|
</para>
|
|
|
|
</sect1>
|
|
</chapter>
|