# Руководство &ktimetracker;

## Введение

&ktimetracker; отслеживает время, затраченное на различные задачи. Это полезно для учёта оплаченного времени, или для учёта времени работы над отдельной задачей по дням.

Этот журнал времени может быть экспортирован в текстовый файл с запятыми в качестве разделителей для импорта в другие программы учёта и/или управления проектами.

&ktimetracker; определяет бездействие клавиатуры и мыши, он может связывать различные задачи с разными рабочими столами.

&ktimetracker; был написан &Sirtaj.Singh.Kang;. Его домашняя страница http://userbase.kde.org/KTimeTracker.

## Использование &ktimetracker;

### Запуск &ktimetracker;

Введите `ktimetracker` в командной строке или выберите Учёт рабочего времени из группы Утилиты (Служебные) главного меню KDE. Доступны стандартные ключи &Qt; и &kde;, их можно просмотреть, введя ``ktimetracker` `--help`` в командной строке.

&ktimetracker; предоставляет дополнительный командный параметр, позволяющий вам ввести имя файла iCalendar, в котором хранится журнал вашей работы. Имя удалённого файла iCalendar вводится с добавлением префикса http или ftp, например, http://www.mysite.com/mydata/mylabor.ics.

### Задания

Ситуация: Вы консультант по свободному ПО, у вас много клиентов. У некоторых из них по нескольку проектов. В течение дня вам приходится постоянно переключаться между ними. Вам необходим учёт времени, на основе которого вы хотите ежемесячно предъявлять к оплате счета.

Решение: Создайте по одному заданию верхнего уровня для каждого клиента и по подзаданию для каждого из клиентских проектов. Для каждого проекта, требующего более детального учёта, создайте группу подзаданий в каждом проекте. Отмечайте время двойным щелчком на каждом задании, над которым работаете в данный момент.

&ktimetracker; позволяет отслеживать неограниченное количество задач и подзадач любой глубины вложенности. Можно учитывать выполнение одной задачи, или одновременно нескольких.

&ktimetracker; позволяет редактировать журнал задания и комментировать каждый пункт, на котором вы остановились.

Для того чтобы создать задачу высшего уровня, вызовите пункт меню &Ctrl;T Задача Создать Для создания подзадачи выберите родительскую задачу и вызовите &Ctrl;&Alt;N Задача Создать подзадачу

При закрытии &ktimetracker; список задач сохраняется в файле, указанном в Настройка Настроить KTimeTracker . При следующем запуске список задач обновляется из этого файла.

&ktimetracker; может импортировать и экспортировать задачи. См. Прочие системы.

### Таймеры

Ситуация: Чтобы оставаться платёжеспособным, вам необходимо работать в среднем пять часов в день. Нужен ежедневный и еженедельный учёт.

Решение: Сбрасывайте таймер сеанса в начале каждого рабочего дня, и все таймеры — в начале каждой недели.

&ktimetracker; упрощает учёт времени. Для запуска учёта времени, потраченного на определённое задание, щёлкните дважды на его пункте. Для остановки учёта щёлкните дважды на задаче ещё раз. Активные задачи отображаются маленькими значками в столбце Время сеанса.

Ещё один компонент интерфейса &ktimetracker; — значок в системном лотке. Когда задача активна, вторая рука в значке движется. Если навести указатель мыши на этот значок, название активной задачи отобразится во всплывающей подсказке. Если активных задач несколько, их названия будут разделены запятыми.

Для каждой задачи &ktimetracker; ведёт по два таймера — один подсчитывает время сеанса, другой — общее время. По умолчанию &ktimetracker; отображает по два столбца для каждого таймера, в итоге каждой задаче отводится четыре столбца.

Время сеанса

- Время, затраченное на задание с начала сеанса.

Время

- Время, затраченное на задание с момента обнуления всех таймеров.

Общее время сеанса

- Время затраченное на задание со всеми его подзаданиями с начала сеанса.

