viktor-zin / afce

Flowchart editor
GNU General Public License v3.0
61 stars 23 forks source link

Не работает справка в linux #14

Closed glixx closed 10 years ago

glixx commented 10 years ago

На данный момент справка в linux устанавливается чёрт знает куда, кроме того к документации doc она отношения не имеет, по сути это файлы, с которыми непосредственно работает программа, это help. Кроме того, во всех дистрибутивах пути для doc разные, и они определяются макросами при сборке пакетов, что приводит к необходимости патчить код под каждый дистрибутив. Поэтому, правильно ставить ее в каталог с программой. На данный момент в каталоге с программой /usr/share/afce пусто - кроме .qm файлов ничего нет. Предлагаю переименовать папку doc в help в исходниках и устанавливать ее в /usr/share/afce/help. Патч для linux, под windows не делал:

diff -ur afce-0.9.6-git20140808.orig/thelpwindow.cpp afce-0.9.6-git20140808/thelpwindow.cpp
--- afce-0.9.6-git20140808.orig/thelpwindow.cpp 2014-08-08 20:07:32.000000000 +0400
+++ afce-0.9.6-git20140808/thelpwindow.cpp  2014-08-08 22:22:56.000000000 +0400
@@ -30,7 +30,7 @@
   widget()->setLayout(vl);
   textBrowser->setSearchPaths(QStringList() << "./doc/"+QLocale::system().name() << "./doc/en_US");
 #ifdef Q_WS_X11
-  textBrowser->setSearchPaths(QStringList() << "/usr/share/doc/packages/afce");
+  textBrowser->setSearchPaths(QStringList() << "/usr/share/afce/help/"+QLocale::system().name() << "/usr/share/afce/help/en_US");
 #endif

   home();
glixx commented 10 years ago

Вот более универсальный патч и под qt4, и под qt5:

diff -ur afce-0.9.6-git20140808.orig/thelpwindow.cpp afce-0.9.6-git20140808/thelpwindow.cpp
--- afce-0.9.6-git20140808.orig/thelpwindow.cpp 2014-08-08 22:50:16.000000000 +0400
+++ afce-0.9.6-git20140808/thelpwindow.cpp  2014-08-08 23:58:00.000000000 +0400
@@ -29,8 +29,8 @@
   vl->addWidget(textBrowser);
   widget()->setLayout(vl);
   textBrowser->setSearchPaths(QStringList() << "./doc/"+QLocale::system().name() << "./doc/en_US");
-#ifdef Q_WS_X11
-  textBrowser->setSearchPaths(QStringList() << "/usr/share/doc/packages/afce");
+#if defined(Q_WS_X11) or defined(Q_OS_LINUX)
+  textBrowser->setSearchPaths(QStringList() << "/usr/share/afce/help/"+QLocale::system().name() << "/usr/share/afce/help/en_US");
 #endif

   home();
viktor-zin commented 10 years ago

Да, пожалуй, так будет лучше.

glixx commented 10 years ago

Забыли переименовать doc в help и внести изменения в код s/doc/help/

glixx commented 10 years ago

Исправлено.