The Qt Assistant development team would like to announce the immediate availability
of a source tarball containing the compat version of Qt Assistant.
This version has served well for a couple of years, starting from Qt 3.x, and
was actively maintained and developed till Qt 4.4. We now removed the source from the
upcoming Qt 4.7 release, though we noticed that there are still dependencies from
certain applications on this old version. To be able to use them without much hassle,
we made the source compiling with all recent Qt versions and put it here:
ftp://ftp.qt.nokia.com/qt/source/qt-assistant-qassistantclient-library-compat-src-4.6.3.tar.gz
Commenting for this post has ended.
The tarball is missing the translations for the assistantadp executable (the translations/assistantadp_*.ts files from the Qt 4.4-4.6 tarballs).
The tarball is also missing the mkspecs/features/assistant.prf file which is required to build apps which use QT += assistant in their QMake .pro files.
The license files referenced in the license header (LICENSE.LGPL, LGPL_EXCEPTION.txt and LICENSE.GPL3) are also missing from the tarball.
May I know why Qt Assistant is removed from the upcoming Qt 4.7? Thanks.
@simpleit: Qt Assistant is not being removed, this is the compat version of Qt Assistant - assistant_adp - which was there to provide compatibility with the Qt 3 version of Qt Assistant in case that had been used for showing your own customized documentation. The main Qt Assistant is still available as part of the Qt package.
@simpleit: Assistant is not removed, but replaced by a new implementation. This blog post is about the availability of the old version, which is still in use in some projects.
A Qt user that doesn't use the Qt assistant "embedding" libraries directly should not see any difference.
@Andy & @Harald: Thanks for your quick clarification. I love Qt Assistant and use it within Qt Creator too.
I never understood why you replaced the perfectly good "old" Qt Assistant with a new one.
1) I found the new Qt Assistant slower and generally worse than the old one. In fact, I kept using the Qt 4.3 assistant for a long time after 4.4 and 4.5 were released just so that I could avoid the slow new Qt Assistant.
2) The new Qt Assistant is encumbered by LGPL, even for someone who has bought a commercial license for Qt. I can't quite understand why we (commercial users) are paying for Qt Software to replace commercial components with LGPL components that we can't even use...
> Assistant is not removed, but replaced by a new implementation.
And the new implementation is upper crap. Sorry for this harsh remark. The new one is almost unusable. Especially when your eyes are less then perfect and you enlarge the font. Layout bugs wherever you look.
Here is an example of what I rant about:
http://i233.photobucket.com...
If this is how Qt will be 'improved' in the future.....
@Guido Seifert This has nothing to do with 'new vs. old assistant'. These are merely the new doc styles for 4.7 which still need some improvement.
@Daniel Molkentin
True, but IMHO somewhat irrelevant. This is what I see, when I start 'assistant' in 4.7.
But I know what you mean. This thread is deals not with the usage of the assistant as display program for the Qt docs, but as general application's help tool. Still, when I tried 4.7 on Saturday I was (and still am) horrified when I saw the new docs and thought that even if this thread is not a perfect fit, it might be close enough. ;-)
following Kevin comments:
- qassistantclient library fails to build: qassistantclient.h:49:49: error: QtAssistant/qassistantclient_global.h: No such file or directory
- QtAssistantClient.pc isn't generated
- install target are non-existent
Fathi Boudra, builds for me without any problems using 4.7 under Gentoo/64bit.
Where is the place to submit bugs and patches for Qt Assistant compat ?
> Fathi Boudra, builds for me without any problems using 4.7 under Gentoo/64bit.
It builds fine if you have a QtAssistant/qassistantclient_global.h already installed on the system. This is not the case on a stock Qt 4.7 install, which is also what a distro is going to have in its buildroot.
My current qt-assistant-adp compat package is built from the whole Qt 4.6.2 tarball using this:
build assistant_adp
cd tools/assistant/compat
qmake-qt4 QTSOURCETREE=../../.. QTPRODUCT=OpenSource
make %{?smp_mflags}
build libQtAssistantClient
cd lib
qmake-qt4 QTSOURCETREE=../../../.. QTBUILDTREE=../../../..
CONFIG=createprl QMAKECXXFLAGS=-I../../../../include
make %{?smpmflags}
but the include directory has been omitted from this compat tarball entirely. This needs to be fixed, e.g. by changing the #include statement in the source code.
For the .pc file, try adding CONFIG=createprl to your qmake-qt4 line. (The .pc file is generated in the same step which generates the .prl files.) But there should be a CONFIG+=createprl somewhere in the .pro files.
For the install, in my original compat package, I've just done it by hand, so I can do the same again here, but indeed, that should be handled in the .pro files.
I fixed the build system and uploaded packages built from the provided tarball.
You can find my patch here: http://git.debian.org/?p=pk...
I'm sorry to ask what is probably a simple question, but how does one build this? I need to run qtiplot (which looks for libQtAssitantClient.so.4), and am hoping that this package would do the trick under qt4.7. But I can't figure out how to build it. Thanks for any help you can provide!
Using http://git.debian.org/?p=pk... these are the only files it installed;
/usr
/usr/bin/assistant_adp
/usr/share
/usr/share/doc
/usr/share/doc/qt-assistant
/usr/share/doc/qt-assistant/docuparser.cpp
/usr/share/doc/qt-assistant/docuparser.h
/usr/share/doc/qt-assistant/docuparser.o
thanks, fabo, for your patches
if anyone is interested, the freebsd ports i've just made (still in testing) describe the steps required to build both the packages:
http://area51.pcbsd.org/tru...
http://area51.pcbsd.org/tru...
I wish to know why a nice abstraction is being taken away, and we now have to deal with the underlying stuff ?
I kinda liked having to create an instance of QAssistantClient and not much more, now I have to create a QProcess, deal with the different platforms (as shown in the remote control example that the QAssistantClient links to) and basically re-create a QAssitantClient equivalent by myself.
WTF ?