Использование библиотеки SailfishApp
Чтобы упростить разработку приложений для ОС Аврора и убедиться,
что пути к приложениям заданы правильно,
а время запуска приложений ускорено,
сторонние приложения в ОС Аврора должны использовать SailfishApp.
Эта библиотека предоставляет определённые функции
в пространстве имён SailfishApp
для настройки проекта,
установки всех файлов в правильные каталоги и получения важных путей
во время выполнения с помощью удобных методов.
Этот раздел также служит для описания функциональности библиотеки SailfishApp,
чтобы разработчики, которые не могут использовать её в своих проектах,
могли применить предоставленную здесь информацию в качестве руководства,
по настройке структуры каталогов и путей.
Однако обычно рекомендуется использовать SailfishApp,
поскольку это позволит приложениям легко и автоматически интегрироваться с ОС Аврора.
Описание API
Более подробную документацию по API можно найти в документации по пространству имён SailfishApp.
Как использовать SailfishApp в проекте
Чтобы использовать SailfishApp в проекте, необходимо выполнить следующее:
- Добавить
BuildRequires: pkgconfig(sailfishapp)в файл .spec. - Установить
TARGET = yourappnameв файле .pro. - Добавить
CONFIG += sailfishappв файл .pro. - Включить
sailfishapp.hв файл .cpp. - Использовать методы
SailfishApp::в функцииmain().
В остальной части этого раздела $$TARGET будет означает ссылку
на значение переменной TARGET в файле .pro
(именно так можно использовать саму переменную в файле .pro).
Файлы, которые устанавливаются SailfishApp и должны находиться в том же каталоге,
что и файл .pro:
- $$TARGET.png — значок приложения размером 86x86 пикселей;
- $$TARGET.desktop — файл .desktop для приложения;
- qml — каталог, содержащий все файлы QML.
Если нужно отказаться от автоматического развёртывания каталога qml, следует установить
CONFIG += sailfishapp_no_deploy_qml
перед добавлением параметра конфигурации SailfishApp. Можно установить эту опцию, если по какой-то причине необходимо указать файлы QML как ресурсы Qt (qrc). Рекомендуется сохранить настройку по умолчанию и вместо этого установить файлы QML в файловую систему.
Развёртывание значков приложения разных размеров
Рекомендуется предоставлять для приложений значки разных размеров для поддержки разных типов устройств и различных настроек разрешения экрана. Это можно сделать, выполнив следующие действия.
- Добавить
SAILFISHAPP_ICONS = size1 size2...в файл.pro, перечислив все доступные размеры значков в формате{ширина}x{высота}. - Убедиться, что все значки приложения
представлены файлами icons/
{ширина}x{высота}/$$TARGET.png в дереве исходных данных проекта.
Список рекомендуемых размеров значков приложения можно найти в разделе Требования к установочным пакетам. Раздел Значки включает полезные материалы о том, как создавать приложения, которые наилучшим образом соответствуют стилю ОС Аврора.
Использование в проекте поддержки i18n
Чтобы использовать удобные функции интернационализации SailfishApp, нужно выполнить следующее:
-
Добавить в файл .pro:
CONFIG += sailfishapp_i18nЕсли используются переводы на основе идентификаторов, также добавить:
CONFIG += sailfishapp_i18n_idbased -
Запустить
qmake. -
Запустить
make(это создаст или обновит файл translations/$$TARGET.ts и все файлы в TRANSLATIONS). -
В файле .yaml для сборки RPM-пакета добавить следующую запись в раздел
files:- '%{_datadir}/%{name}/translations'
Чтобы добавить в проект новый язык, нужно выполнить следующее:
-
Добавить в файл .pro (с заменой
$LANGна язык):TRANSLATIONS += translations/$APPNAME-$LANG.ts(например, для русского языка нужно использовать "$APPNAME-ru.ts" и т. д.).
-
Запустить
qmake. -
Запустить
make.
Если во время разработки нужно каждый раз пропускать создание переводов, можно просто закомментировать строку
CONFIG += sailfishapp_i18n
в файле .pro, и переводы не будут собраны или обновлены. Следует снова включить строку при сборке выпуска.