Нашей задачей было создание приложения, направленного на чтение электронных книг, различных форматов, при этом предоставляя пользователю возможность настроить процесс чтения на удобную для него волну.
Проект имеет стандартную структуру для приложения основанного на C++, QML и Aurora OS.
- ru.auroraos.eBooksReader.pro файл описывает структуру проекта для его сборки, используя утилиту для сборки приложения - qmake.
- icons директория, содержащая иконки приложений для различных разрешений экрана.
- qml директория, содержащая исходный код QML и ресурсы пользовательского интерфейса.
- cover директория, содержащая варианты, обложек приложения.
- icons директория, содержащая дополнительные иконки для интерфейса.
- pages директория, содержащая страницы приложения.
- ru.auroraos.eBooksReader.qml файл, который представляет собой реализацию окна приложения.
- rpm директория, содержащая настройка сборки rpm-пакета.
- ru.auroraos.eBooksReader.spec файл, использующийся инструментом rpmbuild
- src директория, содержащая исходники C++ кода.
- translations директория содержит файлы перевода пользовательского интерфейса.
- ru.auroraos.eBooksReader.desktop файл, определяющий как файл будет отображаться и его параметры для запуска приложения.
Проект совместим с версией Aurora 5.0.0.60-base и новее.
- При запуске приложения, подгружается страница MainPage.qml
- После полной загрузки страницы MainPage.qml, срабатывает метод listFiles, класса FileReader.
- После возвращается список файлов, расположенных в директории ~/Documents/ и уже исходя из длины этого списка, генерируется нужное количество записей, необходимых для отображения книг на книжной полке.
- Далее при долгом нажатии на запись, появляется выпадающее меню, в котором можно, выбрав пункт - "Открыть книгу", перейти на страницу TextPage.qml.
- Одновременно с открытием страницы, происходит считывание файла с книгой, по индексу 0 и вывод этой книги в элемент Text. При этом происходит обработка всех тегов и пагинация страниц.
- На странице TextPage.qml, пользователь может перелистывать страницы книги и увеличивать или уменьшать размер шрифта, а также выйти обратно, на главный экран, смахнув вправо или нажав на нужную для этого кнопку