Skip to content

Commit 9cc602e

Browse files
committed
Version 8.0 released
Full support for QtWebEngine since Qt 5.9.
1 parent 3d6ad39 commit 9cc602e

File tree

5 files changed

+136
-81
lines changed

5 files changed

+136
-81
lines changed

AUTHORS.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# Project Authors
2+
3+
[George Yunaev][1], the author of kchmviewer.
4+
5+
6+
## 3rd Party
7+
8+
- [Jed Wing][2], the author of [CHMLib][3].
9+
- [Razvan Cojocaru][4], the author of file `lib/libebook/bitfiddle.h`.
10+
11+
12+
## Patches
13+
14+
- [Zhong Jianxin][5].
15+
16+
17+
## Translations
18+
19+
| locale | translators |
20+
|--------|------------------------|
21+
| cs | Hynek Fabian|
22+
| de | Markus Müller|
23+
| fr | Sun Wukong|
24+
| hu | Csaba Zakarias|
25+
| it | Emilio Scalise|
26+
| nl | Rinse de Vries, Sander Pientka|
27+
| pt_BR | Márcio Moraes|
28+
| ru | Ivan Bobrov, George Yunaev|
29+
| sv | Daniel Nylander|
30+
| tr | Furkan Duman, Ozan Çağlayan|
31+
| uk | Yatsenko Alexandr|
32+
| zh_CN | 林俊, Henry Hu|
33+
| zh_TW | 林俊 |
34+
35+
36+
[1]: https://github.com/gyunaev "GitHub profile"
37+
[2]: https://github.com/jedwing "GitHub profile"
38+
[3]: http://www.jedrea.com/chmlib "Project page (not https)"
39+
[4]: https://github.com/rzvncj "GitHub profile"
40+
[5]: https://github.com/azuwis "GitHub profile"

BUILD.md

Lines changed: 65 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,83 @@
1-
# Build KchmViewer
1+
# Building KchmViewer
22

