MyRuLib Bugs

Материал из LinTest Wiki
Перейти к: навигация, поиск

Содержание

Parsing XML

FAXPP_Parser *parser = FAXPP_create_parser(NO_CHECKS_PARSE_MODE, FAXPP_utf8_transcoder);
FAXPP_set_normalize_attrs(parser, 1); 		
FAXPP_set_decode(parser, decode);

Транслитерация

xgettext -CFnj -k_ -o locale/ru.po *.cpp *.h

Дизайн программы

Стандартные иконки для действий GTK Stock Items [1] [2]

  • Для иконок "иерархия авторов и серий" и "простой список" - можно использовать иконки раздела actions format-ident-more и format-justify-fill соответственно (используются в текстовых редакторах, например).
  • После применения фильтра надо пересчитывать коллекцию и показывать правильное количество книг в автора (это же в сериях). Если книг, которые подходят под фильтр, нет - не показывать автора вообще.

Сверхкомпактный интерфейс

MyRuLib whex.png

Расшифровка

"Отображение: Автор" - замена "справочникам" и вкладкам

Пиктограммы (слева направо):

  • Добавить (книгу/книги)
  • Сохранить (отмеченную/отмеченные)
  • Экспорт всей коллекции
  • Режим редактирования коллекции
  • Менеджер загрузок
  • "Избранное" - рейтинг книг, которым пользователь назначил оценку
  • (далее может быть календарь, что бы он из себя не представлял, и прочие нововведения)
  • Настройки программы
  • Фильтр (для навигации и поиска по большим коллекциям)

Панели:

Слева, узкая панель - "Оглавление", Список первых букв имеющихся авторов (или серий), вместо существующей панели с кнопками. В качестве особенности - подсчет авторов в категории, отображение категорий, в состав которых входят авторы. (Например, нету у меня авторов с фамилией, начинающейся на Ы :lol: )

Следующая панель - древовидная структура категории (со сворачивающимися ветвями. По умолчанию - все свернуто.) При переключении в режим редактирования - развернутое дерево с чекбоксами. Третья панель - собственно, предпросмотр книги.


Использование openSUSE Build Service

Интеграция с библиотекой Флибуста

Конвертация описаний авторов и аннотаций

  • xBB — написанная на PHP библиотека для работы с BBCode.

Использование стандартных объектов

WxDataViewTreeCtrl.png

TestDataViewCtrl.png

Test DataView Win.png

Просмотрщики для разных форматов

Устанавливаем типовые просмотрщики для разных форматов

sudo aptitude install chmsee fbreader evince-gtk djview4 djvulibre-bin

Прописываем меню «Сервис -> Настройки -> Типы файлов» соответствие:

Тип Программа
chm chmsee
fb2 fbreader
txt fbreader
oeb fbreader
epub fbreader
pdf evince-gtk
djvu djview4

Компиляция для MacOS используя Cygwin

http://www.iphoneapps.ru/?p=1804

Максимально статическая сборка

$ ../configure --with-gtk --enable-unicode --disable-shared --with-expat=builtin --with-libjpeg=builtin --with-libpng=builtin --with-zlib=builtin --without-regex --without-tiff
$ ldd myrulib

Соавторы

Ещё одна важная функция напрашивается - у авторов сделать "синонимы" - а то они в разных книгах слегка по разному могут быть представлены н.п. у меня есть : Атоми Беркем Аль, Атоми Беркем аль и Беркем Аль Атоми или Вартанов Степан и Вартанов Степан Сергеевич. По идее автоматом должны работать синонимы для больших и маленьких букв и ,желательно, для отчество и без него.

Есть конечно вопрос с соавторами - братья Стругацкие, Вайнеры или Л.и Е. Лукины - тут как лучше даже не знаю - но в случае с "синонимом" пользователь уже сможет сам как ни будь разобраться.

Импорт в библиотеку произвольных файлов

