Tiny PDF Viewer
Проект предоставляет пример программы для просмотра PDF-документов на основе PDFium.
Главная цель - демонстрация с использованием минимума исходного кода для получения работающего и расширяемого приложения.
Статус сборки:
Условия использования и участия
Исходный код проекта предоставляется по лицензии, которая позволяет использовать его в сторонних приложениях.
Соглашение участника регламентирует права, предоставляемые участниками компании «Открытая Мобильная Платформа».
Информация об участниках указана в файле AUTHORS.
Кодекс поведения — это действующий набор правил компании «Открытая Мобильная Платформа», который информирует об ожиданиях по взаимодействию между членами сообщества при общении и работе над проектами.
Структура проекта
Проект имеет стандартную структуру приложения на базе C++ и QML для ОС Аврора.
- Файл ru.auroraos.TinyPdfViewer.pro описывает структуру проекта для системы сборки qmake.
- Каталог icons содержит иконки приложения для поддерживаемых разрешений экрана.
- Каталог qml содержит исходный код на QML и ресурсы интерфейса пользователя.
- Каталог cover содержит реализации обложек приложения.
- Каталог icons содержит дополнительные иконки интерфейса пользователя.
- Каталог pages содержит страницы приложения.
- Файл ru.auroraos.TinyPdfViewer.qml предоставляет реализацию окна приложения.
- Каталог rpm содержит настройки сборки rpm-пакета.
- Файл ru.auroraos.TinyPdfViewer.spec используется инструментом rpmbuild.
- Каталог src содержит исходный код на C++.
- Файл main.cpp является точкой входа в приложение.
- Каталог translations содержит файлы перевода интерфейса пользователя.
- Файл ru.auroraos.TinyPdfViewer.desktop определяет отображение и параметры запуска приложения.
Совместимость
Проект совместим с актуальными версиями ОС Аврора.
Поток работы приложения
-
FilesModel предоставляет модель списка PDF-файлов, хранящихся на устройстве. Страница FilesPage использует SilicaListView для отображения этих файлов.
-
Список PDF-файлов - это результат выполнения DBus-запроса Tracker3 . Вызов DBus-запроса Tracker3 выполняется в TrackerQueryWorker.
-
DBusAdaptor реализует DBus-сервис для открытия PDF-файлов по внешнему запросу. Адаптер активирует сигнал fileOpenRequested в ответ на активацию DBus-метода openFile. Сигнал активирует Application и отправляет путь к файлу на страницу FilesPage.
-
ContentPage использует qml-тип PdfView из плагина ru.omp.amberpdf для отображения содержимого PDF-документа. Этот плагин может отображать PDF-документ в горизонтальной и вертикальной ориентации, рисовать аннотации, заметки. PdfView поддерживает быструю прокрутку, навигацию, закладки, заметки. Он прост в использовании и рекомендуется к применению в ваших приложениях.