Общее время

- Время затраченное на задание со всеми его подзаданиями с момента обнуления всех таймеров.

Для того чтобы начать новый сеанс, выберите Файл Начать новый сеанс

Чтобы обнулить все таймеры, выберите Файл Обнулить все таймеры

#### Учёт времени на разных рабочих столах

Ситуация: У вас есть два основных проекта, над которыми вы ежедневно работаете. Разумно организовав свою работу, вы держите файлы проекта 1 на Рабочем столе 1, а файлы проекта 2 на Рабочем столе 2.

Решение: Свяжите задачу проекта 1 с Рабочим столом, а задачу проекта 2 с Рабочим столом 2. Когда вы переключитесь с одного рабочего стола на другой, &ktimetracker; автоматически переключит учёт времени задач.

Для того чтобы связать задачу с одним или больше Рабочими столами, выберите &Ctrl;E Задача Правка Включите Автоматическое отслеживание и выберите Рабочий стол или столы, с которыми хотите связать задачу. Когда любой из выбранных столов станет активным, после недолгой задержки &ktimetracker; начнёт отсчёт времени данной задачи.

#### Учёт бездействия

Ситуация: Вы ушли с работы в пятницу пораньше и уехали на все выходные, забыв выключить таймер. При вашем возвращении в понедельник таймер всё ещё работает.

Решение: Включите учёт бездействия.

&ktimetracker; может определять бездействие ваших мыши и клавиатуры. Если они не подают сигналы дольше определённого количества минут, &ktimetracker; выдаст следующий диалог:

&ktimetracker; Определение простоя Окно Определение простоя &ktimetracker;

Продолжить отсчёт

- Добавляет время простоя ко всем активным таймерам и оставляет их в работе.

  Вы работали над заданием во время простоя компьютера, и продолжаете работу.

Обратить отсчёт

- Вычитает время бездействия из всех активных таймеров и останавливает их.

  Вы не работали над заданием (заданиями) во время бездействия компьютера, и не работаете до сих пор.

### Прочие системы

#### &korganizer;

&ktimetracker;, как и &korganizer; и iCal от Apple, использует для хранения данных общепризнанный стандартный формат iCalendar. &ktimetracker; может обрабатывать файлы, созданные этими программами.

Вы также можете работать синхронно над одним файлом в &korganizer; и &ktimetracker;. Если одна программа вносит изменения в файл, то изменения автоматически появляются в другой программе.

#### Planner

Как часто бывает, вам может понадобиться спланировать работу над проектом с помощью инструмента управления проектами Imendio Planner (от planner.imendio.org) и импортировать его задачи в &ktimetracker;, чтобы привести их к общепризнанному стандартному формату iCalendar. Сделав это, вы сможете составить расписание задач в &korganizer; и вести их учёт в &ktimetracker;. В этом случае вы будете уверены в том, что уложитесь в данные время и бюджет.

#### &DBus;

&DBus; — это механизм, при помощи которого программы &kde; взаимодействуют друг с другом. KDE-программы предоставляют ряд функций, которые можно вызывать из других программ (например, из сценариев Bash).

##### Сценарий Bash, возвращающий версию &ktimetracker;

    qdbus org.kde.ktimetracker /KTimeTracker версия 2
    >/dev/null || echo "ktimetracker не запущен"

Нынешний интерфейс &ktimetracker; с &DBus; используется в основном для автоматического тестирования, поэтому весьма ограничен. Полное описание интерфейса здесь: Приложение: Интерфейс &DBus;.

Для просмотра полного интерфейса &DBus; для версии &ktimetracker;, установленной в вашей системе, выполните следующий сценарий Bash:

##### Вывод интерфейса &ktimetracker; с &DBus; на консоль

    qdbus org.kde.ktimetracker /KTimeTracker 2
    >/dev/null || echo "ktimetracker не запущен"

#### Экспорт отчёта в CSV