Была бы очень полезной фича добавлять в коллекцию не только файлы Fb2, но и pdf, djvu...

  1. Для этого при добавлении необходим диалог описания свойств файла (жанр, автор, название, серия, год...).
  2. Для исключения дубликатов, может имеет смысл добавить функцию поиска (удаления?) файла-дубликата.
  3. Имеет смысл удаления (либо экпорт в спец.файл списка файлов, подлежащих удалению для последующего преобразования в скрипт) ненужных пользователю книг. Для возможности большей "заточки" библиотеки "под себя".
  4. Было бы крайне желательно в "жанры" добавить редактируемую ветку, например "дополнительно" +... Куда по желанию пользователь MyRuLib сможет добавлять более детальную информацию о жанре. Например более узкая отдельная тематика "Квантовая физика" и пр. Имеются в виду не Fb2 файлы.

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

Иначе просто получается гигантская помойка, разобраться в которой не поможет ни один билиотекарь. Тем более, что в "науке" можно встретить произведения далеко не научного плана. Это же относится и к другим жанрам. Эти предложения позволят навести порядок в библиотеке, избавиться от лишнего (дубликатов и ненужных пользователю книг), то есть произвести настройку библиотеки под свои непосредственные нужды.

Замечания ALEXEY-SOFT

  • Если в колонке "Автор" и "Серия" указанно кол-во книг , то почему бы не сделать то же самое для колонки "Жанры".
  • Программа очень часто вылетает. Последний раз вылетела когда я хотел выделить с помощью Ctrl несколько авторов, для того чтобы их удалить. Несколько раз вылетала при добавлении книг.
  • Не понял как мне вывести книги на языках отличных от русского. Например я хочу удалить из библиотеки все книги на английском языке. Поиск не даёт нужного результата. Вообщем в строке поиска необходим фильтр с выбором языка.
  • Жму вкладку "Нучная фантастика", программа зависает на некоторое время и не понятно что происходит. Нужен прогресс-бар. Результат в статус баре 5000книг, а должно быль более 20 000 .Далее щелкаю "Фэтази"-результат то же 5000 книг. То есть там где книг должно быть гораздо больше-везде показывает 5000 книг. Что это за ограничение?
  • Если на какое-то время зажать клавишу "Вниз" или "ВВерх" при скролинге списка, то с аннотациями и обложками творится что-то непонятное. Приходится даже прогу перезапускать. С колонкой "Жанры" проблем вообще очень много.
  • На заливку в программу чуть более 120 000 книг ушло очень много времени-более 4 часов и это плохой результат, по сравнению например с MyHomeLib(в неё такое же кол-во меньше чем 1 час заливается).

Планируемые доработки программы

  • Переход между всеми элементами формы при помощи табулятора (окна для поиска и деревья книг).
  • Переделать компонент wxTreeListCtrl: рекурсивная пометка книг, ширина колонок и пр.
  • Поддержка zip-файлов размером более 2 Gb для Windows.
  • Компиляция wxWidgets с опциями: RUNTIME_LIBS=static, _LARGE_FILES, wxHAS_HUGE_FILES
  • Возможность экспорта всех выбранных книг одного автора в один общий zip-файл.
  • При компиляции отвязать wxWidgets от библиотеки `GLIBCXX_3.4.9'.

Ошибки в программе

  • Не работают горячие клавиши на вкладке "Авторы" при первом ее открытии.
  • Если во время продолжительного импорта покликать где-нибудь по списку книг/авторов, то через некоторое время сканирование вылетает с ошибкой.

Компонент wxTreeListCtrl

Скачивание файлов

Иконки файлов

  • wxTheMimeTypesManager
  • wxWidgets/samples/console
  • wxWidgets/samples/exec

Иконки файлов в GNOME

Иконки файлов в Windows

Поиск по ключевым словам: IQueryAssociations::GetString, ASSOCSTR_DEFAULTICON, "shlwapi.dll", AssocQueryString.

Сборка пакета DEB

Сборка пакета RPM

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты
Проекты