Название: chm2qch: Конвертер CHM -> QCH Отправлено: mitrich от Январь 05, 2017, 20:02 Вот, навалял конвертер файлов справки СHM (Windows compiled HTML Help) в QCH (Qt Compressed Help), чтобы смотреть их в Creator/Assistant.
https://bitbucket.org/mitrich_k/chm2qch/ Сборка как обычно, qmake + make, внешних зависимостей кроме Qt >= 5.2 нет. Пример использования: chm2qch -g HelpFile.chm - распакует в текущий каталог содержимое CHM, создаст файл проекта HelpFile.qhp и вызовет qhelpgenerator для генерации собственно HelpFile.qch Опции:
Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: panAlexey от Январь 05, 2017, 20:25 Сборка как обычно, qmake + make, внешних зависимостей кроме Qt >= 5.2 нет. эх :(Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: mitrich от Январь 05, 2017, 20:45 Из 5-й там только QCommandLinerParser в main() используется, можно и выкинуть в принципе. Потом может какой дефайн сделаю для 4-ки.
Хотя, к чёрту дефайны :) Присобачил подправленный QCommandLineParser для Qt 4. Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: panAlexey от Январь 15, 2017, 15:03 Есть проблема *.qhp распаковывается в UTF-8 без конвертации.
прилагаю файлы. Фишка в том, что если кодировка отличается от 1251 в chm, то в окне "поиска" и "избранном" идут кракозябры или не срабатывает поиск. ПС. Умудрился поставить на win xp 2010 студию. и Qt5.2.1 попробую сам порихтовать. Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: mitrich от Январь 16, 2017, 15:52 Это я не в том месте кодировку проверял. Исправил, сейчас читается из раздела системной инфы.
Бинарник пока не выложил, ещё кой-какую фигню поправлю. Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: panAlexey от Январь 16, 2017, 16:29 Есть еще одна проблема.
Программа не находит профиль Qt на компьютере, если он напрямую не указан в PATH. У меня на компе след профили Qt: 473, 485, 521 и 551 мингва. Соотв. в PATH ничего не указано. Может стоит брать путь к профилю из настроек креатора? ПС. Ну или хотябы дать возможность указать путь к толчейну. Настройки креатора тут: %HOMEPATH%\Application Data\QtProject\qtcreator\qtversion.xml Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: mitrich от Январь 16, 2017, 17:52 Сделаю. У меня просто основной профиль Qt в PATH прописан, так я и забыл про это.
Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: mitrich от Январь 18, 2017, 18:51 Может стоит брать путь к профилю из настроек креатора? Сделал автонахождение директории Qt + возможность задать самому (ключ -qtbindir= и комбобокс в GUI)ПС. Ну или хотябы дать возможность указать путь к толчейну. Заодно нашёл и исправил маленький (опечатка в 3 символа) но жирный баг: вместо правильных ключевых слов в индексе, туда просто копировалось содержание. Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: panAlexey от Январь 18, 2017, 21:55 Круто! Благодарю.
Еще одно неудобство: "застревает" вычисленное пространство имен где-то в переменных. Приходится открывать/закрывать конвертер для конвертирования следующейго файла. Это видно, когда в ассистанте добавляешь новый файл Меню->Правка->Настройки->Документация->[Добавить] От кракозябр полностью не избавились, но уже полегче. Кракозябры идут в самом корне. Конвертировал эти файлы. (https://yadi.sk/d/s_HaqQ9O39horN) Выглядит это вот так: (http://s019.radikal.ru/i636/1701/8a/8afbca8bd460.png) Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: panAlexey от Январь 19, 2017, 00:01 Может стоит брать путь к профилю из настроек креатора? Сделал автонахождение директории Qt + возможность задать самому (ключ -qtbindir= и комбобокс в GUI)ПС. Ну или хотябы дать возможность указать путь к толчейну. Заодно нашёл и исправил маленький (опечатка в 3 символа) но жирный баг: вместо правильных ключевых слов в индексе, туда просто копировалось содержание. Ну, на самом деле когда пакую chm у меня не доходит дело до индексов. Дело обстоит так: собираю корневой index.html, натаскиваю нужных страниц из интета, запускаю скрипт для удаления скриптов и прочей бодяги из html, запускаю скрипт генерации *.hhc (TOC файла (Table of Contents). ) и скармливаю это все генератору хелпа. ПС. Скажите, а что позволяет использовать такие конструкции в c++ "{qhpname}"?? Код: bool Converter::runQhg(const QString &qhpname) Код: QStringList li; li.append(qhpname); Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: kambala от Январь 19, 2017, 00:45 это initializer_list из C++11
Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: mitrich от Январь 19, 2017, 12:58 Кракозябры идут в самом корне. Исправил. "застревает" вычисленное пространство имен где-то в переменных. Не обнаружил. Возможно, я это исправил до твоего сообщения.Название: Re: chm2qch: Конвертер CHM -> QCH Отправлено: panAlexey от Январь 19, 2017, 14:45 Кракозябры идут в самом корне. Исправил. "застревает" вычисленное пространство имен где-то в переменных. Не обнаружил. Возможно, я это исправил до твоего сообщения.ПС. Для меня chm2qch - эта программа просто спасение в плане разработки, теперь могу не тратить кучу времени на поиск нужного часто используемого файла справки, а просто открыть ассистант и выбрать нужный пункт. Примите мою благодарность! |