&ktimetracker; может экспортировать как отчёт, так и журнал в файл с разделителями-запятыми. Для экспорта отчёта вызовите пункт меню Файл Импорт/Экспорт Экспорт в файл CSV ... , и &ktimetracker; выведет следующий диалог:

&ktimetracker;: Диалог экспорта в CSV &ktimetracker;: Диалог экспорта в CSV

Укажите имя файла, в который хотите экспортировать журнал и укажите диапазон данных для журнала. Измените прочие параметры диалога, если нужно. Нажмите Экспорт, и &ktimetracker; экспортирует журнал задач в указанный файл.

Используйте Экспорт в буфер обмена для экспорта таймеров в буфер обмена

Вот пример вывода:

    "kde",,,,,0.00,0.00,6.88,9.83
    ,"ktimetracker",,,,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

Задания верхнего уровня выведены в первой колонке, подзадания — во второй, и т.д. Хронологические данные выведены после максимальной глубины заданий (в нашем случае глубина равна пяти). Первая временная колонка представляет Время сеанса, вторая Время, третья Общее время сеанса, и четвёртая Общее время.

#### Экспорт журнала в CSV

Для того чтобы экспортировать журнал задач, вызовите пункт меню Файл Импорт/Экспорт Экспорт журнала в файл CSV , и &ktimetracker; выведет тот же диалог, что мы видели выше.

Укажите имя файла, в который хотите экспортировать журнал и укажите диапазон данных для журнала. Измените прочие параметры диалога, если нужно. Нажмите Экспорт, и &ktimetracker; экспортирует журнал задач в указанный файл.

Используйте Экспорт в буфер обмена для экспорта журнала в буфер обмена

Вот пример вывода:

    Журнал задания
    Со вторника 06 July 2004 до среды 13 July 2004
    Напечатан в: 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,,"ktimetracker"
    ,,,,,,,,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"

Три строки указывают, когда и для какого диапазона данных был создан этот отчёт. Четвёртая строка представляет разделённый запятыми список дат в диапазоне данных в формате ISO 8601 (YYYY-MM-DD). В последующих строках указано время выполнения для каждого задания. Последняя колонка чисел есть общий итог за все дни. Названия заданий отображаются за итоговой колонкой, они смещаются для отображения связей заданий с подзаданиями. Задания верхнего уровня отображаются сразу за итоговой колонкой.

## Интерфейс &ktimetracker;

Главное окно &ktimetracker; содержит следующие элементы: меню, панель инструментов, окно Задача/Время и строку состояния.

Это комбинированное поле. До нажатия кнопки &Enter; оно ведёт себя как фильтр. Показываются только те задания, которые подходят под введённое значение. После нажатия &Enter; введённое значение будет использовано как название нового задания.

Активируйте пункт Оптимизировать для карманных устройств если у вашего устройства сенсорный экран. Это отключит строку поиска и каждый щелчок будет вызывать выпадающее меню.

Экран &ktimetracker; Экран &ktimetracker;

### Окно Задание/Время

В этом окне отображены различные задания и время, затраченное на их выполнение в текущем сеансе и в целом. Задания, для которых ведётся хронометраж в данный момент, обозначены маленьким значком с изображением часов рядом со временем сеанса.

Для каждого задания могут создаваться подзадания. Двойной щелчок на задании показывает или скрывает его подзадания. Общее время, затраченное на задание, включает в себя время всех его подзаданий и его собственное.

### Панель инструментов и строка состояния

Панель содержит значки следующих команд:

(Все они действуют идентично меню команд.)

- Новое задание

- Создать подзадание

- Пуск

- Стоп

- Удалить

- Изменить

- Открыть

- Сохранить

Строка состояния показывает имя файла, в который сохраняются данные.

## Авторские права и лицензия

&ktimetracker;

Авторские права на программу:

- 1997-2000 &Sirtaj.Singh.Kang; &Sirtaj.Singh.Kang.mail;.

