Hi,

I am prepared to do some work on Qt Assistant, and I'd like to know how that will be received.

Qt Assistant officially only renders content with QTextBrowser currently, which is too limited for many of us[1]. There are still traces of greater WebKit times, but that code remains unused after WebKit was dropped from Qt. There have been talks about WebKit making a return[2], but it has been quiet on that front for some time. There has been an initiative for using WebEngine as an alternative, which mostly works[3]. However, that patch assumes the WebEngine build to have completed when Assistant is being built, which is not the case in a clean checkout. To resolve this dependency order problem, it has been suggested in its review to redo WebEngine support as a plugin to Assistant.

I have been looking into the plugin idea, and although it is not straight forward I think it is doable. Some larger refactoring is needed to achieve a clean border between Assistant and the viewer plugin interface. My goal is to eliminate calls from the viewer plugin back into the Assistant application, which would otherwise require some classes to be in a common shared library. I can implement the QTextBrowser based viewer in a plugin that is statically linked, so that Assistant will work out of the box whether it is being deployed with or without WebEngine. Plugins can be selected based on priority.

Having the viewer back end be separated from the application with a plugin interface may be an advantage regardless, whether WebKit comes back or WebEngine is being removed from the Qt distribution in the future. At least users will have a possibility to replace the default viewer with whatever alternative is available.

Does this sound like a good idea?

Thanks,
Bastiaan Veelo

[1] https://bugreports.qt.io/browse/QTBUG-55866
[2] https://forum.qt.io/topic/102816/webkit-status-2019
[3] https://codereview.qt-project.org/#/c/111559/

_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to