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.
125 lines
3.7 KiB
125 lines
3.7 KiB
<chapter id="dcop">
|
|
<title
|
|
>&DCOP;-gränssnittet i &k3b;</title>
|
|
<para
|
|
>&k3b; erbjuder, som många andra &kde;-program, ett &DCOP;-gränssnitt som gör det möjligt att styra en del av dess funktioner t.ex. från ett skalskript.</para>
|
|
<para
|
|
>För att använda &DCOP;-funktionerna, kan du antingen använda kommandoradsprogrammet <command
|
|
>dcop</command
|
|
>, eller det bekvämare programmet <application
|
|
>Kdcop</application
|
|
>. Båda tillhandahåller samma funktioner, så det är mest en fråga om smak och användningsområde vilket som väljes.</para>
|
|
<para
|
|
>Det här kapitlet antar att du använder kommandoradsprogrammet <command
|
|
>dcop</command
|
|
>. För att komma åt &k3b;s &DCOP;-funktioner, försäkra dig om att &k3b; har startats och skriv därefter in någonting som liknar detta i en terminal: <screen
|
|
><prompt
|
|
>#</prompt
|
|
> <command
|
|
>dcop</command
|
|
> <option
|
|
>k3b</option
|
|
> <option
|
|
>K3bInterface</option
|
|
> <replaceable
|
|
>[funktion]</replaceable
|
|
>
|
|
</screen>
|
|
</para>
|
|
|
|
<para
|
|
>Förutom de allmänna &DCOP;-funktionerna som är tillgängliga i alla &kde;-program, består DCOP-gränssnittet i &k3b; i huvudsak av två delar som beskrivs nedan.</para>
|
|
|
|
<sect1>
|
|
<title
|
|
>Det förvalda K3bInterface</title>
|
|
|
|
<para
|
|
>Det förvalda K3b DCOP-gränssnittet tillhandahåller funktioner som copyCD, formatDVD och metoder för att skapa nya projekt.</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
|
|
>Som resultat från någon av metoderna createXXXProject, får man en DCOP-referens till det nyskapade projektet: <programlisting
|
|
>DCOPRef(k3b,K3bProject-0)</programlisting
|
|
> Som ett alternativ kan du skapa ett projekt från kommandoraden: <screen>
|
|
<prompt
|
|
>#</prompt
|
|
> <command
|
|
>k3b</command
|
|
> <replaceable
|
|
>--audiocd</replaceable>
|
|
</screen
|
|
> och därefter hämta en referens till projektet med <screen>
|
|
<prompt
|
|
>#</prompt
|
|
> <command
|
|
>dcop</command
|
|
> <option
|
|
>k3b</option
|
|
> <option
|
|
>K3bInterface</option
|
|
> <replaceable
|
|
>currentProject</replaceable>
|
|
</screen
|
|
> Genom att använda referensen är det möjligt att manipulera projektet med <link linkend="k3bprojectinterface"
|
|
>K3bProjectInterface</link
|
|
>.</para>
|
|
|
|
</sect1>
|
|
|
|
<sect1 id="k3bprojectinterface">
|
|
<title
|
|
>K3bProjectInterface</title>
|
|
|
|
<programlisting
|
|
>void addUrls(KURL::List urls)
|
|
void addUrl(KURL url)
|
|
void burn()
|
|
</programlisting>
|
|
|
|
<para
|
|
>K3b erbjuder K3bProjectInterface som listas ovan eller det kraftfullare K3bDataProjectInterface, som bara gäller dataprojekt (cd och dvd): <programlisting
|
|
>void createFolder(TQString name)
|
|
void createFolder(TQString name,TQString parent)
|
|
void addUrl(KURL url,TQString parent)
|
|
void addUrls(KURL::List urls,TQString parent)
|
|
void removeItem(TQString path)
|
|
void renameItem(TQString path,TQString newName)
|
|
void setVolumeID(TQString id)
|
|
</programlisting>
|
|
</para>
|
|
|
|
<para
|
|
>Genom att använda det är det möjligt att fylla ett dataprojekt med filer och kataloger från ett skript. Följande skript skapar till exempel ett nytt dataprojekt, lägger till flera kataloger i projektet, och lägger till filer i de nyskapade katalogerna. <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>
|