![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
xwicked |
![]() ![]()
Сообщение
#1
|
![]() Студент ![]() Группа: Участник Сообщений: 66 Регистрация: 2.8.2011 Из: Старый Оскол Пользователь №: 2781 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте! Вот вторая моя программа, написанная на C++(Qt). Выношу на обсуждение её и исходник - 0.0.7.
Ссылка на SourceForge.net. Код под GNU GPL v2 - OpenSource. Она предназначена для создания электронных книг, с централизованным хранением в базе данных SQLite3. Этот код публикуется впервые. Его не было нигде, включая репозиторий программ Sisyphus от дистрибутива AltLinux. Там был только Клёст-кроссворд(0.1.9, 0.2.0). Комментируем Windows-версия. Описание: Страница книги представляет собой одну переменную QString Page. Текст книги отображается в компоненте QTextEdit TextBook. Текст в компоненте TextBook имеет форматирование документа HTML. Поэтому редактирование текста страницы осуществляется редактированием html-кода. Стандартное сохранение идёт в базу данных. Но есть и возможность экспорта в файл. Изображения хранятся, как в обычной html-странице - отдельно от текста в папке "temp". В тексте указывается путь. При загрузке книги - во всех страницах происходит перезапись тегов изображения "<img src=": Это актуально для переносимой версии. В этом случае необходимо будет поменять строку: на Пароль книги хранится в открытом виде в переменной QString Password.Список страниц хранится в списке строк QStringList ListPages. Изображения хранятся в массиве QByteArray ListImages[255]. Здесь видно, что изображений на всю книгу 255. Сохранение в базу происходит обычными SQL-запросами:
|
|
|
![]() |
xwicked |
![]() ![]()
Сообщение
#2
|
![]() Студент ![]() Группа: Участник Сообщений: 66 Регистрация: 2.8.2011 Из: Старый Оскол Пользователь №: 2781 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте!
В этой версии я сделал одно важное изменение, на которое хотел бы обратить Ваше особое внимание. Это функция "int slotChangeFont()". Там я копирую в переменную QString sText всё выделение: Потом заменяю все вхождения модификаторов шрифта: "font-family:", "font-size:", "font-style:", "font-weight:" на значения из диалога шрифта.Так вот, там должен быть способ в одну единственную строчку. Я даже нашёл его - записал в свою амбарную тетрадь, а сейчас найти не могу sad.gif . Прошу помочь в нахождении этого способа, так как "int slotChangeFont()" занимает не много не мало, аж 195 строк(!). Буду благодарен. Исходный код + сборки. Что изменилось: Цитата - Добавлены значки "Oxygen", распространяемые по лицензии GNU GPL;
- При редактировании шрифта, он изменяется теперь, не для всего текста страницы, а по частям(словам, предложениям, абзацами и т. д.); - Улучшен импорт HTML-документов, включая копирование изображений, которые преобразуются в формат PNG; - Изменена стандартная панель - добавлены несколько новых действий; - Добавлена панель редактирования, в которой продублированы действия из меню "Редактирование", для более удобной работы. - Счётчик страниц переместился со стандартной панели в строку состояния. |
|
|
xwicked |
![]() ![]()
Сообщение
#3
|
![]() Студент ![]() Группа: Участник Сообщений: 66 Регистрация: 2.8.2011 Из: Старый Оскол Пользователь №: 2781 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
... Вот он:Так вот, там должен быть способ в одну единственную строчку. Я даже нашёл его ... --------------------------В версии 0.1.2, была реализована возможность добавления в базу данных библиотеки произвольной информации, в виде ссылок на отдельные файлы. Что представляет собой достаточно хорошее улучшение, так как преподавателю можно будет совершать меньше движений, при создании учебника. Эта возможность позволит не только сократить время создания учебника, но и послужит отличным расширением возможностей программы, при использовании материалов, содержащихся в отдельных ссылках на файлы, как дополнение к создаваемому учебнику. Например, к книге о художнике, можно будет хранить галерею с изображениями(его работами) в разделе "Фотографии". Все изменения: Цитата - Появилась возможность добавления дополнительной информации произвольного содержания, в виде ссылок на отдельные файлы; Исходник + сборки. Дабы быть уверенным в том, что файлы не побились, при закачке, я добавил текстовик с md5-контрольными суммами.- Добавлена возможность выбора пользователем варианта сохранения книги с паролем или без него; - Добавлена защита режима редактирования программы отдельным паролем, с возможностью его будущего изменения; - Добавлена возможность сохранения состояния показа инструментальных панелей после выхода из программы; - Исправлена ошибка отсутствия изображений, при импорте книги из формата XWB; - Исправлена ошибка неэкспортирования в форматы XWB, HTML, импортированной книги; - Исправлена ошибка отсутствия расширения .txt, когда оно явно не указано, при экспорте в текстовый формат. Git-репозиторий: Цитата git://klen-library.git.sourceforge.net/gitroot/klen-library/klen-library (read-only)
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 17.2.2025, 14:46 |