|
|
<chapter id="dcop">
|
|
|
<title
|
|
|
>Інтерфейс &DCOP; для &k3b;</title>
|
|
|
<para
|
|
|
>&k3b;, як і інші програми &kde; має підтримку інтерфейсу &DCOP;, який дає змогу керувати деякою її функціональністю з іншої програми, напр., скрипту оболонки.</para>
|
|
|
<para
|
|
|
>Для використання цих функцій &DCOP; можна вживати або програму командного рядка <command
|
|
|
>dcop</command
|
|
|
>, або зручнішу програму <application
|
|
|
>Kdcop</application
|
|
|
>. Обидва шляхи надають доступ до однакової функціональності, тому рішення яку з них вживати залежатиме тільки від ваших вподобань і контексту використання.</para>
|
|
|
<para
|
|
|
>Цей розділ припускає, що ви користуєтесь програмою командного рядка <command
|
|
|
>dcop</command
|
|
|
>. Щоб отримати доступ до функцій &k3b; через &DCOP;, переконайтесь, що &k3b; запущено і тоді введіть в консолі щось подібне до цього: <screen
|
|
|
><prompt
|
|
|
>#</prompt
|
|
|
> <command
|
|
|
>dcop</command
|
|
|
> <option
|
|
|
>k3b</option
|
|
|
> <option
|
|
|
>K3bInterface</option
|
|
|
> <replaceable
|
|
|
>[функція]</replaceable
|
|
|
>
|
|
|
</screen>
|
|
|
</para>
|
|
|
|
|
|
<para
|
|
|
>Окрім загальних функцій &DCOP; доступних для всіх програм &kde;, інтерфейс DCOP для &k3b; в основному складається з двох частин, які описані нижче.</para>
|
|
|
|
|
|
<sect1>
|
|
|
<title
|
|
|
>Типовий інтерфейс K3bInterface</title>
|
|
|
|
|
|
<para
|
|
|
>Типовий інтерфейс до K3b через DCOP надає функціональність копіювання компакт-дисків (copyCD), форматування DVD (formatDVD) і методів для створення нових проектів.</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
|
|
|
>Результат з будь-якого методу createXXXProject отримує посилання DCOP до новоствореного проекту: <programlisting
|
|
|
>DCOPRef(k3b,K3bProject-0)</programlisting
|
|
|
> Також, можна створити проект за допомогою командного рядка: <screen>
|
|
|
<prompt
|
|
|
>#</prompt
|
|
|
> <command
|
|
|
>k3b</command
|
|
|
> <replaceable
|
|
|
>--audiocd</replaceable>
|
|
|
</screen
|
|
|
> а потім отримати посилання до цього проекту за допомогою <screen>
|
|
|
<prompt
|
|
|
>#</prompt
|
|
|
> <command
|
|
|
>dcop</command
|
|
|
> <option
|
|
|
>k3b</option
|
|
|
> <option
|
|
|
>K3bInterface</option
|
|
|
> <replaceable
|
|
|
>поточнийПроект</replaceable>
|
|
|
</screen
|
|
|
> Через це посилання можна маніпулювати проект, користуючись <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 надає інтерфейс K3bProjectInterface або більш потужний інтерфейс K3bDataProjectInterface, який застосовується тільки для проектів з даними (КД і 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
|
|
|
>За його допомогою можна через скрипт наповнити проект з даними різними файлами і теками. Наступний скрипт, наприклад, створює новий проект з даними, додає до нього декілька тек і додає файли у новостворені теки: <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/якийсьфайл.txt /foo/bar
|
|
|
</programlisting>
|
|
|
|
|
|
</para>
|
|
|
|
|
|
</sect1>
|
|
|
</chapter>
|