All action of the menu are created but none is associated with an action.
Actions needed for the alpha are disabled.
Actions not needed for the alpha are hidden.
Mainly remove the `Kiwix` part in the name :
- KiwixSchemeHandler -> UrlSchemeHandler
- KiwixRequestInterceptor -> RequestInterceptor
- KiwixWebView -> WebView
- KTabWidget -> TabWidget
Properly set the icon of the tab when the favicon of the KiwixWebView
is updated.
By default, the icon of QWebEngineView is updated from the favicon set
in the html. But it sometime it is not set.
So we need to load the icon from the zim file, so we have to react
to urlChanged signal, to load the icon when the url's host (the zim file)
changes.
The `titleChanged` signal is emitted twice:
- At beggining of loading with the Url of the page.
- Once the parsing is done and the `<title></title>` html tag has been
found.
When a user <Ctrl+LeftClick> or <MiddleClick> on a link, `QWebEngineView`
try to open a new window using the `createWindow` method.
By overloading it, we can create our own tab as we want.
This is the first step to handling several zim file at the same time.
- The Library class is used has a handler mapping zimId to kiwix::Reader.
- The KiwixWebView display url of the form : "zim://<zimId>.zim/path".
- The KiwixSchemeHandler uses the host (containing the zimid) to get
the reader from the library and serve the content.
We cannot create a static binary because we cannot build QtWebEngine
statically.
So the static config, should only be used to define if we are linking
to the dynamic or static kiwix-lib.
It seems that there are request in the form
"blob://foo.zim/<uuid>".
I don't know where it come from, we cannot handle it and even Qt is parsing
it wrongly (scheme and host are empty, path is the full url request).
By using a string to handle the url, it is simpler to change "http://" to
"zim://".
This is a first "more than alpha" version of kiwix-desktop.
It takes a zim as command line argument and open it.
There is no navigation button, and the adresse bar is read only.
It crashes if no zim is given on the command line.