|
|
<chapter id="dcop">
|
|
|
<title
|
|
|
>L'interface &DCOP; de &k3b;</title>
|
|
|
<para
|
|
|
>&k3b; propose, comme beaucoup d'autres applications &kde;, une interface &DCOP; qui rend possible le contrôle d'une partie de ses fonctionnalités depuis un script shell.</para>
|
|
|
<para
|
|
|
>Pour utiliser ces fonctions &DCOP;, vous pouvez utiliser le programme en ligne de commande <command
|
|
|
>dcop</command
|
|
|
> ou l'application <application
|
|
|
>Kdcop</application
|
|
|
> plus facile à utiliser. Les deux proposent les mêmes fonctionnalités, c'est donc une question de goût et de contexte d'utilisation qui vous fera décider du programme à utiliser.</para>
|
|
|
<para
|
|
|
>Ce chapitre estime que vous utilisez le programme <command
|
|
|
>dcop</command
|
|
|
> en ligne de commande. Pour accéder au fonctions &DCOP; de &k3b;, assurez-vous que &k3b; est lancé et saisissez quelque chose comme cela dans la console : <screen
|
|
|
><prompt
|
|
|
>#</prompt
|
|
|
> <command
|
|
|
>dcop</command
|
|
|
> <option
|
|
|
>k3b</option
|
|
|
> <option
|
|
|
>K3bInterface</option
|
|
|
> <replaceable
|
|
|
>[function]</replaceable
|
|
|
>
|
|
|
</screen>
|
|
|
</para>
|
|
|
|
|
|
<para
|
|
|
>En plus des fonctions génériques de &DCOP; disponibles pour tous les programmes de &kde;, l'interface DCOP de &k3b; est constituée de deux parties décrites ci-dessous.</para>
|
|
|
|
|
|
<sect1>
|
|
|
<title
|
|
|
>L'interface par défaut K3bInterface</title>
|
|
|
|
|
|
<para
|
|
|
>L'interface DCOP par défaut de k3b fournit des fonctionnalités comme copyCD, formatDVD et des méthodes pour créer de nouveaux projets.</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
|
|
|
>Comme résultat d'une des méthodes createXXXProject, on obtient une référence DCOP pour l'objet nouvellement créé : <programlisting
|
|
|
>DCOPRef(k3b,K3bProject-0)</programlisting
|
|
|
> Vous pouvez également créer un projet avec la ligne de commande : <screen>
|
|
|
<prompt
|
|
|
>#</prompt
|
|
|
> <command
|
|
|
>k3b</command
|
|
|
> <replaceable
|
|
|
>--audiocd</replaceable>
|
|
|
</screen
|
|
|
> et ensuite retrouver une référence à ce projet avec <screen>
|
|
|
<prompt
|
|
|
>#</prompt
|
|
|
> <command
|
|
|
>dcop</command
|
|
|
> <option
|
|
|
>k3b</option
|
|
|
> <option
|
|
|
>K3bInterface</option
|
|
|
> <replaceable
|
|
|
>currentProject</replaceable>
|
|
|
</screen
|
|
|
> En utilisant cette référence, il est possible de manipuler le projet en utilisant l'interface <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 offre l'interface K3bProjectInterface comme montré ci-dessus ou l'interface plus puissante K3bDataProjectInterface qui ne s'applique qu'aux projets de données (CD et 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
|
|
|
>En utilisant ceci, il est possible de remplir un projet de données avec des fichiers et de sdossiers à partir d'un script. Le script d'exemple suivant crée un nouveau projet de données, ajoute plusieurs dossiers au projet, et ajoute des fichiers dans les dossiers nouvellement créés : <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>
|