010 Editor – Fix not showing help file

... Or how to re-register a help file for Qt Assistant

010 Editor is my favorite multiplatform HEX Editor, but the current Version (7.0.2 by the time of writing) seems to have a problem with the help system on my machine (Kubuntu running xfce). Fortunately, 010 Editor is using the Qt Assistant help system for displaying his help, so I was able to fix the problem by myself.

Analyzing the problem

First, I checked the command line 010 Editor is issuing to show the help system. To do this, first show the process ID of the running assistant. We will need it for the next step.

> ps -A | grep assistant

Afterwards, I checked the command line used to display Qt Assistant:

> cd /proc/[id]/
> cat cmdline

Which is in my case:

/home/mib/Tools/010Editor7/assistant -collectionFile /home/mib/Tools/010Editor7/010Editor.qhc -enableRemoteControl

As said before 010 Editor is written in Qt and Qt Assistant stores his help configuration in an SQLite database:

> cd home/mib/Tools/010Editor7
> file 010Editor.qhc
010Editor.qhc: SQLite 3.x database

Re-register the help file for Qt assistant

If you check the assistant tool, you will find some helpful commands to register a new help file:

> ./assistant -help
Usage: assistant [Options]

-collectionFile file       Uses the specified collection
                           file instead of the default one
-showUrl url               Shows the document with the
-enableRemoteControl       Enables Assistant to be
                           remotely controlled.
-show widget               Shows the specified dockwidget
                           which can be contents, index,
                           bookmarks or search.
-activate widget           Activates the specified dockwidget
                           which can be contents, index,
                           bookmarks or search.
-hide widget               Hides the specified dockwidget
                           which can be contents, index
                           bookmarks or search.
-register helpFile         Registers the specified help file
                           (.qch) in the given collection
-unregister helpFile       Unregisters the specified help file
                           (.qch) from the give collection
-setCurrentFilter filter   Set the filter as the active filter.
-remove-search-index       Removes the full text search index.
-rebuild-search-index      Re-builds the full text search index (potentially slow).
-quiet                     Does not display any error or
                           status message.
-help                      Displays this help.

But to register an already registered file we have to delete the old information from the Database. To do this, I use DB Browser for SQLite.

-> DB Browser for SQLite -> 010Editor -> Browse Data -> NameSpace Table ->Delete the Namespace Record

Then call:

/home/mib/Tools/010Editor7/assistant -collectionFile /home/mib/Tools/010Editor7/010Editor.qhc -register /home/mib/Tools/010Editor7/010Editor.qch

That's it :-)