116 Commits

Author SHA1 Message Date
Adam Lamar
72f973774a Fixes for Qt 6.4.3 on Windows 2024-12-19 22:04:12 -07:00
Emmanuel Engelhart
f53ef3b4aa
Bump-up version to 2.4.1 2024-12-19 18:49:02 +01:00
Adam Lamar
25c1f8c73b Add oracular to the build matrix 2024-12-18 15:32:08 -07:00
Emmanuel Engelhart
8e75387ea6
Bump-up version to 2.4.0 2024-12-10 20:54:13 +01:00
Nikhil Tanwar
3eeb14ed44 KiwixConfirmBox is now KiwixMessageBox
It started as a simple yes/no box but is now being used as an InfoBox,
ConfirmBox and a customized MessageBox (in further commits) - this
sounds better!
2024-12-08 14:10:24 +04:00
ShaopengLin
e3106ea566 Disable TTS If No Such QT Module
Some systems or QT versions might not have or the module is not available.
2024-11-15 02:51:33 -05:00
ShaopengLin
29bbc44b58 Introduce texttospeechbar.ui
Added the bar at bottom of webpage. Intoduced the stop speaking button.
2024-11-15 01:33:17 -05:00
ShaopengLin
b858c0d664 Introduce texttospeechbar.{h,cpp}
Basic Reading of Articles or Selected Texts.
2024-11-15 01:33:00 -05:00
ShaopengLin
7d9efd5d6b Enter tableofcontentbar.{h,cpp,ui}
Re-enabled ToggleTOCAction to display the bar.
2024-11-13 20:10:17 +01:00
ShaopengLin
2b33686d40 Introduce KiwixWebChannelObject.{h, cpp}
Add channel to communicate between web page and Qt
2024-11-13 20:10:17 +01:00
ShaopengLin
02e213920c Introduce QWebEngine Javascript Infrastructure
Setup for header anchor injection
2024-11-13 20:10:17 +01:00
rgaudin
2939dc7d47
Updating App Icons
New version of the App Icon: Instead of the black Kiwix bird on transparent (or white)
background, this new version is a lightly-rounded square with a white to grey gradient
that serves as a background for a black Kiwix bird on top.
The main goal of this change is for the icon to be clearly visible on any background;
given OS now support dark/light and custom modes.
I looks quite similar to the iOSmacOS and the Android icons.

In addition, those are now properly resized to all the existing sizes plus a new 512 size.

A new custom Icon for ZIM files is also included and declared for all sizes.
This seems not to be in use or broken but at least the new file is there.
It's a (macOS style) blank document (corner-folded paper) with the black bird on top
with the ZIM label at the bottom
2024-11-13 11:02:59 +00:00
ShaopengLin
95ccd7602c Introduce MultiZim Search Button
User can search zim other than the current tab.
2024-11-04 10:16:13 +01:00
ShaopengLin
134be31c67 Custom Paint Suggestion Icon&Text Spacing
Qt does not provide css style or API for modifying icon and text spacing in QTreeView. This is a long issue in buttons as well, as Qt draws icon and texts instead of having them as widgets that can be applied styles.
2024-10-25 12:11:13 -04:00
ShaopengLin
c5f4c4df88 Introduce src/css_constants.h
Effort to reduce css value dependency
2024-10-23 15:42:13 -04:00
ShaopengLin
6e1e0b8c60 Introduce suggestionlistmodel.{h, cpp}
Allow future customizing of suggestions.
2024-10-21 14:16:15 -04:00
sgourdas
10f3f5cfbb Fix network share launch popup 2024-09-23 16:46:28 +00:00
Veloman Yunkan
482e4c6dfd Fixed CI build
In CI build, dependencies are put in the build install location rather than
in the system libs directory, hence that path must be included in the
search for shared libraries.

The problem seems to have been triggered by recent change in the
libkiwix.pc pkg-config file which resulted in the version of some
of libkiwix dependencies (recorded in libkiwix.so) being bumped up.
As a result, previous/older versions of those dependencies embedded in
the CI build docker image
(ghcr.io/kiwix/kiwix-build_ci_focal:2024-06-03) no longer matched the
requirements of libkiwix.so, whereas the up-to-date versions of those
dependencies (that are downloaded during each build procedure) were not
used because they were not in the search path.
2024-09-23 17:59:13 +04:00
Veloman Yunkan
268363f2fd libkiwix now identifies itself as libkiwix 2024-09-23 17:59:13 +04:00
Emmanuel Engelhart
67ba3d059d
Requires libkiwix14+ 2024-09-01 16:07:09 +02:00
Matthieu Gautier
55b058d10e Fix static linking on Windows
On Windows, static libraries are using "foo.lib" naming.
On Unix, they are in the form of "libfoo.a"
On Windows, "foo.lib" can also the definition of symbols in a foo.dll.
So you can link to "foo.lib", whatever you are doing static or dynamic linking and you are good.
However, meson is always creating static library as "libfoo.a"
'to avoid a potential name clash with shared libraries which also generate import libraries with a lib suffix.' [1]
On top of that, qmake is replacing all `-lfoo` in LIBS by `foo.lib` (on Windows).
So at the end, we try to link with `foo.lib` but we have `libfoo.a`
Solution could be :
- Rename `libfoo.a` to `foo.lib`, but it would mean modify deps libraries on the FS
- Don't use LIBS and directly set QMAKE_LFLAGS but we would have to handle different command line option format
  between g++/clang and msvc
- Update meson build system of each projet to explicitly set the library naming.
- Replace `-lfoo` with absolute path to static library. This is what meson is doing internally and what
  we are doing here

