Документация
ОС Аврора 4.0.1

Использование библиотеки SailfishApp

Чтобы упростить разработку приложений для ОС Аврора и убедиться, что пути к приложениям заданы правильно, а время запуска приложений ускорено, сторонние приложения в ОС Аврора должны использовать SailfishApp. Эта библиотека предоставляет определённые функции в пространстве имён SailfishApp для настройки проекта, установки всех файлов в правильные каталоги и получения важных путей во время выполнения с помощью удобных методов.

Этот раздел также служит для описания функциональности библиотеки SailfishApp, чтобы разработчики, которые не могут использовать её в своих проектах, могли применить предоставленную здесь информацию в качестве руководства, по настройке структуры каталогов и путей. Однако обычно рекомендуется использовать SailfishApp, поскольку это позволит приложениям легко и автоматически интегрироваться с ОС Аврора.

Описание API

Более подробную документацию по API можно найти в документации по пространству имён SailfishApp.

Как использовать SailfishApp в проекте

Чтобы использовать SailfishApp в проекте, необходимо выполнить следующее:

  1. Добавить BuildRequires: pkgconfig(sailfishapp) в файл .spec.
  2. Установить TARGET = yourappname в файле .pro.
  3. Добавить CONFIG += sailfishapp в файл .pro.
  4. Включить sailfishapp.h в файл .cpp.
  5. Использовать методы 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 в файловую систему.

Развёртывание значков приложения разных размеров

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

  1. Добавить SAILFISHAPP_ICONS = size1 size2... в файл .pro, перечислив все доступные размеры значков в формате {ширина}x{высота}.
  2. Убедиться, что все значки приложения представлены файлами icons/{ширина}x{высота}/$$TARGET.png в дереве исходных данных проекта.

Список рекомендуемых размеров значков приложения можно найти в разделе Требования к установочным пакетам. Раздел Значки включает полезные материалы о том, как создавать приложения, которые наилучшим образом соответствуют стилю ОС Аврора.

Использование в проекте поддержки i18n

Чтобы использовать удобные функции интернационализации SailfishApp, нужно выполнить следующее:

  1. Добавить в файл .pro:

    CONFIG += sailfishapp_i18n
    

    Если используются переводы на основе идентификаторов, также добавить:

    CONFIG += sailfishapp_i18n_idbased
    
  2. Запустить qmake.

  3. Запустить make (это создаст или обновит файл translations/$$TARGET.ts и все файлы в TRANSLATIONS).

  4. В файле .yaml для сборки RPM-пакета добавить следующую запись в раздел files:

     - '%{_datadir}/%{name}/translations'
    

Чтобы добавить в проект новый язык, нужно выполнить следующее:

  1. Добавить в файл .pro (с заменой $LANG на язык):

    TRANSLATIONS += translations/$APPNAME-$LANG.ts
    

    (например, для русского языка нужно использовать "$APPNAME-ru.ts" и т. д.).

  2. Запустить qmake.

  3. Запустить make.

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

CONFIG += sailfishapp_i18n

в файле .pro, и переводы не будут собраны или обновлены. Следует снова включить строку при сборке выпуска.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.