<?xml version="1.0" ?> <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [ <!ENTITY kappname "&karm;"> <!ENTITY package "kdepim"> <!ENTITY % Russian "INCLUDE" > <!-- change language only here --> <!ENTITY % addindex "IGNORE"> ]> <book lang="&language;"> <bookinfo> <title >Руководство &karm;</title> <authorgroup> <author ><firstname >Jonathan</firstname > <surname >Singer</surname > <affiliation > <address ><email >jsinger@leeta.net</email ></address> </affiliation> </author> <author ><firstname >Mark</firstname > <surname >Bucciarelli</surname > <affiliation > <address ><email >mark@hubcapconsulting.com</email ></address> </affiliation> </author> <author ><firstname >Sirtaj</firstname > <othername >Singh</othername > <surname >Kang</surname > <affiliation ><address ><email >taj@kde.org</email ></address ></affiliation> </author> <othercredit role="reviewer" ><firstname >Lauri</firstname > <surname >Watts</surname > <contrib >Редактор</contrib> <affiliation ><address ><email >lauri@kde.org</email ></address ></affiliation> </othercredit> <othercredit role="translator" ><firstname >Александр</firstname ><surname >Батюхин</surname ><affiliation ><address ><email >moskal2000@mail.ru</email ></address ></affiliation ><contrib ></contrib ></othercredit ><othercredit role="translator" ><firstname >Алексей</firstname ><surname >Опарин</surname ><affiliation ><address ><email >opaleksej@yandex.ru</email ></address ></affiliation ><contrib ></contrib ></othercredit > </authorgroup> <copyright> <year >2000-2004</year> <holder >Jonathan Singer</holder> </copyright> <copyright> <year >2004-2005</year> <holder >Mark Bucciarelli</holder> </copyright> <legalnotice >&FDLNotice;</legalnotice> <date >2005-02-02</date> <releaseinfo >1.5.0</releaseinfo> <abstract ><para >&karm; отслеживает время, затрачиваемое на различные задачи.</para ></abstract> <keywordset> <keyword >KDE</keyword> <keyword >karm</keyword> <keyword >kdeutils</keyword> <keyword >время</keyword> <keyword >учёт</keyword> <keyword >проект</keyword> </keywordset> </bookinfo> <chapter id="introduction"> <title >Вступление</title> <para >&karm; отслеживает время, затраченное на различные задачи. Это полезно для учёта оплаченного времени, или для учёта времени работы над отдельной задачей по дням.</para> <para >Этот журнал времени может быть экспортирован в текстовый файл с запятыми в качестве разделителей для импорта в другие программы учёта и/или управления проектами.</para> <para >&karm; определяет бездествие клавиатуры и мыши бездействуют, он может связывать различные задачи с разными рабочими столами.</para> <para >&karm; была написана Сиртаем Сингх Кангом (Sirtaj Singh Kang). Слово <quote >karm</quote > в переводе с пенджаби (родной язык автора) означает <quote >работа</quote >.</para> </chapter> <chapter id="using-Karm"> <title >Использование &karm;</title> <sect1 id="starting"> <title >Запуск &karm;</title> <para >Введите <command >karm</command > в командной строке или выберите <guimenuitem >Учёт рабочего времени</guimenuitem > из группы <guisubmenu >Утилиты</guisubmenu > (<guisubmenu >Служебные</guisubmenu >) главного меню KDE. Доступны стандартные ключи &Qt; и &kde;, их можно просмотреть, введя <userinput ><command >karm</command > <option >--help</option ></userinput > в командной строке.</para> <para >&karm; предоставляет дополнительный командный параметр, позволяющий вам ввести имя файла iCalendar, в котором хранится журнал вашей работы. Имя удалённого файла iCalendar вводится с добавлением префикса http или ftp, например, http://www.mysite.com/mydata/mylabor.ics.</para> </sect1> <sect1 id="general-use"> <title >Задачи</title> <informalexample> <para ><emphasis >Ситуация:</emphasis > Вы консультант по свободному ПО, у вас много клиентов. У некоторых из них по нескольку проектов. В течение дня вам приходится постоянно переключаться между ними. Вам необходим учёт времени, на основе которого вы хотите ежемесячно предъявлять к оплате счета.</para> <para ><emphasis >Решение:</emphasis > Создайте по одной задаче высшего уровня для каждого клиента и по подзадаче для каждого из клиентских проектов. Для каждого проекта, требующего более детального учёта, создайте группу подзадач в каждом проекте. Отмечайте время двойным щелчком на каждой задаче, над которой работаете в данный момент.</para> </informalexample> <para >&karm; позволяет отслеживать неограниченное количество задач и подзадач любой глубины вложенности. Можно учитывать выполнение одной задачи, или одновременно нескольких.</para> <para >Для того чтобы создать задачу высшего уровня, вызовите пункт меню <menuchoice ><shortcut ><keycombo action="simul" >&Ctrl;<keycap >N</keycap ></keycombo ></shortcut > <guimenu >Задача</guimenu > <guimenuitem >Создать</guimenuitem > </menuchoice > Для создания подзадачи выберите родительскую задачу и вызовите <menuchoice > <shortcut > <keycombo action="simul" >&Ctrl;&Alt;<keycap >N</keycap ></keycombo > </shortcut > <guimenu >Задача</guimenu > <guimenuitem >Создать подзадачу</guimenuitem > </menuchoice > </para> <para >При закрытии &karm; список задач сохраняется в файле, указанном в <menuchoice > <guimenu >Настройка</guimenu > <guimenuitem >Настроить KArm</guimenuitem > </menuchoice >. При следующем запуске список задач обновляется из этого файла.</para> <para >&karm; может импортировать и экспортировать задачи. См. <link linkend="interfaces" >Прочие системы</link >.</para> </sect1> <sect1 id="timers" ><title >Таймеры</title> <informalexample> <para ><emphasis >Ситуация:</emphasis > Чтобы оставаться платежеспособным, вам необходимо работать в среднем пять часов в день. Нужен ежедневный и еженедельный учёт.</para> <para ><emphasis >Решение:</emphasis > Сбрасывайте таймер сеанса в начале каждого рабочего дня, и все таймеры - в начале каждой недели.</para > </informalexample> <para >&karm; упрощает учёт времени. Для запуска учёта времени, потраченного на определённую задау, щёлкните дважды на ней. Для остановки учёта щёлкните дважды на задаче ещё раз. Активные задачи отображаются маленькими значками в столбце <guilabel >Время сеанса</guilabel >.</para> <para >Ещё один компонент интерфейса &karm; - значок в системном лотке. Когда задача активна, вторая рука в значке движется. Если навести указатель мыши на этот значок, название активной задачи отобразится во всплывающей подсказке. Если активных задач несколько, их названия будут разделены запятыми.</para> <para >Для каждой задачи &karm; ведёт по два таймера - один подсчитывает время сеанса, другой - общее время. По умолчанию &karm; отображает по два столбца для каждого таймера, в итоге каждой задаче отводится четыре столбца.</para> <variablelist> <varlistentry > <term ><guilabel >Время сеанса</guilabel ></term> <listitem ><para >Время, затраченное на задачу с начала сеанса.</para ></listitem > </varlistentry > <varlistentry > <term ><guilabel >Общее время сеанса</guilabel ></term> <listitem ><para >Время, затраченное на задачу со всеми её подзадачами с начала сеанса.</para ></listitem > </varlistentry > <varlistentry > <term ><guilabel >Время</guilabel ></term > <listitem ><para >Время, затраченное на задачу с момента обнуления всех таймеров.</para ></listitem> </varlistentry > <varlistentry > <term ><guilabel >Общее время</guilabel ></term> <listitem ><para >Время, затраченное на задачу со всеми её подзадачами с момента обнуления всех таймеров.</para ></listitem > </varlistentry > </variablelist> <para >Для того чтобы начать новый сеанс, выберите <guimenu >Файл</guimenu > <guimenuitem >Начать новый сеанс</guimenuitem > </para> <para >Чтобы обнулить все таймеры, выберите <guimenu >Файл</guimenu > <guimenuitem >Обнулить все таймеры</guimenuitem > </para> <sect2 ><title >Учёт времени на разных рабочих столах</title> <informalexample> <para ><emphasis >Ситуация:</emphasis > У вас есть два основных проекта, над которыми вы ежедневно работаете. Разумно организовав свою работу, вы держите файлы проекта 1 на Рабочем столе 1, а файлы проекта 2 на Рабочем столе 2.</para> <para ><emphasis >Решение:</emphasis > Свяжите задачу проекта 1 с Рабочим столом, а задачу проекта 2 с Рабочим столом 2. Когда вы переключитесь с одного рабочего стола на другой, &karm; автоматически переключит учёт времени задач.</para> </informalexample> <para >Для того чтобы связать задачу с одним или больше Рабочими столами, выберите <menuchoice > <shortcut > <keycombo action="simul" >&Ctrl;<keycap >E</keycap ></keycombo > </shortcut > <guimenu >Задача</guimenu > <guimenuitem >Правка</guimenuitem > </menuchoice > Включите <guilabel >Автоматическое отслеживание</guilabel > и выберите Рабочий стол или столы, с которыми хотите связать задачу. Когда любой из выбранных столов станет активным, после недолгой задержки &karm; начнет отсчет времени данной задачи.</para> </sect2> <sect2 ><title >Учёт бездействия</title> <informalexample > <para ><emphasis >Ситуация:</emphasis > Вы ушли с работы в пятницу пораньше и уехали на все выходные, забыв выключить таймер. При вашем возвращении в понедельник таймер все ещё работает.</para> <para ><emphasis >Решение:</emphasis > Включите учёт бездействия.</para> </informalexample> <para >&karm; может определять бездействие ваших мыши и клавиатуры. Если они не подают сигналы дольше определённого количества минут, &karm; выдаст следующий диалог:</para> <screenshot> <screeninfo >&karm; Определение простоя</screeninfo> <mediaobject> <imageobject> <imagedata fileref="idle-detect.png" format="PNG"/> </imageobject> <textobject> <phrase >Окно Определение простоя &karm; </phrase> </textobject> </mediaobject> </screenshot> <variablelist> <varlistentry ><term ><guibutton >Сбросить и остановить</guibutton ></term> <listitem ><para >Вычитает время бездействия из всех активных таймеров и останавливает их.</para ><para >Вы не работали над задачей (задачами) во время бездействия компьютера, и не работаете до сих пор.</para ></listitem ></varlistentry > <varlistentry > <term ><guibutton >Сбросить и продолжить</guibutton ></term> <listitem ><para >Вычитает время бездействия из всех активных таймеров, но оставляет их в работе.</para ><para >Вы не работали над задачей, пока ваш компьютер простаивал, но сейчас работаете. </para ></listitem ></varlistentry > <varlistentry > <term ><guibutton >Продолжить отсчёт</guibutton ></term> <listitem ><para >Добавляет время простоя ко всем активным таймерам и оставляет их в работе.</para ><para >Вы работали над задачей во время простоя компьютера, и продолжаете работу. </para ></listitem ></varlistentry > </variablelist> </sect2> </sect1> <sect1 id="reporting" ><title >Создание отчётов</title> <para >&karm; предоставляет три разных способа получения отчёта о времени работы. Можно распечатать отчёт о длительности сеансов и общем времени работы на принтере; скопировать общий отчёт или журнал в буфер обмена.</para> <sect2 ><title >Распечатка отчётов</title> <para >Для того чтобы вывести общий отчёт на печать, вызоваите <menuchoice > <shortcut > <keycombo action="simul" >&Ctrl;<keycap >P</keycap ></keycombo > </shortcut > <guimenu >Файл</guimenu > <guimenuitem >Печать</guimenuitem > </menuchoice > Будет создан отчёт из трёх столбцов, содержащий данные обо всех задачах. В первом столбце будет содержаться название задачи, во втором <guilabel >Общее время сеанса</guilabel >, и в третьем - <guilabel >Общее время</guilabel >.</para> </sect2> <sect2 ><title >Помещение отчёта в буфер обмена</title> <para >Для того чтобы создать итоговый отчёт в буфере обмена, выберите <menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;<keycap >C</keycap ></keycombo > </shortcut > <guimenu >Файл</guimenu > <guimenuitem >Копировать итоги в буфер обмена</guimenuitem ></menuchoice >. </para> <para >Этот отчёт создаётся для выбранной задачи и всех её подзадач. Если текущая задача имеет родительскую, &karm; задаст вопрос о том, хотите ли вы создать отчёт только для текущей задачи и всех её подзадач, или для всех задач вообще.</para> <screenshot> <screeninfo >&karm; Копировать данную задачу</screeninfo> <mediaobject> <imageobject> <imagedata fileref="copy-this-task.png" format="PNG"/> </imageobject> <textobject> <phrase >&karm; Копировать диалог данной задачи</phrase> </textobject> </mediaobject> </screenshot> <para >Когда отчёт будет готов, откройте KEdit или другой текстовый редактор, и вставьте данные отчёта.</para> <literallayout ><computeroutput> Task Totals 2004-07-10 02:26 Time Task ---------------------------------------------- 9:14 kde 9:14 karm 1:08 bugs 0:00 checkin changes 0:00 promo 0:00 web stuff ---------------------------------------------- 9:14 Total </computeroutput > </literallayout> <para >В первом столбце указано <guilabel >Общее время</guilabel > и сделаны отступы, с тем чтобы показать зависимость между задачами и подзадачами. Отчёт о времени включает данные о подзадачах.</para > </sect2> <sect2 ><title >Помещение журнала в буфер обмена</title> <para >Для создания отчёта в буфере обмена, выберите <menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;&Alt;<keycap >C</keycap ></keycombo > </shortcut > <guimenu >Файл</guimenu > <guimenuitem >Копировать историю в буфер обмена</guimenuitem ></menuchoice >. </para> <important ><para >Необходимо поставить отметку возле переключателя <guilabel >Вести журнал</guilabel > в <menuchoice > <guimenu >Настройка</guimenu > <guimenuitem >Настроить KArm</guimenuitem > </menuchoice >. Иначе &karm; сохранит только итоговые, а не детальные данные журнала.</para ></important> <para >Этот отчёт составляется только для данной конкретной задачи и её подзадач. В отличие от общего отчёта, этот не дает возможности получить данные обо всех задачах из списка.</para> <para >Если вы выберете отчёт в форме журнала, &karm; попросит ввести диапазон данных:</para> <screenshot> <screeninfo >&karm; введите диапазон данных</screeninfo> <mediaobject> <imageobject> <imagedata fileref="daterange.png" format="PNG"/> </imageobject> <textobject> <phrase >&karm; введите диапазон данных</phrase> </textobject> </mediaobject> </screenshot> <para >После ввода диапазона данных, откройте любой текстовый редактор и вставьте в него отчёт.</para> <literallayout ><computeroutput> Task History From Thursday 01 July 2004 to Monday 12 July 2004 Printed on: 2004-07-12 17:18 Week of Monday 05 July 2004 5 6 7 8 9 10 11 ------------------------------------------------------------------------- 0:00 kde 0:00 dc !:22 1:46 3:14 1:44 8:06 karm 0:00 3.2 feature plan 1:08 1:08 bugs 0:00 checkin changes 0:00 promo 0:00 web stuff ------------------------------------------------------------------------- 2:30 1:46 3:14 1:44 9:14 Total </computeroutput > </literallayout> <para >Журнал задач группирует данные по дням и задачам, подводя итог еженедельно. Первые семь столбцов представляют дни недели, восьмая даёт недельный итог, а в девятой указано название задачи. Названия смещены с учётом иерархии задач и подзадач.</para> </sect2> </sect1> <sect1 id="interfaces"> <title >Прочие системы</title> <sect2 id="korganizer" ><title >KOrganizer</title> <para >&karm;, как KOrganizer и iCal из Apple, использует для хранения данных общепризнанный стандартный формат <ulink url="http://developer.kde.org/documentation/standards/index.html" >iCalendar</ulink >. &karm; может обрабатывать файлы, созданные этими программами.</para> <warning ><para >Если один и тот же файл открыт в &karm;, и в KOrganizer, то, редактируя его в KOrganizer, вы рискуете потерять данные. Безопаснее редактировать файл только в одном из приложений.</para ></warning> </sect2> <sect2 id="planner" ><title >Planner</title> <para >Как часто бывает, вам может понадобиться спланировать работу над проектом с помощью инструмента управления проектами Imendio Planner (от <ulink url="http://planner.imendio.org" >planner.imendio.org</ulink >) и импортировать его задачи в &karm;, чтобы привести их к общепризнанному стандартному формату <ulink url="http://developer.kde.org/documentation/standards/index.html" >iCalendar</ulink >. Сделав это, вы сможете составить расписание задач в KOrganizer и вести их учёт в &karm;. В этом случае вы будете уверены в том, что уложитесь в данные время и бюджет.</para> </sect2> <sect2 id="dcop" ><title >&DCOP;</title> <para >&DCOP; - это механизм, при помощи которого программы KDE взаимодействуют друг с другом. KDE-программы предоставляют ряд функций, которые можно вызывать из других программ (например, из сценариев Bash).</para> <example ><title >Сценарий Bash, возвращающий версию &karm;</title> <programlisting >DCOPID=`dcop | grep karm` if [ $DCOPID ] then VERS=`dcop $DCOPID KarmDCOPIface version` echo "&karm; version is $VERS" else echo "&karm; not running" fi </programlisting> </example> <para >Нынешний интерфейс &karm; с &DCOP; используется в основном для автоматического тестирования, поэтому весьма ограничен. Полное описание интерфейса здесь: <link linkend="dcopappendix" >Приложение: Интерфейс &DCOP;</link >.</para> <para >Для просмотра полного интерфейса &DCOP; для версии &karm;, установленной в вашей системе, выполните следующий сценарий Bash:</para> <example ><title >Вывод интерфейса &karm; с &DCOP; на консоль</title> <programlisting >DCOPID=`dcop | grep karm` if [ $DCOPID ] then dcop $DCOPID KarmDCOPIface else echo "&karm; not running" fi </programlisting> </example> </sect2> <sect2 id="csv-export" ><title >Экспорт отчёта в CSV</title> <para >&karm; может экспортировать как отчёт, так и журнал в файл с разделителями-запятыми. Для экспорта отчёта вызовите пункт меню <menuchoice > <guimenu >Файл</guimenu > <guisubmenu >Импорт/Экспорт</guisubmenu > <guimenuitem >Экспорт в файл CSV ...</guimenuitem > </menuchoice >, и &karm; выведет следующий диалог:</para> <screenshot> <screeninfo >&karm;: Диалог экспорта в CSV</screeninfo> <mediaobject> <imageobject> <imagedata fileref="csvexport.png" format="PNG"/> </imageobject> <textobject> <phrase >&karm;: Диалог экспорта в CSV</phrase> </textobject> </mediaobject> </screenshot> <para >Укажите имя файла, в который вы желаете экспортировать данные и измените другие параметры диалога, если это необходимо. Заметьте, что контроль над диапазоном данных возможен только, если вы экспортируете данные журнала, а не общий отчёт. Нажмите <guibutton >Экспорт</guibutton >, и &karm; экспортирует данные отчёта о времени всех задач в выбранный вами файл.</para> <para >Вот пример вывода:</para> <literallayout ><computeroutput> "kde",,,,,0.00,0.00,6.88,9.83 ,"karm",,,,6.88,8.70,6.88,9.83 ,,"3.2 feature plan",,,0.00,0.00,0.00,0.00 ,,"bugs",,,0.00,1.13,0.00,1.13 ,,"checkin changes - translation strings",,,0.00,0.00,0.00,0.00 ,,"time card report",,,0.00,0.00,0.00,0.00 ,"kopete",,,,0.00,0.00,0.00,0.00 ,"promo",,,,0.00,0.00,0.00,0.00 ,"web stuff",,,,0.00,0.00,0.00,0.00 </computeroutput > </literallayout> <para >Задачи высшего уровня выведены в первой колонке, подзадачи во второй, и т.д. Хронологические данные выведены после максимальной глубины задач (в нашем случае глубина равна пяти). Первая временная колонка представляет <guilabel >Время сеанса</guilabel >, вторая <guilabel >Время</guilabel >, третья <guilabel >Общее время сеанса</guilabel >, и четвёртая <guilabel >Общее время</guilabel >. </para> </sect2> <sect2 id="csv-export-history" ><title >Экспорт журнала в CSV</title> <para >Для того чтобы экспортировать журнал задач, вызоваите пункт меню <menuchoice ><guimenu >Файл</guimenu > <guisubmenu >Импорт/Экспорт</guisubmenu ><guimenuitem >Экспорт журнала в файл CSV</guimenuitem > </menuchoice >, и &karm; выведет тот же диалог, что мы видели выше.</para> <para >Укажите имя файла, в который хотите экспортировать журнал и укажите диапазон данных для журнала. Измените прочие параметры диалога, если нужно. Нажмите <guibutton >Экспорт</guibutton >, и &karm; экспортирует журнал задач в указанный файл.</para> <para >Вот пример вывода:</para> <literallayout ><computeroutput> Task History From Tuesday 06 July 2004 to Tuesday 13 July 2004 Printed on: 2004-07-13 18:10 2004-07-06,2004-07-07,2004-07-08,2004-07-09,2004-07-10,2004-07-11,2004-07-12,2004-07-13, ,,,,,,,,0.00,"kde" ,,1.77,3.23,1.73,,1.37,0.82,8.95,,"karm" ,,,,,,,,0.00,,,"3.2 feature plan" ,1.13,,,,,,,1.13,,,"bugs" ,,,,,,,,0.00,,,"checkin changes - translation strings" ,,,,,,,,0.00,,,"time card report" ,,,,,,,,0.00,,"kopete" ,,,,,,,,0.00,,"promo" ,,,,,,,,0.00,,"web stuff" </computeroutput > </literallayout> <para >Три строки указывают, когда и для какого диапазона данных был создан этот отчёт. Четвертая строка представляет разделенный запятыми список дат в диапазоне данных в формате ISO 8601 (YYYY-MM-DD). В последующих строках указано время выполнения для каждой задачи. Последняя колонка чисел есть общий итог за все дни. Названия задач отображаются за итоговой колонкой, они смещаются для отображения связей задач с подзадачами. Задачи высшего уровня отображаются сразу за итоговой колонкой.</para> </sect2> </sect1> </chapter> <chapter id="interface"> <title >Интерфейс &karm;</title> <para >Главное окно &karm; содержит следующие элементы: меню, панель инструментов, окно Задача/Время и строку состояния.</para> <screenshot> <screeninfo >Экран &karm;</screeninfo> <mediaobject> <imageobject> <imagedata fileref="karm.png" format="PNG"/> </imageobject> <textobject> <phrase >Экран &karm;</phrase> </textobject> </mediaobject> </screenshot> <sect1 id="main-window"> <title >Окно Задача/Время</title> <para >В этом окне отображены различные задачи и время, затраченное на их выполнение в текущем сеансе и в целом. Задачи, для которых ведётся хронометраж в данный момент, обозначены маленьким значком с изображением часов рядом со временем сеанса.</para> <para >Для каждой задачи могут создаваться подзадачи. Двойной щелчок на задаче показывает или скрывает её подзадачи. Общее время, затраченное на задачу, включает в себя время всех её подзадач и её собственное.</para> </sect1> <sect1 id="menus"> <title >Меню &karm;</title> <sect2> <title >Меню <guimenu >Файл</guimenu ></title> <variablelist> <varlistentry> <term> <menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;<keycap >S</keycap ></keycombo > </shortcut > <guimenu >Файл</guimenu > <guimenuitem >Сохранить</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Сохраняет данные о времени, затраченном на текущие задачи и подзадачи</action ></para> </listitem> </varlistentry> <varlistentry> <term> <menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;<keycap >P</keycap ></keycombo > </shortcut > <guimenu >Файл</guimenu > <guimenuitem >Печать</guimenuitem > </menuchoice ></term> <listitem ><para ><action >Выводит на печать</action > окно &karm;</para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Файл</guimenu > <guimenuitem >Начать новый сеанс</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Обнуляет</action > все хронометры сеанса</para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Файл</guimenu > <guimenuitem >Обнулить все таймеры</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Обнуляет</action > все таймеры</para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Файл</guimenu > <guisubmenu >Импорт/Экспорт</guisubmenu > <guimenuitem >Импорт файла устаревшего формата</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Импортирует</action > файлы старых версий &karm; (новый формат - iCalendar-style.)</para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Файл</guimenu > <guisubmenu >Импорт/Экспорт</guisubmenu > <guimenuitem >Импорт задач из Planner...</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Импортирует</action >проект imendio Planner (смотрите <ulink url="http://planner.imendio.org" >planner.imendio.org</ulink >). Все задачи и подзадачи можно импортировать из .planner-файла полностью. Можно импортировать их как подзадачу, создав подзадачу, оставив её помеченной, а затем импортировав. </para> </listitem> </varlistentry> <varlistentry> <term> <menuchoice ><guimenu >Файл</guimenu > <guisubmenu >Импорт/Экспорт</guisubmenu > <guimenuitem >Экспорт в файл CSV-файл...</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Экспортирует</action > <guilabel >Общее время сеанса</guilabel >, <guilabel >Время сеанса</guilabel >, <guilabel >Время</guilabel > и <guilabel >Общее время</guilabel > в текстовый файл.</para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><guimenu >Файл</guimenu > <guisubmenu >Импорт/Экспорт</guisubmenu > <guimenuitem >Экспорт журнала в CSV-файл...</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Экспортирует</action > журнал задач в текстовый файл. </para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;<keycap >C</keycap ></keycombo > </shortcut > <guimenu >Файл</guimenu > <guimenuitem >Копировать отчёт в буфер обмена</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Копирует</action > текущие значения в буфер обмена &kde; </para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;&Alt;<keycap >C</keycap ></keycombo > </shortcut > <guimenu >Файл</guimenu > <guimenuitem >Копировать журнал в буфер обмена</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Копирует</action > статистику за указанный период в буфер обмена</para> </listitem> </varlistentry> <varlistentry> <term ><menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;<keycap >Q</keycap ></keycombo > </shortcut > <guimenu >Файл</guimenu > <guimenuitem >Выход</guimenuitem > </menuchoice ></term> <listitem> <para ><action >Закрывает</action > &karm;</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2> <title >Меню <guimenu >Отсчет</guimenu ></title> <variablelist> <varlistentry> <term> <menuchoice ><shortcut ><keycap >S</keycap ></shortcut > <guimenu >Отсчет</guimenu > <guimenuitem >Пуск</guimenuitem > </menuchoice> </term> <listitem> <para ><action >Запускает</action > счетчик для выбранной задачи</para ></listitem> </varlistentry> <varlistentry> <term> <menuchoice ><guimenu >Отсчет</guimenu > <guimenuitem >Остановить</guimenuitem > </menuchoice> </term> <listitem> <para ><action >Останавливает</action > счетчик для выбраной задачи</para ></listitem> </varlistentry> <varlistentry> <term> <menuchoice ><shortcut ><keycap >&Esc;</keycap ></shortcut > <guimenu >Отсчет</guimenu > <guimenuitem >Остановить все хронометры</guimenuitem > </menuchoice> </term> <listitem ><para ><action >Останавливает</action > счётчики всех задач</para ></listitem> </varlistentry> </variablelist> </sect2> <sect2> <title >Меню <guimenu >Задача</guimenu ></title> <variablelist> <varlistentry> <term> <menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;<keycap >N</keycap ></keycombo > </shortcut > <guimenu >Задача</guimenu > <guimenuitem >Создать</guimenuitem > </menuchoice> </term> <listitem ><para ><action >Добавляет</action > новую задачу</para ></listitem> </varlistentry> <varlistentry> <term> <menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;&Alt;<keycap >N</keycap ></keycombo > </shortcut > <guimenu >Задание</guimenu > <guimenuitem >Создать подзадачу</guimenuitem > </menuchoice> </term> <listitem> <para ><action >Добавляет</action > новую подзадачу к выбранной задаче</para> </listitem> </varlistentry> <varlistentry> <term> <menuchoice ><shortcut > <keycap >Del</keycap > </shortcut > <guimenu >Задание</guimenu > <guimenuitem >Удалить</guimenuitem > </menuchoice> </term> <listitem> <para ><action >Удаляет</action > выбранную задачу или подзачу</para> </listitem> </varlistentry> <varlistentry> <term> <menuchoice ><shortcut > <keycombo action="simul" >&Ctrl;<keycap >E</keycap ></keycombo > </shortcut > <guimenu >Задание</guimenu > <guimenuitem >Изменить</guimenuitem > </menuchoice> </term> <listitem> <para ><action >Изменяет имя или затраченное время</action > для выбранной задачи</para ><para >Есть два варианта изменения значения времени: "абсолютное изменение", в котором сеансы и времена могут быть изменены по отдельности, и "относительное изменение", в котором изменение добавляется или удаляется и из времени сеанса, и из общего времени.</para ><para >Параметр Автохронометраж позволяет включать и выключать хронометр в зависимости от текущего Рабочего стола &kde;.</para> </listitem> </varlistentry> </variablelist> </sect2> <sect2> <title >Меню <guimenu >Настройка</guimenu ></title> <variablelist> <varlistentry> <term> <menuchoice ><guimenu >Настройка</guimenu > <guimenuitem >Настроить горячие клавиши</guimenuitem > </menuchoice> </term> <listitem ><para ><action >Открывает</action > окно для задания горячих клавиш</para> </listitem> </varlistentry> <varlistentry> <term> <menuchoice ><guimenu >Настройка</guimenu > <guimenuitem >Настроить KArm</guimenuitem > </menuchoice> </term> <listitem ><para ><action >Открывает</action > окно для изменения конфигурации &karm;</para> <para >Диалог имеет три вкладки: <guilabel >Поведение </guilabel >, в котором можно указать уведомление при отсутствии активности и предупреждение перед удалением комплекта задач, <guilabel >Вид</guilabel >, в котором настраиваются поля, отображаемые в главном окне и <guilabel >Хранилище</guilabel >, в котором можно указать путь для сохранения файлов по умолчанию при автосохранении, включить его и задать его интервал.</para > </listitem> </varlistentry> </variablelist> </sect2> <sect2> <title >Меню <guimenu >Справка</guimenu ></title> &help.menu.documentation; </sect2> </sect1> <sect1 id="tool-bar"> <title >Панель инструментов</title> <para >Панель содержит значки следующих команд:</para> <note ><para >(Все они действуют идентично меню команд.)</para ></note> <itemizedlist> <listitem ><para ><guiicon >Пуск</guiicon ></para ></listitem> <listitem ><para ><guiicon >Стоп</guiicon ></para ></listitem> <listitem ><para ><guiicon >Создать</guiicon ></para ></listitem> <listitem ><para ><guiicon >Создать подзадачу</guiicon ></para ></listitem> <listitem ><para ><guiicon >Удалить</guiicon ></para ></listitem> <listitem ><para ><guiicon >Изменить</guiicon ></para ></listitem> </itemizedlist> </sect1> <sect1 id="status-bar"> <title >Строка состояния</title> <para >Показывает полное время сеанса.</para> </sect1> </chapter> <chapter id="credits"> <title >Благодарности и Лицензия</title> <para >&karm; </para> <para >Авторские права на программу: </para> <itemizedlist> <listitem ><para >1997-2000 Sirtaj Singh Kang <email >taj@kde.org</email >.</para > </listitem > <listitem ><para >2001-2002 Tomas Pospisek <email >tpo_deb@sourcepole.ch</email ></para ></listitem> <listitem ><para >2003-2004 Mark Bucciarelli<email >mark@hubcapconsulting.com</email ></para ></listitem> </itemizedlist> <para >Соавторы (в алфавитном порядке)</para> <itemizedlist> <listitem ><para >Allen Winter <email >winterz@verizon.net</email ></para ></listitem> <listitem ><para >David Faure <email >faure@kde.org</email ></para ></listitem> <listitem ><para >Espen Sand <email >espen@kde.org</email ></para ></listitem> <listitem ><para >Gioele Barabucci <email >gioele@gioelebarabucci.com</email ></para ></listitem> <listitem ><para >Jan Schaumann <email >jschauma@netmeister.org</email ></para ></listitem> <listitem ><para >Jesper Pedersen <email >blackie@ifad.dk</email ></para ></listitem> <listitem ><para >Kalle Dalheimer <email >kalle@kde.org</email ></para ></listitem> <listitem ><para >Klarälvdalens Datakonsult AB</para ></listitem> <listitem ><para >Mark Bucciarelli <email >mark@hubcapconsulting.com</email ></para ></listitem> <listitem ><para >Thorsten Stärk <email >dev@staerk.de</email ></para ></listitem> <listitem ><para >Tomas Pospisek <email >tpo_deb@sourcepole.ch</email ></para ></listitem> <listitem ><para >Willi Richert <email >w.richert@cox.net</email ></para ></listitem> </itemizedlist> <para >Идея &karm; навеяна очень полезной утилитой под названием <application >titrax</application >, единственный недостаток которой состоит в том, что она основана на создана с помощью инструментария Xt.</para> <para >Documentation copyright 2000-2004 Jonathan Singer <email >jsinger@leeta.net</email > and Sirtaj Singh Kang <email >taj@kde.org</email >.</para> &underFDL; &underGPL; </chapter> <glossary id="glossary"> <glossentry id="gloss-active-task"> <glossterm >активная задача</glossterm> <glossdef ><para >Задача, таймер которой сейчас включен.</para ></glossdef> </glossentry> <glossentry id="gloss-dcop"> <glossterm >&DCOP;</glossterm> <glossdef ><para >Протокол межпроцессовых связей, используемый в KDE. Short for Desktop COmmunication Protocol.</para ></glossdef> </glossentry> <glossentry id="gloss-desktop"> <glossterm >рабочий стол</glossterm> <glossdef ><para >В GNU/Linux, FreeBSD и других системах, которые используют X-Windows, может быть не один Рабочий стол, по умолчанию их четыре. На каждом Рабочем столе можно работать с отдельным набором программ и файлов. Когда KDE запускается впервые, вы видите Рабочий стол 1. Нажав <keycombo action="simul" >&Alt;<keycap >F2</keycap ></keycombo >, можно перейти на Рабочий стол 2. Нажатие <keycombo action="simul" >&Alt;<keycap >F1</keycap ></keycombo > приведет нас обратно на Рабочий стол 1. </para ></glossdef > </glossentry> <glossentry id="gloss-history"> <glossterm >журнал</glossterm> <glossdef ><para >Если &karm; настроен на ведение журнала, он будет регистрировать каждый случай включения/выключения таймера. Этот журнал никогда не стирается со времени обнуления таймеров, и остается в файле до самого удаления задачи.</para ></glossdef> </glossentry> <glossentry id="gloss-session" > <glossterm >сеанс</glossterm> <glossdef ><para >Определяемая пользователем точка отсчета для таймеров сеанса. Новый сеанс начинается при выборе пункта <menuchoice ><guimenu >Файл</guimenu ><guimenuitem >Начать новый сеанс</guimenuitem ></menuchoice >. Когда начинается новый сеанс, сеансовые данные не обнуляются. </para ></glossdef > </glossentry> <glossentry id="gloss-system-time" > <glossterm ><guilabel >Время сеанса</guilabel ></glossterm > <glossdef ><para >Время, затраченное на задачу с начала сеанса.</para ></glossdef > </glossentry > <glossentry id="gloss-system-tray" > <glossterm >системный лоток</glossterm> <glossdef ><para >Системный лоток находится в панели, которая (по умолчанию) находится внизу экрана. В системном лотке <inlinemediaobject ><imageobject ><imagedata fileref="systray.png" format="PNG"/></imageobject ></inlinemediaobject > значок &karm; крайний справа.</para ></glossdef> </glossentry> <glossentry id="gloss-top-level-task"> <glossterm >задача высшего уровня</glossterm> <glossdef ><para >Задача, у которой нет родительских задач.</para ></glossdef> </glossentry> <glossentry id="gloss-total-session-time" > <glossterm ><guilabel >Общее время сеанса</guilabel ></glossterm > <glossdef ><para >Время, затраченное на задачу со всеми её подзадачами с начала сеанса.</para ></glossdef > </glossentry> <glossentry > <glossterm ><guilabel >Время</guilabel ></glossterm> <glossdef ><para >Время, затраченное на задачу с момента обнуления всех таймеров.</para ></glossdef > </glossentry > <glossentry id="gloss-total-time" > <glossterm ><guilabel >Общее время</guilabel ></glossterm> <glossdef ><para >Время, затраченное на задачу со всеми её подзадачами с момента обнуления всех таймеров.</para ></glossdef > </glossentry > </glossary> <appendix id="installation"> <title >Установка</title> <sect1 id="getting-karm"> <title >Как получить &karm;</title> &install.intro.documentation; &install.compile.documentation; </sect1> </appendix> <appendix id="dcopappendix" ><title >Интерфейс &DCOP;</title> <refentry id="dcop-version"> <refmeta> <refentrytitle >version</refentrytitle> </refmeta> <refnamediv> <refname >version</refname> <refpurpose >Возврат версии &karm;.</refpurpose> </refnamediv> <refsynopsisdiv> <synopsis >QString version() </synopsis> </refsynopsisdiv> <refsect1> <title >Описание</title> <para ><function >version()</function > - это вызов &DCOP;, возвращающий номер версии &karm;, например 1.5.0. Номер версии возвращается в виде строки типичного GNU-формата major.minor.bugfix.</para> </refsect1> </refentry> <refentry id="dcop-quit"> <refmeta> <refentrytitle >quit</refentrytitle> </refmeta> <refnamediv> <refname >quit</refname> <refpurpose >Возвращает выход из &karm;.</refpurpose> </refnamediv> <refsynopsisdiv> <synopsis >QString quit() </synopsis> </refsynopsisdiv> <refsect1> <title >Описание</title> <para ><function >quit()</function > - это вызов &DCOP;, который дает возможность внешним программам аккуратно завершить работу &karm;. </para> </refsect1> </refentry> <refentry id="dcop-hastodo"> <refmeta> <refentrytitle >hastodo</refentrytitle> </refmeta> <refnamediv> <refname >hastodo</refname> <refpurpose >Проверка наличия задачи высшего уровня.</refpurpose> </refnamediv> <refsynopsisdiv> <synopsis >QString hastodo(QString taskname) </synopsis> <refsect2> <title >Параметры</title> <variablelist> <varlistentry> <term ><parameter >taskname</parameter ></term> <listitem> <para >Название искомой задачи.</para> </listitem> </varlistentry> </variablelist> </refsect2> </refsynopsisdiv> <refsect1> <title >Описание</title> <para ><function >hastodo(QString taskname)</function > - это вызов &DCOP; для поиска по данному имени. Если имя будет найдено. будет возвращен идентификатор файла iCalendar, относящегося к этой задаче. Если же имя не найдено, вернется пустая строка. </para> <para >Файл iCalendar, который &karm; откроет, и есть искомый файл. Будет найдена не только задача высшего уровня, но и все дерево процессов. Если несколько задач имеют одинаковые названия, будет возвращена первая из найденных.</para> </refsect1> </refentry> <refentry id="dcop-addtodo"> <refmeta> <refentrytitle >addtodo</refentrytitle> </refmeta> <refnamediv> <refname >addtodo</refname> <refpurpose >Добавить новую задачу.</refpurpose> </refnamediv> <refsynopsisdiv> <synopsis >QString addtodo(QString todoname) </synopsis> <refsect2> <title >Параметры</title> <variablelist> <varlistentry> <term ><parameter >todoname</parameter ></term> <listitem> <para >Название новой задачи.</para> </listitem> </varlistentry> </variablelist> </refsect2> </refsynopsisdiv> <refsect1> <title >Описание</title> <para ><function >addtodo(QString todoname)</function > - это вызов &DCOP;, который добавляет новую задачу высшего уровня к текущему комплекту. Возвращает идентификатор новой задачи. </para> </refsect1> </refentry> </appendix> &documentation.index; </book> <!-- Local Variables: mode: sgml sgml-minimize-attributes:nil sgml-general-insert-case:lower sgml-indent-step:0 sgml-indent-data:nil End: // vim:ts=2:sw=2:tw=78:noet -->