<chapter id="dcop"> <title >Podręcznik interfejsu &DCOP; programu &k3b;</title> <para >&k3b; oferuje, tak jak wiele innych programów dla &kde;, interfejs &DCOP;, dzięki któremu możliwe jest kontrolowanie części jego funkcji np. przez skrypty dla konsoli.</para> <para >Aby użyć funkcji interfejsu &DCOP; możesz wykorzystać program tekstowy <command >dcop</command > lub wygodniejszy, w trybie graficznym - <application >Kdcop</application >. Oba posiadają tą samą funkcjonalność, więc wybór zależy od Twoich upodobań i rodzaju pracy do wykonania.</para> <para >W tym rozdziale założono, że używasz programu tekstowego <command >dcop</command > Aby dostać się do funkcji interfejsu &DCOP; dla &k3b;, upewnij się, że &k3b; jest uruchomiony, a następnie wpisz w konsoli mniej więcej coś takiego: <screen ><prompt >#</prompt > <command >dcop</command > <option >k3b</option > <option >K3bInterface</option > <replaceable >[funkcja]</replaceable > </screen> </para> <para >Poza standardowymi funkcjami interfejsu &DCOP;, obecnymi w każdym programie &kde;, interfejs DCOP składa się z dwóch części, opisanych poniżej.</para> <sect1> <title >Domyślny interfejs K3bInterface</title> <para >Domyślny interfejs DCOP K3b udostępnia funkcje takie jak kopiowanie płyt CD czy formatowanie płyt DVD, oraz funkcje do tworzenia nowych projektów.</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 >W wyniku wykonania jednej z funkcji createXXXProject otrzymuje się referencję DCOP do nowo stworzonego projektu: <programlisting >DCOPRef(k3b,K3bProject-0)</programlisting > Alternatywnie można utworzyć projekt za pomocą linii poleceń: <screen> <prompt >#</prompt > <command >k3b</command > <replaceable >--audiocd</replaceable> </screen > a następnie uzyskać referencję do tego projektu za pomocą <screen> <prompt >#</prompt > <command >dcop</command > <option >k3b</option > <option >K3bInterface</option > <replaceable >currentProject</replaceable> </screen > Za pomocą tej referencji można zarządzać projektem poprzez interfejs <link linkend="k3bprojectinterface" >K3bProjectInterface</link >.</para> </sect1> <sect1 id="k3bprojectinterface"> <title >K3bProjectInterface</title> <programlisting >void addUrls(KURL::List urle) void addUrl(KURL url) void burn() </programlisting> <para >K3b oferuje interfejs K3bProjectInterface, jak opisano powyżej, oraz mający więcej możliwości interfejs K3bDataProjectInterface, który odnosi się tylko do projektów z danymi (CD i DVD): <programlisting >void createFolder(QString nazwa) void createFolder(QString nazwa,QString katalogNadrzędny) void addUrl(KURL url,QString katalogNadrzędny) void addUrls(KURL::List urle,QString katalogNadrzędny) void removeItem(QString ścieżka) void renameItem(QString ścieżka,QString nowaNazwa) void setVolumeID(QString identyfikator) </programlisting> </para> <para >Za jego pomocą można wypełnić projekt z danymi plikami i katalogami ze skryptu. Następujący skrypt tworzy, przykładowo, nowy projekt z danymi, dodaje do niego kilka katalogów, a następnie dodaje pliki do nowo utworzonych katalogów: <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>