104 Commits

Author SHA1 Message Date
Matthieu Gautier
77c14ee497 Do not build kiwix-desktop with the console on windows. 2020-04-08 17:20:51 +02:00
Matthieu Gautier
c804cc5d3b Move the list of all languages in another file. 2020-04-08 11:53:10 +02:00
luddens
7251c89c7d Translation class 2020-04-07 15:37:53 +02:00
jetownfeve21
135baf48cd
new Find in page in a bottom bar (#347)
Zimview is now a container for the webview and the find in page bar
Add a F3 shortcut
ESC hides the search bar and the highlighting
2020-04-01 19:29:28 +02:00
Matthieu Gautier
62a2b57795 Use a global profile to handle to configure scheme handler and download.
We don't need to configure the (default) profile each time we create a
new web page.

Let's create a specific profile for the application and use it everywhere.

This is the profile who is responsible to :

- configure itself with the schemeHandler for "zim"
- handle the download (this probably fix a bug if a user close the page
  while a download associated to the page is running)
2020-03-11 16:13:34 +01:00
luddens
840e409cec bigger menu icon
apply a custom proxystyle for the menu widget to change the icon size
2020-01-28 11:29:09 +01:00
Matthieu Gautier
4ea267fd59 Display the console on windows.
This will help to debug issue as we will have access to log output.
This should be revert before doing the last release.
2020-01-15 17:17:54 +01:00
luddens
f52d79cca4 Add fullscreen mode for video
Based on this example https://doc.qt.io/qt-5/qtwebengine-webenginewidgets-videoplayer-example.html
2019-11-18 16:48:14 +01:00
luddens
175c46cddf settings page architecture 2019-11-01 15:59:17 +01:00
luddens
90b4ce1b19 add windows icon 2019-09-11 12:19:48 +02:00
Emmanuel Engelhart
743b49b6b2 Have to hardcode QMAKE_LUPDATE and QMAKE_LREALEASE, they might be otherwise undefined 2019-07-31 17:58:29 +02:00
luddens
785d2c72f3 kiwix-serve integration in kiwix-dekstop
Display the "local kiwix server" option in the menu
This option opens a Qdialog that have options to control the server (run, open
in browser, stop).
The KiwixServe::run() method use execvp to run the kiwix-serve binary.
2019-07-24 16:20:38 +02:00
Vitaly Zaitsev
2e6d5da1dc
Removed RPATH from compiled binaries.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2019-06-26 12:38:56 +02:00
luddens
b2c2004f72 new architecture for the remote library's update's request
Using Curl fct of the kiwix library is synchrone, so when the server accepts
the request but doesn't answer, the kiwix-desktop app is unresponsive.

To avoid that, this is a new architecture based on the Qt network request
management.

There is a new member in the contentmanager based on the new class
OpdsRequestManagerManager. It has two members : m_networkManager sends the
request and return a pointer stored in mp_reply which will receive the answer
of the request.

When the remote library has to be update, it calls
the doUpdate method. It checks if there already is a running request and
aborts it if yes. Then m_networkManager sends the
request and return a pointer stored in mp_reply which will receive the answer
of the request. The signal 'finished' of the mp_reply is connected to the slot
receiveContent. In this slot it checks if the signal 'finished' was emit
because of an abort, if not it reads and emit a signal bookChanged with the
content in parameter. This signal in connected in the ContentManager class
to the slot 'updateRemoteLibrary' which update the remote library member.
2019-05-02 16:15:55 +02:00
Matthieu Gautier
755ac40c04 Correctly set include path in CFLAGS and CXXFLAGS
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 #90
Fix kiwix/kiwix-build#260
2019-04-16 15:42:20 +02:00
luddens
7b49f08360 rename zim icon to "org.kiwix.desktop.x-zim"
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
2019-04-15 17:12:54 +02:00
luddens
3cc06729d9 fix zim icon
named the mime icon like the mimetype
and installed it with the .pro file used by qt
2019-04-15 17:12:54 +02:00
Matthieu Gautier
05c64e620d Make the selected item bold.
css style font doesn't work for item. So we have to inherit the
QListWidgetItem to redefine the `data` method.
2019-03-06 18:07:35 +01:00
Matthieu Gautier
a6bcef230a Fixup installation of metainfo file. 2019-01-29 13:37:58 +01:00
Matthieu Gautier
16e01bd0e1 Add zim mimetype support.
The will allow a user to simply "double click" on the zim file and
let org.kiwix.desktop being launch automatically.

Fix #99
2019-01-23 11:33:22 +01:00
Matthieu Gautier
e16b521840 The appdata file is named org.kiwix.desktop.appdata.xml.
Not `org.kiwix.desktop.metainfo.xml`.
2019-01-23 11:29:51 +01:00
Matthieu Gautier
98da59d62b Add a appdata file.
To comply with appstream.
2018-12-12 17:50:18 +01:00
Matthieu Gautier
caae4e8124 Rename the .desktop file to follow recommendation.
We should use the "reverse dns" name : org.kiwix.desktop.
2018-12-12 17:47:05 +01:00
Matthieu Gautier
b1b0c1d2c3 Add a basic support for bookmarks. 2018-12-02 16:10:35 +01:00
Matthieu Gautier
a7710fd3e3 Install icons on unix. 2018-11-26 19:24:41 +01:00
Matthieu Gautier
079497e74e Correctly install kiwix-desktop.desktop file on unix 2018-11-26 19:24:00 +01:00
Matthieu Gautier
5ca4d8903f Remove the requestInterceptor.
This is useless. It was use to rewrite http request to zim request and
have the custumUrlShemeHandler handle the request.

However, we now want to open http request in a external browser.
And it is already the case, the http requests are never intercepted.
2018-11-13 18:32:18 +01:00
Matthieu Gautier
5a6bafc8e1 Move style.css in another resources file.
It speed up compilation when we modify the style.
2018-10-26 13:42:05 +02:00
Matthieu Gautier
1022136697 Move the contentManagare sidebar into a specific widget. 2018-10-18 16:45:47 +02:00
Matthieu Gautier
300540d4b8 The sidebar must be under the tabbar.
The tabbar must use the whole length and must not be pushed out by the
sidebar.

So we need to split the tabwidget into a tabbar and a stackedWidget.
2018-10-18 16:44:27 +02:00
Matthieu Gautier
3410252837 Make the contentManager the only interface from C++ to js/html.
Move all methods used by contentManager html into the contentManager class.
We do not export anymore the kiwixapp, the library or the downloader.
As the downloader was use only to export the methods to html, we can
remove it (and use kiwix::Downloader).
2018-10-18 15:22:08 +02:00
Matthieu Gautier
7a83a1038d Handle downloading of remote books. 2018-10-17 11:16:57 +02:00
Matthieu Gautier
a6f8bbd6e5 Add a first version of the contentManager. 2018-10-17 11:00:09 +02:00
Matthieu Gautier
d294b16a12 Run lupdate and lrelease only on linux.
system cannot run on windows.
2018-09-05 17:54:00 +02:00
Thierry
594ec51110 Return of the maintenair 2018-09-04 17:52:02 +02:00
Thierry
75be2c9311 Partial functioning of translations 2018-09-04 17:51:20 +02:00
Thierry
b71fc67032 Added translation mechanism, and added French translation. 2018-09-04 17:51:20 +02:00
Matthieu Gautier
6097c0fe99 Implement search in page actions.
- Create a TOCSideBar (name TOC because it will also show TOC)
- Remove `FindNextAction` and `FindPreviousAction`. They are handle
  directly by a button in the sidebar.
2018-09-04 17:27:58 +02:00
Matthieu Gautier
48aa87fb48 Display the kiwix version in the about dialog. 2018-08-02 19:26:54 +02:00
Matthieu Gautier
76214e6f53 Add an about dialog. 2018-08-02 17:57:31 +02:00
Matthieu Gautier
07e80eefa5 Open external links in the system browser. 2018-07-27 18:33:59 +02:00
Matthieu Gautier
6f8b1ab7b4 Add a menu.
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.
2018-07-25 17:02:13 +02:00
Matthieu Gautier
ca309c0701 Implement search suggestion. 2018-07-19 18:43:27 +02:00
Matthieu Gautier
3e46893e2d Rename classes and files.
Mainly remove the `Kiwix` part in the name :
- KiwixSchemeHandler -> UrlSchemeHandler
- KiwixRequestInterceptor -> RequestInterceptor
- KiwixWebView -> WebView
- KTabWidget -> TabWidget
2018-07-19 15:30:03 +02:00
Matthieu Gautier
7b9968daee Move source files in src subdirectory. 2018-07-19 10:48:45 +02:00
Matthieu Gautier
81766be447 Allow user to open a link in a new tab.
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.
2018-07-18 17:57:59 +02:00
Matthieu Gautier
3c9c0a4d88 Display the system title bar. 2018-07-18 17:57:59 +02:00
Matthieu Gautier
6320a4e088 Remove DISTFILES from project
Files are already included in the project using kiwix.qrc.
So we don't need to handle them here.
2018-07-18 17:57:59 +02:00
Matthieu Gautier
e16a625f4c Use a custom tool bar.
We don't want a titlebar and we want a custom toolbar instead.
2018-07-18 17:57:59 +02:00
Matthieu Gautier
b1dbddf127 Add the icons as resources in the project. 2018-07-18 17:57:59 +02:00