- 2001-2002 Tomas Pospisek tpo_deb@sourcepole.ch

- 2003-2004 Mark Bucciarellimark@hubcapconsulting.com

Соавторы (в алфавитном порядке)

- Allen Winter winter@kde.org

- &David.Faure; &David.Faure.mail;

- &Espen.Sand; espen@kde.org

- Gioele Barabucci gioele@gioelebarabucci.com

- Jan Schaumann jschauma@netmeister.org

- &Jesper.Pedersen; blackie@ifad.dk

- Kalle Dalheimer &Matthias.Kalle.Dalheimer.mail;

- Klarälvdalens Datakonsult AB

- Mark Bucciarelli mark@hubcapconsulting.com

- Thorsten Stärk dev@staerk.de

- Tomas Pospisek tpo_deb@sourcepole.ch

- Willi Richert w.richert@cox.net

Идея &ktimetracker; навеяна очень полезной утилитой под названием titrax, единственный недостаток которой состоит в том, что она основана на создана с помощью инструментария Xt.

Документация 2000-2004 &Jonathan.Singer; &Jonathan.Singer.mail; и &Sirtaj.Singh.Kang; &Sirtaj.Singh.Kang.mail;.

&underFDL; &underGPL;

## Оглавление

## A

активное задание

Задание, таймер которого сейчас включён.

## D

&DBus;

Протокол межпроцессовых связей, используемый в &kde; — Desktop Bus.

рабочий стол

В &GNU;/&Linux;, FreeBSD и других системах, которые используют X-Windows, может быть не один Рабочий стол, по умолчанию их четыре. На каждом Рабочем столе можно работать с отдельным набором программ и файлов. Когда KDE запускается впервые, вы видите Рабочий стол 1. Нажав &Alt;F2, можно перейти на Рабочий стол 2. Нажатие &Alt;F1 приведёт нас обратно на Рабочий стол 1.

## H

журнал

Если &ktimetracker; настроен на ведение журнала, он будет регистрировать каждый случай включения/выключения таймера. Этот журнал никогда не стирается со времени обнуления таймеров, и остаётся в файле до самого удаления задачи.

## S

сеанс

Определяемая пользователем точка отсчёта для таймеров сеанса. Новый сеанс начинается при выборе пункта Файл Начать новый сеанс. Когда начинается новый сеанс, сеансовые данные не обнуляются.

Время сеанса

Время, затраченное на задание с начала сеанса.

системный лоток

Системный лоток находится в панели, которая (по умолчанию) находится внизу экрана. В системном лотке значок &ktimetracker; крайний справа.

## T

задание верхнего уровня

Задание, у которого нет родительских заданий.

Общее время сеанса

Время затраченное на задание со всеми его подзаданиями с начала сеанса.

Время

Время, затраченное на задание с момента обнуления всех таймеров.

Общее время

Время затраченное на задание со всеми его подзаданиями с момента обнуления всех таймеров.

## Установка

### Как получить &ktimetracker;

&install.intro.documentation; &install.compile.documentation;

## Интерфейс &DBus;

version

version

Возврат версии &ktimetracker;.

    QString version()

#### Описание

`version()` — это вызов &DBus;, возвращающий номер версии &ktimetracker;, например 1.5.0. Номер версии возвращается в виде строки типичного GNU-формата major.minor.bugfix.

quit

quit

Возвращает выход из &ktimetracker;.

    QString quit()

#### Описание

`quit()` — это вызов &DBus;, который даёт возможность внешним программам аккуратно завершить работу &ktimetracker;.

addTask

addTask

Добавить новую задачу.

    QString addTask(QString taskname)

#### Параметры

`taskname`

- Название нового задания.

#### Описание

`addTask(QString taskname)` — это вызов &DBus;, который добавляет новую задачу высшего уровня к текущему комплекту. Возвращает идентификатор новой задачи.

&documentation.index;