add a column at the book's list's table with "delete" button. This ui
is temporary.
On click, this button sends the id of the selected book at the
ContentManager class which gets book by this id, and erases all files
in relationship with this book on the computer.
It appears that setting `INCLUDEPATH` in qmake break things.
Because qmake add the include path using `-isystem`.
We don't need to extract include path and define from PKGCONFIG_CFLAGS.
Updating `CFLAGS` and `CXXFLAGS` is enough. No need for complex things.
Fix#90Fixkiwix/kiwix-build#260
flatpack doesn't export files that aren't prefixed like the app (org.kiwix.desktop)
so it has to be renamed and to be precised in the mimetype.xml file because it doesn't matched to the mimetype's name anymore
When a new file is downloaded, it extracts tags from xml to set m_book's taglist
rm useless 'emit(booksChanged())'
'emit(filterParamsChanged())' calls 'updateLibrary()' that calls 'emit(booksChanged())'
We need to remove the child widget from the stackWidget before we remove
the tab. Else the onCurrentChanged will try to get the widget of the new
tab and if the tab and the stack are not in sync, we may get the wrong
widget.
As `closeTab` remove the widget from the stack we don't need to remove
it again in listen of `CloseTabAction`.
When there is a lot of book it can take some time to display all books.
Even more, when displaying ALL books, I face the kiwix-desktop freezing.
So let's display only 20 books and if the user scroll to the end of
the displayed books, display 20 more books.
The limits is made at rendering, this allow us to not change all the
logic behind (request, filtering, ...)
The current list of available language is a fixed list.
It is generated by the union of languages we have (on library.kiwix.org)
and languages Qt know of. So some languages for which we have content
are not available.
For now, the filtering is made only for remote catalog.
This probably have to be changed, but for now it is better to
display all the content the user has.