Мастерская времени, a place to master your time
English page has some additional info and more conservative style but it's outdated a bit.
Мастерская времени - a place to master your time. Версия 0.3.0 α3, специально для Maemo.
Первая мысль, которая неизбежно посещает пользователя, когда он видит новый таймер или секундомер для платформы Maemo звучит так:
Зачем?
Конечно, точная формулировка сильно зависит от степени вледения разговорным диалектом любимого языка, присущей конкретнму индивидууму и его склонности к выражениям повышенной крепости,
однако суть вопроса остаётся неизменной, ведь только в "extras" есть уже не меньше пяти подобных программ. С этого и начнём. Что может предложить потенциальному пользователю "Мастерская времени"
(МНН "Time Workshop", короче "timeshop").
Прежде всего, эта программа будет обладать теми функциями, которые нужны её автору. Вобщем-то уже сейчас всем таймерам для N900 чего-нибудь да не хватает. А ведь функционал ноль-третьей
"Мастерской" составляет не больше четверти того, что задумано. Она должна вырасти в программу, позволяющую создать любое число различных часов, секундомеров, таймеров, будильников, календарей и
прочих "часовых дел". Внешний вид и поведение каждого из них будут настраиваться в широких пределах через интерфейс или в конфигурационных файлах. Кроме того, она должна стать основой для
удобного и мощного средства планирования и учёта времени. Но это - потом. А что же есть в "мастерской" сейчас, в третьей альфе ноль-третьей версии?
Фишки (features)
Если что-то кажется Вам лишённым смысла, то скорее всего это станет полезно в будущих версиях.
- Прежде всего, "timeshop" - это лишь вершина айсберга, подводная часть которого - "libtimeshop", представляет собой библиотеку классов, которую можно будет использовать в других проектах.
Пока интерфейсы классов не устоялись, так что вряд ли это под силу кому-нибудь, кроме автора, но ведь однажды это случится. (Разработка идёт путём рефакторинга по
семейным обстоятельствам.)
- Точность отображения времени секундомера, как и таймера, может изменяться от часов до миллисекунд. Однако, обновляется он не чаще 10 раз в секунду, чтобы не перегружать процессор1.
- Таймер можно установить до 24 часов, впрочем это - ограничение интерфейса. В конфигурационном файле можно поставить и больше.
- Секундомер можно считать беспредельным - компьютеры столько не живут.
- Размер цифр подбирается автоматически, чтобы вписаться в предоставленное место, при этом оставаясь максимально возможным.
- В качестве сигнала можно установить любой звуковой файл, поддерживаемый системой.
- Во время отсчёта можно делать отметки, в которых запоминается текущее время таймера, время, прошедшее с предыдущей отметки, а также примечание, которое можно изменить
2. Отметки можно делать и тогда, когда таймер остановлен, но это немного сложнее и не столь нужно.
- Сделанные отметки можно сохранить в файл в формате HTML, CSV или XML. При этом можно заметить, что сохраняется ещё и реальное время.
- Настройки таймера можно назначать специальным экранным кнопкам для вызова в одно касание3. Можно сохранить все настройки или только часть их в любой
комбинации: время таймера, точность дисплея и звуковой сигнал. Если Вы не хотите сохранять какой-то параметр, его можно очистить или оставить тот, что был присвоен кнопке ранее.
При вызове изменятся только назначенные параметры.
- Внешний вид таймера и расположение элементов можно задать в специальном файле. В этом пакете есть один из них4. На данном этапе дизайну не было уделено
должного внимания, но может быть, кому-то он понравится больше, чем стандартный. По крайней мере, цветные кнопки труднее перепутать.5
В ожидании Годо
В этой версии программы есть определённые проблемы. Однако, во многих случаях не я тому виной, но сырая Qt. И остаётся только ждать, когда к нам придёт великий и могучий PR1.2. Но принесёт ли он
счастье? Или придётся ковылять обходной дорогой? А обойти надо вот что:
- (2) Изменение примечаний в списке работает весьма плохо: виртуальная клавиатура не вызывается, а аппаратная позволяет вводить текст только на английском.
Поскольку я не использую ничего, кроме собственно записи полученных моделью данных в нужное место, а программа ругается на отсутствие поддержки события X11
HILDON_IM_CONTEXT_OPTION_CHANGED, я не считаю этот баг своим.
- Диалоги выбора файлов оставляют желать лучшего. Впрочем, встроенные в Qt ещё менее удобны.
- (1) Если выбранная точность выше секунд, программа довольно сильно загружает процессор отрисовкой, даже когда её окно совсем не видно на экране.
Некоторые улучшения появятся в следующей версии, но вообще-то это должно отрезаться системой.
- (5) При подключении файла оформления цветные кнопки выглядят ступенчатыми. Так Qt генерирует градиенты из сложных цветов. Тут нам пиар не поможет - придётся
кое-что поменять.
- Если в момент сигнала плеер устройства играет музыку, он будет поставлен на паузу, пока пользователь не отреагирует на таймер. Но звук сигнала останется "заглушен". Возможно, в PR1.2
поведение плеера несколько изменится. Если нет, то придётся останавливать плеер другим способом (нынешний мне всё равно не нравится - некрасиво). Другие таймеры, впрочем, и этого не делают.
- Стандартные кнопки отображаются по-английски. Почему-то выбранная версия Qt содержит русский перевод только для подсистемы справки.Вообще локализация в Maemo сделана "не очень":
для Qt есть только один пакет для всех языков. Если положить туда все существующие переводы Qt, получится несколько мегабайт заведомо ненужных файлов. А нормальная установка отдельных
языковых пакетов в системе не предусмотрена.
- Из-за старой версии сборщика пакетов для платформы armel невозможно одновременно использовать поля файла управления сборкой пакетов Maemo-Display-Name и Maemo-Display-Name-ru_RU, из которых
установщик на N900 потом берёт название программы. Ошибка заявлена под номером 9879. Ждём и верим. Пока предпочтение было отдано русскому варианту, поэтому программа в каталоге "extras-devel"
доступна под именем "Мастерская времени" или "timeshop" в зависимости от того, какой язык установлен на устройстве. В "эмуляторе" все в порядке и "нерусские" пользователи могут загрузить
"Time Workshop". Кстати, локализованные названия отображаются в конце списка приложений. По-моему, было бы правильнее размещать их в начале, поскольку пользователи предпочитают более
понятные им тексты, а если их приходится долго искать, это напрягает. В плеере такая сортировка тоже не помешала бы.
Кажется, есть там ещё какие-то проблемы, о которых я здесь не вспомнил, но в основном программа работает достаточно стабильно, чтобы перейти в разряд "беты". Вот только сначала нужно дождаться
обновления и обойти то, что там не исправят.
Если этого мало
Если показалось мало, в теле чувствуется упругая сила, а в душе - непоколебимая уверенность в собственном разуме, можно попробовать немного изменить мирок "Мастерской":
- (4) В третьей альфе добавлен файл, изменяющий вид таймера. Чтобы его подключить, надо открыть файл ~/.timeshop/default.settings.timeshop и заменить в нём
строку
<builtin_layout>
на <layout_file>/usr/share/timeshop/layouts/colors.layout.timeshop</layout_file>
. Этот файл лишь незначительно
изменяет вид таймера, чтобы его было просто подключить.
- (3) С помощью конфигурационных файлов можно изменить намного больше, например, увеличить число кнопок "пресетов" и расположить их в несколько рядов или
разместить кнопки "Старт" и "Стоп" с разных сторон дисплея, а сам дисплей сменить на тот, что был в версиях 0.2.x. В данной версии эти возможности считаются
"недокументированными" и в структуре файлов "*.timeshop" пользователю придётся разбираться самому. Программа считает эти файлы созданными ей самой и поэтому не проверяет наличие в них
ошибок. В одной из будущих версий планируется добавить специальный редактор.
- Во всплывающем меню, доступном по щелчку правой клавишей мыши в "эмуляторе" или по долгому нажатию на устройстве, есть возможность сохранить текущие настройки, включая внешний вид,
параметры таймера и кнопки "пресетов" в файл. Потом можно запустить "Мастерскую" с этими параметрами, набрав в терминале "timeshop имя_файла". Таким образом можно сдалеть различные наборы
"пресетов" для разных ситуаций.
Жизнь на других планетах
Чтобы облегчить участь тех несчастных, у которых пока нет мобильного компьютера Nokia N900, "Мастерская" может быть установлена и на другие системы:
- Ubuntu Linux 9.10 для x86-совместимых процессоров: 32 и 64-битные версии доступны в репозитории автора:
deb http://repository.slobodsky.ru/ubuntu/ karmic unstable
deb-src http://repository.slobodsky.ru/sources . unstable
- MS Windows: 32-битная версия может быть установлена с сайта автора:
установочный файл на русском языке или
на английском. Отличается только интерфейс установщика, файлы
программы одинаковы. В пакет включены все необходимые библиотеки. Для тех, у кого уже есть Qt 4.6.2 для MS Visual Studio 2008 (не MinGW!), существует
архив, содержащий только исполняемые файлы "Мастерской".
- Версия для MS Windows Mobile 6 слишком сырая, чтобы
рекомендовать её использование. Если Вы хотите, чтобы она была доведена "до ума", сообщите об этом на форуме программы.
- Архив с исходными кодами может быть загружен со страницы проекта в гараже Maemo. Из них можно собрать исполняемые
файлы под все указанные выше системы. Не включены только проекты и дополнительные файлы для создания установочных пакетов для MS Windows.
Для сборки под системы, отличные от Maemo, необходимо изменить пути к двоичным файлам библиотеки Qt в файлах *.pro и debian/rules, если предполагается создание пакетов Debian.
Переносимость программы обеспечивается библиотекой Qt компании Nokia. Платформы Mac OS X и S60, для которых также существуют версии Qt, не поддерживаются ввиду
отсутствия у автора соответствующих устройств. Скорее всего, программа будет легко адаптирована к MeeGo, для которого Qt является одним из ключевых элементов.