Any `-lfoo` is replace with absolute path to static library (`libfoo.a`) if we found one.
Else, it is keep unchanged.

[1] https://mesonbuild.com/Reference-manual_functions.html#library_name_suffix
2024-08-22 10:53:33 +02:00
Matthieu Gautier
adb948756b Link with User32 library on Windows 2024-08-21 10:40:48 +02:00
Veloman Yunkan
c245a5669a Enter downloadmanagement.{h,cpp}
Moved DownloadInfo and DownloadState into new files
downloadmanagement.{h,cpp}.
2024-07-19 07:12:43 +02:00
Matthieu Gautier
d896c17096 Remove -Werror on Windozs.
`-Werror` make compilation fails on Windows.
2024-04-15 10:22:41 +02:00
sgourdas
54a3f2596c Use CONFIG nostrip on WSL due to illegal strips 2024-04-07 20:23:58 +02:00
Adam Lamar
fc67c0d76c Fix warnings and enable Werror 2024-04-01 15:46:59 +00:00
Adam Lamar
d842a288f7 Initial Qt6 support 2024-03-01 22:12:06 +00:00
Emmanuel Engelhart
ae32843574 New libzim/libkiwix version reqs. in kiwix-desktop.pro 2024-02-27 20:13:22 +01:00
Emmanuel Engelhart
aeaa570786
Requires libkiwix13 2023-11-19 14:26:34 +01:00
Nikhil Tanwar
b3a0542ba7 Navigate through choices using up,down keys
This change allows one to navigate through the choices using up and down arrow keys from keyboard
Enter/Return key can be pressed to select the current item
2023-10-04 16:53:04 +02:00
Nikhil Tanwar
e6cb442dc6 New widget: KiwixChoiceBox
This change adds a new widget called KiwixChoiceBox
The design inspiration is taken from here: https://harvesthq.github.io/chosen/#multiple-select
setType() takes a string to put on the label
We can add possible choices using the setSelections() method
2023-10-04 16:53:04 +02:00
Matthieu Gautier
fd46760c27 Move to c++17.
All our compilers should handle c++17. Let's move on.
2023-09-29 10:45:39 +02:00
Nikhil Tanwar
5da7609cde So long, static_content.h/cpp
Removed references to static_content, now that it has been replaced by libkiwix API
2023-08-02 18:11:24 +05:30
Nikhil Tanwar
bf1c317f10 Split view nodes into RowNode and DescriptionNode
Splitted the views into RowNode and DescriptionNode for consistency
RowNode represents one row with thumbnail, name, data, size, etc.
DescriptionNode shows the description
2023-07-31 20:03:56 +05:30
Nikhil Tanwar
797aceebbe Hide sort indicator for icons column, put it on left for other columns
created ContentManagerHeader, inherited from QHeaderView, to implement not showing the sort indicator for first column.
Changed sort indicator position to left of text
2023-07-31 20:00:53 +05:30
Nikhil Tanwar
3abb4b4b4c Loader widget is shown while catalog is being downloaded
Added a new widget (KiwixLoader) which is displayed when the catalog is being downloaded.
2023-07-28 17:45:13 +05:30
Nikhil Tanwar
d90158b789 Confirmation dialog box for delete book and cancel download
Added a new custom dialog box for confirmations.
Currently, it popups when a book is deleted or a download has to be cancelled
2023-07-28 17:43:10 +05:30
Nikhil Tanwar
ff5f022cd6 Icon downloader util for all files view
Added an icon downloader to display icons for remote library.
While the icons are being downloaded, a placeholder icon is shown.
2023-07-28 17:41:15 +05:30
Nikhil Tanwar
20f082f73b Search books function
Added a search book function in the library
2023-07-28 17:13:56 +05:30
Nikhil Tanwar
1f33d86340 Delegate for ContentManagerView
Added a new delegate to style the view.
Added the following things:
1. Button styling and click to open book
2. Increased size of rows
2023-07-28 17:03:11 +05:30
Nikhil Tanwar
e5c8a31ec0 Basic model implemented for TreeView
This implements a basic model for QTreeModel
Currently, it only shows 1 row with some random data.
In future commits, data from ContentManager::getBookInfos will be taken
2023-07-24 13:24:16 +05:30
Matthieu Gautier
7cd4a027db New version 2.3.1
* Fix the AppImage packaging. Now published AppImages work correctly on recent
   distrubution (@mgautierfr #905)
 * Improve zim file picker (@kelson42 #886)
 * Do not show ServiceWorker zim file from the remote catalog (@kelson42 #887)
2022-11-30 18:05:57 +01:00
Matthieu Gautier
df7f657a61 New version 2.3.0 2022-09-07 16:58:35 +02:00
Matthieu Gautier
0629251ad2 Use last version of libzim (8.0.0) 2022-09-07 16:58:13 +02:00
Matthieu Gautier
69a7277354 New version 2.2.2 2022-06-22 15:51:54 +02:00
Matthieu Gautier
b6934d707b kiwix-desktop now need libkiwix >= 11.0.0 2022-06-16 14:39:21 +02:00
Matthieu Gautier
b692debeab New version 2.2.1 2022-03-11 17:16:00 +01:00
Matthieu Gautier
27bd61c62f New version 2.2.0 2022-03-04 16:39:08 +01:00
Vitaly Zaitsev
e9855d7aeb
Fixed SVG icon installation.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
2022-02-02 18:47:40 +01:00
Matthieu Gautier
8dc1984f0b Check for the version of kiwix and libzim. 2022-01-20 14:38:59 +01:00