33
- [Dependencies and Tools](#dependencies-and-tools)
4-
- [Cmake options](#cmake-options)
5-
- [Debian](#debian)
4+
- [CMake options](#cmake-options)
5+
- [Qmake options](#qmake-options)
6+
- [Building in Debian](#building-in-debian)
67

78

89
## Dependencies and Tools
910

10-
- C++11 compiler
11-
- `cmake` or `qmake`
12-
- `git`
13-
- `libzip-dev`
14-
- SDK for `Qt4` or `Qt5` or `KDE4` or `KDE5`
11+
- C++11 compiler which is supported by the [Qt SDK][1].
12+
- Qt tools such as `moc` and the resource packer.
13+
- `CMake` or `Qmake` to generate the build scripts. For builds I recommend CMake, and Qmake is mainly used as a QtCreator project.
14+
- SDK for `Qt4`, `Qt5` or `KDE4`.
15+
- The [CHMLib][2] library and headers for developing applications.
16+
- The [libzip][3] library and headers for software development. When building this library from source you will need the [zlib][4] library.
17+
- [Git][5]
1518

16-
When building with Qt5, QtWebKit QtWebKitWidgets are required and this may be a problem for versions above 5.5.
1719

20+
## CMake options
1821

19-
## Cmake options
22+
- `FRAMEWORK=<Qt4 | Qt5 | KDE4>`, default is `Qt5`
23+
- `USE_STATIC_CHMLIB=<ON | OFF>`, default is `OFF`
24+
- `USE_WEBENGINE=<ON | OFF>`, default is `OFF`
25+
- `chmlib_ROOT=<path_to_chmlib>`
26+
- `libzip_ROOT=<path_to_libzip>`
27+
- `CMAKE_PREFIX_PATH=<path_to_qt>` is the path to the Qt development package if it is simply unpacked or builds without installation. In my case, Qt version 5.5 is in /home/user/Qt and I use `-DCMAKE_PREFIX_PATH=~/Qt/5.5/gcc`
2028

21-
- `-DQT4_ONLY=ON` to build without KDE, only with Qt4
22-
- `-DQT5_ONLY=ON` to build without KDE, only with Qt5
23-
- `-DCMAKE_PREFIX_PATH=path_to_qt` is the path to the Qt development package if it is simply unpacked without installation. In my case, Qt version 5.5 is in /home/user/Qt and I use `-DCMAKE_PREFIX_PATH=~/Qt/5.5/gcc/`
29+
For example, configure cmake to build which Qt 5.15 and WebEngine
30+
31+
```sh
32+
cmake -DCMAKE_PREFIX_PATH=~/Qt/5.15/gcc -DUSE_WEBENGINE=ON ../
33+
```
34+
35+
36+
## Qmake options
37+
38+
- `USE_STATIC_CHMLIB=1` if defined, use static chmlib from git submodule.
39+
- `USE_WEBENGINE=1` if defined, use QtWebEngine.
40+
- `CHMLIB_ROOT=<path_to_chmlib>`
41+
- `LIBZIP_ROOT=<path_to_libzip>`
42+
43+
44+
## Building in Debian
45+
46+
In deb-based GNU/Linux you need the following packages and their dependencies:
47+
48+
- `build-essential` `cmake` `git`
49+
- `libzip-dev` `libchm-dev`
50+
- `qt5-default`
51+
- `libqt5webkit5-dev` or `qtwebengine5-dev`
2452

2553

26-
## Debian
54+
### Build with WebKit
2755

2856
```sh
29-
apt install build-essential cmake git libzip-dev
30-
git clone https://github.com/gyunaev/kchmviewer
57+
apt install build-essential cmake git libzip-dev libchm-dev qt5-default libqt5webkit5-dev
58+
git clone --recursive https://github.com/u-235/kchmviewer
3159
cd kchmviewer
60+
git checkout v8.0
3261
mkdir build
3362
cd build
34-
# run cmake
35-
cmake ../ && cmake --build . -j3
36-
# or qmake
37-
qmake ../ && make -j3
63+
cmake ../ && cmake --build .
3864
```
65+
66+
67+
### Build with WebEngine
68+
69+
```sh
70+
apt install build-essential cmake git libzip-dev libchm-dev qt5-default qtwebengine5-dev
71+
git clone --recursive https://github.com/u-235/kchmviewer
72+
cd kchmviewer
73+
git checkout v8.0
74+
mkdir build
75+
cd build
76+
cmake -DUSE_WEBENGINE=ON ../ && cmake --build .
77+
```
78+
79+
[1]: https://doc.qt.io/qt-5/supported-platforms.html
80+
[2]: https://github.com/jedwing/CHMLib
81+
[3]: https://github.com/nih-at/libzip
82+
[4]: https://github.com/madler/zlib
83+
[5]: https://git-scm.com/ "Home page"

ChangeLog

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
2021-09-20 u-235 <[email protected]>
2+
- Version 8.0 released
3+
- Full support for QtWebEngine since Qt 5.9.
4+
5+
2021-06-04 u-235 <[email protected]>
6+
- Preparations for version 8.0 have been completed
7+
8+
2021-06-02 u-235 <[email protected]>
9+
- Added the Zhong Jianxin patch
10+
111
2016-10-05 tim <[email protected]>
212
- Version 7.7 released (there were no 7.6)
313
- Windows build now uses Qt 5.5 and VS2013; both 32-bit and 64-bit Windows versions are released

README.md

Lines changed: 19 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,36 @@
11
# KchmViewer
22

3+
This is a fork of the [kchmviewer](http://www.ulduzsoft.com/linux/kchmviewer) with some improvements.
4+
35
- [Overview](#overview)
6+
- [What's new](#whats-new)
47
- [Features](#features)
5-
- [Installations](#installations)
6-
- [Qt-only version](#qt-only-version)
7-
- [KDE4 version](#kde4-version)
8-
- [Usage](#Usage)
9-
- [Bug reporting](#bug-reporting)
8+
- [Getting KchmViewer](#getting-kchmviewer)
9+
- [Usage](#usage)
1010
- [Thanks](#thanks)
1111
- [License](#license)
1212

1313

1414
## Overview
1515

16-
KchmViewer is a chm (MS HTML help file format) viewer, written in C++. Unlike most existing CHM viewers for Unix, it uses Trolltech Qt widget library, and does not depend on KDE or GNOME. It has full KDE4 support.
16+
KchmViewer is a chm (MS HTML help file format) and epub viewer, written in C++. Unlike most existing CHM viewers for Unix, it uses Trolltech Qt widget library, and does not depend on KDE or GNOME. It has full KDE4 support.
1717

1818
The main advantage of KchmViewer is extended support for non-English languages. Unlike others, KchmViewer in most cases correctly detects chm file encoding, correctly shows tables of context of Russian, Korean, Chinese and Japanese help files. It also correctly searches text in non-English help files, including Korean, Chinese and Japanese.
1919

20-
KchmViewer is written by [Georgy Yunaev](mailto:[email protected]), and is licensed under GNU GPL license.
20+
KchmViewer is written by [Georgy Yunaev](https://github.com/gyunaev), and is licensed under GNU GPL license version 3.
21+
22+
23+
## What's new
24+
25+
- Full support for QtWebEngine since Qt 5.9, including the ability to change page encoding.
26+
- When building an application, it is possible to choose HTML engine: QtWebKit or QtWebEngine.
2127

2228

2329
## Features
2430

2531
- Standalone viewer, depends on Qt4 or Qt5 only. Does not require KDE, GNOME or wxWidgets toolkit.
26-
- Could be optionally built with KDE4 or KDE5 support, using KHTML and KDE dialogs.
27-
- Completely safe and harmless. Does not support JavaScript in any way, optionally warns you before opening an external web page, or switching to another help file.
32+
- Could be optionally built with KDE4 or KDE5 support, using KDE dialogs.
33+
- Completely safe and harmless. JavaScript can be disabled in the settings, optionally warns you before opening an external web page, or switching to another help file.
2834
- Correctly detects and shows encoding of any valid chm file.
2935
- Correctly shows non-English chm files, including Cyrillic, Chinese, Japanese and others.
3036
- Correctly searches in non-English chm files using chm built-in search index.
@@ -39,52 +45,11 @@ KchmViewer is written by [Georgy Yunaev](mailto:[email protected]), and is l
3945
- Has complex search query support. You can use search queries like "lazy people" +learn -not.
4046

4147

42-
## Installations
43-
44-
>Build with `Cmake` now supports both KDE and standalone versions. Refer to [BUILD.md](BUILD.md)</br>
45-
>Also the `chmlib` library is included in the sources and therefore does not require an installed package with it.
46-
47-
Usually KchmViewer is distributed in source code archive, so you need to compile it first. It requires Qt version 4.4 or higher. Note that you need to install `qt4-devel` and `qt4-tools` packages (the last one might be included in `qt4-devel` in your distribution), not just qt package.
48-
49-
~~Also make sure you have `chmlib-devel` (some distros have it as `libchm-devel`) package installed. KDE build will check for its presence, but qmake does not have necessary functionality to do so. If you are getting errors regarding missing `chm_lib.h` file this means `chmlib-devel` is not installed.~~
48+
## Getting KchmViewer
5049

50+
The application is currently distributed in source code and you need to build it on your computer. This will not take long.
5151

52-
### Qt-only version
53-
54-
To compile Qt-only version of KchmViewer, follow the procedure:
55-
56-
```
57-
tar zxf kchmviewer-<version>.tar.gz
58-
cd kchmviewer-<version>
59-
qmake
60-
make
61-
```
62-
63-
The compiled binary is in bin/kchmviewer. You could copy it somewhere, or use it as-is. It does not require installation.
64-
65-
If `QtWebKit` module is not found, you will get the following error:
66-
67-
```
68-
kchmviewwindow_qtwebkit.h:25:21: error: QWebView: No such file or directory
69-
```
70-
71-
then you need to install the `QtWebKit` module.
72-
73-
74-
### KDE4 version
75-
76-
To compile the version of KchmViewer with KDE4 support, follow the procedure:
77-
78-
```
79-
tar zxf kchmviewer-<version>.tar.gz
80-
mkdir build
81-
cd build
82-
cmake ..
83-
make
84-
sudo make install
85-
```
86-
87-
For KDE version the installation is required, since the KHTML KIO slave cannot be used in place.
52+
Go to the [build instructions page](BUILD.md).
8853

8954

9055
## Usage
@@ -98,16 +63,11 @@ kchmviewer mychmfile.chm
9863
for the rest of command-line options, see kchmviewer --help
9964

10065

101-
## Bug reporting
102-
103-
Please use [email protected] for bug reporting.
104-
105-
10666
## Thanks
10767

10868
Thanks to:
10969

110-
- [Jed Wing](https://github.com/jedwing), the author of [chmlib](http://www.jedrea.com/chmlib/). This library is used by kchmviewer to access chm content.
70+
- [Jed Wing](https://github.com/jedwing), the author of [CHMLib](http://www.jedrea.com/chmlib/). This library is used by kchmviewer to access chm content.
11171
- [Razvan Cojocaru](https://github.com/rzvncj), the author of [xCHM](https://xchm.sourceforge.io/). I used some ideas and chm processing code from xCHM.
11272
- Peter Volkov for various bug reports and improvement suggestions.
11373
- All the users, who report bugs, and suggest features. You help making kchmviewer better.

src/version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
#ifndef INCLUDE_VERSION_H
2020
#define INCLUDE_VERSION_H
2121

22-
#define APP_VERSION_MAJOR 7
23-
#define APP_VERSION_MINOR 7
22+
#define APP_VERSION_MAJOR 8
23+
#define APP_VERSION_MINOR 0
2424

2525
#endif /* INCLUDE_VERSION_H */

0 commit comments

Comments
 (0)