[Interest] [Development] Short/medium term evolution of the Assistant?
René J. V. Bertin
rjvbertin at gmail.com
Mon Nov 13 12:21:59 CET 2017
Kai Koehne wrote:
>> 1) make qttools depend on qtwebengine
---
I'm clearly not alone in thinking that QWE is serious overkill for documentation
browsing. I'd rather explore solutions that involve using a HTML-rendering
framework that's even leaner than QtWebkit in a "minimal" configuration. Khtml,
maybe? Possibly limiting the use of that framework to local documentation (from
qch files?) that can be considered vetted against potential security issues.
>> 2) make Assistant load a plugin that is provided by qtwebengine (and
>> qtwebkit)
Or any other suitable library. That'd work too.
> 3) Make assistant use the system browser.
>
>
> I've been wondering since a while how hard this would be - most platforms
> support embedding a browser in some way (see also Qt WebView). The obvious
> obstacle is that Qt Help / Qt Assistant right now serves the .html in memory,
> out of the .qch file. But we might as well just extract the .html as files,
> and work from there...
I've been thinking alone similar lines. I'm not aware that you can embed the
system browser on Mac (even Apple's own Safari) but in a way Safari is a wrapper
around the system copy of a more-or-less uptodate WebKit. I'm pretty certain MS
Windows has a similar framework in place (MSHTML as mentioned by Konstantin).
Those could probably be used in combination with Qt's support for native
windows. On Mac that'd still be using a framework that's way more powerful than
should be necessary, of course.
I had another idea: rather than embedding a browser into the Assistant, embed
the Assistant into the browser. It's more than likely that the user has a
browser running most of the time, and most browsers nowadays have support for
extensions. As far as I'm concerned the actual Qt Assistant as a standalone app
could be simplified to use only QTB, in that case.
A QtAssistant extension would
1. provide access to and manage the user's QCH collection
2. provide a UI comparable to the current Assistant GUI (sidebar containing
either the documentation sections or the glossary view with a search field)
3. hand off the selected, uncompressed HTML to the host application for
rendering.
4. extend the host browser's URI scheme with a qthelp: scheme
The unknown here (for me) is how easily extensions can depend on a given Qt
install and how complicated it would be to build it from source, and even to
what extent all browser extension "stores" would accept plugins that are built
on Qt. But maybe QCH access and collection support could be implemented purely
in QML (aka JS)?
More information about the Interest
mailing list