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.
k3b-i18n/ru/doc/dcop.docbook

125 lines
4.0 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<chapter id="dcop">
<title
>Справочник по &DCOP;-командам</title>
<para
>&k3b; предоставляет, как и большинство других программ &kde;, интерфейс &DCOP;, позволяющий управлять частью функций программы извне (например, из сценария оболочки).</para>
<para
>Для использования функций &DCOP;, вы можее использовать консольную программу <command
>dcop</command
> или более удобное приложение <application
>Kdcop</application
>.</para>
<para
>Далее подразумевается, что вы используете <command
>dcop</command
>. Для начала, запустите &k3b; и введите что-то типа: <screen
><prompt
>#</prompt
> <command
>dcop</command
> <option
>k3b</option
> <option
>K3bInterface</option
> <replaceable
>[function]</replaceable
>
</screen>
</para>
<para
>Кроме стандартных &DCOP;-функций, &k3b; предоставляет следующие функции, которые разделены на две группы.</para>
<sect1>
<title
>Стандартный интерфейс K3b</title>
<para
>Стандартный интерфейс K3b предоставляет такую функциональность как copyCD, formatDVD, создание новых проектов.</para>
<programlisting
>DCOPRef createDataCDProject()
DCOPRef createAudioCDProject()
DCOPRef createMixedCDProject()
DCOPRef createVideoCDProject()
DCOPRef createMovixCDProject()
DCOPRef createDataDVDProject()
DCOPRef createVideoDVDProject()
DCOPRef createMovixDVDProject()
DCOPRef openProject(KURL url)
QValueList&lt;DCOPRef&gt; projects()
DCOPRef currentProject()
void copyCd()
void copyDvd()
void eraseCdrw()
void formatDvd()
void burnCdImage(KURL url)
void burnDvdImage(KURL url)
</programlisting>
<para
>Методы createXXXProject возвращают ссылку на созданный проект: <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
>currentProject</replaceable>
</screen
> Далее, по полученной ссылке можно манипулировать проектом с помощью <link linkend="k3bprojectinterface"
>K3bProjectInterface</link
>.</para>
</sect1>
<sect1 id="k3bprojectinterface">
<title
>Интерфейс проекта K3b</title>
<programlisting
>void addUrls(KURL::List urls)
void addUrl(KURL url)
void burn()
</programlisting>
<para
>K3b предоставляет интерфейс K3bProjectInterface для всех типов проектов и K3bDataProjectInterface для проекта CD/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
>Используя это можно автоматизировать добавление данных в проект. Следующий сценарий создаёт новый проект с данными, добавляет в него несколько папок, и добавляет файлы в последние: <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>