Commit graph

136 commits

Author SHA1 Message Date
YiFang Xiao 0dc0c015c7 opt: use seperate slob dictionary object to create the fulltext
🎨 apply clang-format changes
2023-07-12 21:14:57 +08:00
YiFang Xiao 40c890b5ca opt: boost slob fulltext speed
and reduce the impact to normal query when create slob fulltext index

🎨 apply clang-format changes
2023-07-12 20:57:02 +08:00
YiFang Xiao 568efee4c7 fix: unicode regex option support 2023-07-09 18:10:30 +08:00
xiaoyifang aeb98e2e57
Merge pull request #935 from xiaoyifang/fix/stardict-syn
opt: limit the number of stardict's extra synonym (from `.syn`) searching
2023-07-08 10:44:18 +08:00
YiFang Xiao 9ca02a1e23 opt: stardict's findHeadwordsForSynonym method does not seem necessary
🎨 apply clang-format changes

🎨 apply clang-format changes
2023-07-08 00:25:30 +08:00
YiFang Xiao 764ebdde35 fix: sounddir dictionary sound file name
🎨 apply clang-format changes
2023-07-07 21:40:38 +08:00
YiFang Xiao 9bbb23e5d4 fix: when search hypen alone will result too much unnecessary result.
fix #928
2023-07-06 15:24:01 +08:00
YiFang Xiao e971d2be67 opt: dsl target url 2023-07-01 14:08:48 +08:00
shenleban tongying fa27f32146
clean: unify how data added to dataRequestInstant 2023-06-24 17:36:10 -04:00
xiaoyifang 5d3f1a3e3d
Merge pull request #899 from shenlebantongying/datareq_append_str
clean: unify DataRequest string data appends
2023-06-24 14:28:01 +08:00
shenleban tongying e06606ba3c
clean: unify DataRequest string data appends 2023-06-23 12:23:32 -04:00
YiFang Xiao f909413caa fix: code smells 2023-06-23 09:28:35 +08:00
YiFang Xiao 3b935e7660 fix: possible null object
refactor: group widget currentindex logic
2023-06-22 21:30:30 +08:00
xiaoyifang 04a58d6418
opt: dsl remove useless method and refactor langcodes logic (#889)
* opt: dsl remove useless method and refactor langcodes logic

* 🎨 apply clang-format changes

* opt: remove useless code

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-06-21 20:47:49 +08:00
shenleban tongying 4432de9d50
clean: remove duplicated exCantReadFile definitions
Obviously, it is a result of copy-paste programming
2023-06-19 18:54:17 -04:00
shenleban tongying a76ef3dfdd
guard against null img for ZIM 2023-06-19 05:01:27 -04:00
shenleban tongying 1589e14b70
clean: remove redundant dictionaryNativeIcon
`dictionaryNativeIcon` was intended to access the original icon before none-square icons were transformed into squares.

`dictionaryNativeIcon` is only used in dictionaryBar, but according to the intention, it shouldn't.

In reality, `dictionaryNativeIcon` is almost always equal to `dictionaryIcon`.
2023-06-18 22:37:07 -04:00
shenleban tongying feda879a30
feat: load and display ZIM dictionary icon
* Original GD never tries to load zim format's icon
* This leverage the capability provided by libzim
2023-06-18 05:25:38 -04:00
xiaoyifang 16f853b68b
fix: qtimer release memory (#863)
* fix: memory leakage
2023-06-16 08:37:33 +08:00
YiFang Xiao 318e186215 fix: slob fullindex will freeze the preference dialog 2023-06-11 21:33:25 +08:00
YiFang Xiao 04ed15434e fix: remove duplicate logic 2023-06-09 21:36:12 +08:00
YiFang Xiao 6a7dd65728 fix: remove too old code logic
reasons:
1. if the replacement is important ,then the code should not care about the length (size() < 70)
2.  ' ' has been replaced with uC2A0 which is incorrect.  u00A0 is expected.
2023-06-09 19:53:34 +08:00
xiaoyifang 67ed24c61c
fix: support dsl dictionary utf encoding detection (#830)
* fix: support dsl dictionary utf encoding detection

* fix: code smells

* fix: code smells

* 🎨 apply clang-format changes

* fix: adjust linefeed

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-06-09 08:01:45 +08:00
YiFang Xiao eccc3eaf0f Revert "opt: mdx video url"
This reverts commit 2bd5194c91.

accidently merged.
2023-06-06 23:45:04 +08:00
YiFang Xiao c2ff1e804f QDomDocument changed the implementation of setContent 2023-06-06 15:37:47 +08:00
xiaoyifang 671427803a
fix: replace suggestion list with QCompleter (#808)
* fix: replace suggestionList with QCompleter


* 🎨 apply clang-format changes


* fix: code smells

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-06-05 21:22:20 +08:00
YiFang Xiao dcfee63b22 fix: wikipedia query parameter is incorrect 2023-06-05 20:58:04 +08:00
shenleban tongying b06c01beeb
fix: xdxf2html converter failed to parser xml due to &nbsp;
* xml don't have &nbsp;
* in Qt5, this is not a problem because QDomDocument::setContent will
 somehow accept it.
* in Qt6, this will be rejected
2023-06-04 07:38:14 -04:00
YiFang Xiao 29403f4263 fix: code smells
🎨 apply clang-format changes

fix: code smells

🎨 apply clang-format changes

🎨 apply clang-format changes
2023-06-03 14:07:41 +08:00
YiFang Xiao 1391a8fa7e fix: invalid data access of data field
bgl_babylon.cc

fix #770
2023-06-03 14:07:41 +08:00
YiFang Xiao 0c7d7ada21 fix: invalid data access of data field
bgl_babylon.cc

fix #768
2023-06-03 14:07:41 +08:00
YiFang Xiao 49c6ae7032 opt: iconv remove unused parameter
In GoldenDict, the application uses utf-8 as the default encoding. There should be no other use.
2023-06-03 14:07:18 +08:00
xiaoyifang 5899aa7c94
fix: highlight fts search result (#792)
* fix: highlight fts search result

* 🎨 apply clang-format changes

* remove accent/diacritic handler used in fts search

* header file adjustment

* fix: qt5.15 compile

* fix: code smell

use const reference variable

* fix: code smell

* fix: code smell

* fix: code smell

* fix: code smell

* 🎨 apply clang-format changes

* fix: code smells

🎨 apply clang-format changes

* opt: fix code smells

remove unused parameters from function `ftsIndexIsOldOrBad`

🎨 apply clang-format changes

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-06-03 08:29:19 +08:00
YiFang Xiao 2bd5194c91 opt: mdx video url 2023-06-02 21:47:48 +08:00
xiaoyifang 4147770f85
Opt: ftshelper refactor (#760)
* opt: remove useless ftshelper methods

🎨 apply clang-format changes

opt: slob use xapian as fulltext engine

🎨 apply clang-format changes

opt: refactor ftshelper

🎨 apply clang-format changes

* opt: refactor ftshelper

remove unused variabes and functions.

* 🎨 apply clang-format changes

* opt: refactor ftshelper

remove unused variabes and functions.

* opt: refactor ftshelper

remove unused variabes and functions.

🎨 apply clang-format changes

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-05-31 07:42:31 +08:00
shenleban tongying 0079cd2933 clean: remove unnecessary header includes
* remove all <QtGUI> which includes *everything* of Qt
* remove unused headers
2023-05-30 20:59:51 +08:00
YiFang Xiao 15e0fa087f opt: replace Mutex::Lock with QMutexLocker 2023-05-30 00:08:01 +08:00
xiaoyifang 4eb8374a35
opt: mdx fulltext lock seperated with normal search (#759)
* opt: refactor mdx fullindex creation

* opt: incremental fulltext creation logic change

* opt: incremental fulltext creation logic change

* opt: progress of fulltext creation logic

* opt: code smell

* fix: code smell

* fix: code smell

* fix: code smell

* fix: code smell

* fix: code smell

* 🎨 apply clang-format changes

* fix: code smell

* fix: code smell

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-05-29 00:01:21 +08:00
xiaoyifang 3858932ec4
feat!: add libzim dependency (#725)
* feat!: add libzim dependency

* 🎨 apply clang-format changes

* action: add libzim dependency to action

* feat!: change dependency folder

* action: add zim support

* feat!: add libzim support

* action: fix sonarcloud check

* doc: add libzim readme

* action: cmake build

* action: cmake check

* fix: code smell

* action: cmake check

* action: cmake on Macos

* action: cmake on Macos

* feat: use libzim to read title and description

* 🎨 apply clang-format changes

* feat: split zim file support

* feat: loadArticle refactor

* 🎨 apply clang-format changes

* 🎨 apply clang-format changes

* feat: update library and goldendict.pro

* 🎨 apply clang-format changes

* fix:word count

* 🎨 apply clang-format changes

* fix: video src url subsititue

* 🎨 apply clang-format changes

* zim: headword is not usually a valid

it is from title and url.

* fix: remove nested try catch

* zim: fix resource loading issue.

* 🎨 apply clang-format changes

* action: remove libao

* zim: process url

some old zim dictionary url does not contain namespace such as
/C/url

make the old and new zim dictionary's url consistent without the leading
../C/  etc.

* 🎨 apply clang-format changes

* zim: process url

remove leading dot and slash
such as ../-/assets  ,remove ../

* 🎨 apply clang-format changes

* zim: remove resourceIndex creation

use libzim to read the resource directly.

* zim: only iterate all the articles

* 🎨 apply clang-format changes

* fix: code smell

* 🎨 apply clang-format changes

* zim: refactor method to convert url to wstring

* 🎨 apply clang-format changes

* fix:code smell

* 🎨 apply clang-format changes

* zim: update windows dependencies

* zim: add mutex lock

* 🎨 apply clang-format changes

* fix: code smell

* 🎨 apply clang-format changes

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-27 12:12:16 +08:00
YiFang Xiao fe29fdddc1 opt: add command line option --no-tts
when specified, the speech tab in the sources dialog will be disabled.

close #747
2023-05-27 12:11:37 +08:00
xiaoyifang defc2447cf
opt: convert escape string to rawstring (#749)
* opt: convert escape string to rawstring

* 🎨 apply clang-format changes

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2023-05-27 00:27:50 +08:00
YiFang Xiao d3cf46e469 clean code 2023-05-23 19:40:37 +08:00
YiFang Xiao 8b1b2a1628 fix: possible dsl languageForId issue
🎨 apply clang-format changes

action: restrict to current repositroy

other people's repository has no permission to commit fix

fix: refactor langcoder method

🎨 apply clang-format changes

🎨 apply clang-format changes

🎨 apply clang-format changes

fix: code smell

🎨 apply clang-format changes

fix: adjust zlib link on Windows

fix: refactor langcoder structure
2023-05-23 19:03:25 +08:00
xiaoyifang f562b9bb5f
fix: lingua request error will lost a finish signal (#734)
* fix: lingua request error will lost a finish signal

* 🎨 apply clang-format changes

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-05-21 16:31:05 +08:00
shenleban tongying 23be164bbe fix: access optional without checking the existence 2023-05-21 16:30:19 +08:00
xiaoyifang 715512eda3
feat: allow to customize dictionary name (#722)
* feat: allow to customize dictionary name

* 🎨 apply clang-format changes

* fix: code smell

* feat: allow to set custom dictionary name

* 🎨 apply clang-format changes

* feat: add doc for customizing dictionary name

* 🎨 apply clang-format changes

* 🎨 apply clang-format changes

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-05-20 22:33:20 +08:00
xiaoyifang 39992d8284
fix: open epwing dictionary folder (#724)
* fix: open epwing dictionary folder

check whether the current path is dir already

* 🎨 apply clang-format changes

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-05-20 22:26:33 +08:00
xiaoyifang d174dc16ba
opt:remove non-xapian fulltext creation logic (#643)
* opt!:remove non-xapian fulltext creation logic

BREAKING CHANGE: after this PR, xapian package will have to installed
before the compilation. on Linux, this should be libxapian-dev package.

For common users: all created fulltext which is not created by xapian
before will be recreated using the new
engine.

* fix: remove old fulltext search ui

* 🎨 apply clang-format changes

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-05-17 22:29:56 +08:00
YiFang Xiao 5fdf672d53 fix: rename customtransliteration from .cpp to .cc 2023-05-15 04:52:09 -08:00
YiFang Xiao c40d04ec5e feat: add custom transliteration support
fix #661

i18n: add new translation entries
2023-05-14 06:32:13 -08:00
YiFang Xiao 9c22e7bb21 clean: remove useless comment 2023-05-09 06:16:41 +08:00
xiaoyifang f25bee96e5 fix:startdict parse html incorrect
stardict/xdxf use QDomDocument to parse the html. which result with incorrect html structure.
2023-05-09 06:16:41 +08:00
xiaoyifang c11cff46f0 opt:style changes 2023-05-09 06:16:41 +08:00
xiaoyifang eee71f6cdf opt: remove unneccessary translation and QString conversion 2023-05-08 00:31:21 +08:00
xiaoyifang bbec4685f8 fix:epwing navigation reference to invalid position 2023-05-05 08:24:00 +08:00
xiaoyifang cce633b2cc opt:refactor an implict string conversion to a purposeful name
fix #586
2023-04-30 13:45:11 +08:00
xiaoyifang 94759ffb58 opt: add group by metadata
close #612
2023-04-29 20:43:27 +08:00
xiaoyifang 50cf0a948e fix:epwing narrow font display incorrectly
fix goldendict/goldendict#1244
2023-04-29 20:28:06 +08:00
xiaoyifang cfe1a1c8c0 opt: simple case folding 2023-04-29 18:21:42 +08:00
xiaoyifang b0f35b4f14 opt: replace Folding::normalizeWhitespace with QString::simplified 2023-04-29 18:21:42 +08:00
xiaoyifang b8d4d49f54 opt: Folding::trimWhiteSpace refactor
add a new method which accept QString .
modern c++ style format
2023-04-29 18:21:42 +08:00
xiaoyifang 325c3fb0bb opt: replace qthreadpool with qfuture
relate #515
2023-04-29 18:08:39 +08:00
xiaoyifang dbe04db7f5 opt: move fsencoding to utils.hh(.cc)
after multi refactor ,the fsencoding only left two methods and has nothing to do with encoding . Base on this condition  ,move the method to utils
2023-04-29 00:56:22 +08:00
xiaoyifang ed4273e540 opt:refactor html:unescape method
close #579
2023-04-28 21:21:38 +08:00
xiaoyifang 12d9ae3ddb fix:stardict bword dictionary compatiblity
fix #567, some word is html encoded
2023-04-27 07:06:42 +08:00
xiaoyifang 3a52323f29 remove unnecessary string conversion 2023-04-25 08:28:40 +08:00
Xiao YiFang c2f856c074 opt: Sorting through the use of strings
there are many string conversion in the system .some of them can be avoided .
2023-04-24 15:11:40 +08:00
xiaoyifang 11ea4bc799 opt: remove country.cc(.hh)
this file is only used in forvo functionality.  As country flag is about to removed in future PR.
remove these two files first
2023-04-23 13:45:11 +08:00
xiaoyifang a810a56d0c opt: performance improve headword filter 2023-04-23 13:38:43 +08:00
xiaoyifang 72fca59a92 fix: headword dialog filter and export
the wildcard and regex filter does not work as expected.

fix #556
2023-04-23 13:38:43 +08:00
shenleban tongying a8c898192f feat(group): Auto Grouping by Dict' Containning Folder 2023-04-21 15:38:09 +08:00
shenleban tongying bb566013b6
fix: qmake build 2023-04-17 21:06:59 -04:00
shenleban tongying 03af31c6fc
refactor: move common/base/utils into /src/common/ 2023-04-17 20:41:47 -04:00
shenleban tongying 8b8ad5d23d
refactor: move all ui related files to /src/ui/ 2023-04-17 19:11:58 -04:00
shenleban tongying 94293f1ccc
refactor: move DICT dictd and mdict parser to /src/dict/ 2023-04-17 18:51:08 -04:00
shenleban tongying b1828a4f9b
refactor: move epwing files to src/dict 2023-04-17 18:36:29 -04:00
shenleban tongying 49d852087d
fix: linux qmake build 2023-04-17 18:18:28 -04:00
shenleban tongying 697b2f9cd1
refactor: move left over .cc/.hh files to src/ 2023-04-17 17:56:55 -04:00
shenleban tongying 7feb883408
refactor: move all dictionary parsers to /src/dict/
If a file contains `makeDictionaries` then it belongs to there
2023-04-17 16:55:34 -04:00
shenleban tongying 2f9f09bb9f
refactor: unify source extensions to .cc and .hh 2023-04-17 16:17:03 -04:00
shenleban tongying 540dda26ed cleanup: Replace all usages of qrcx://localhost with qrc://
The replacement command:
git grep -l 'qrcx://localhost' | xargs sed -i 's/qrcx:\/\/localhost/qrc:\/\//g'

The qrcx:// URL scheme was introduced in 2009 or earlier - it is present
in the first commit in GoldenDict's git history. Back then GoldenDict
supported Qt versions earlier than 4.6, in which
QWebSecurityOrigin::addLocalScheme() was introduced. Adding the qrc URL
scheme as local obsoletes the qrcx URL scheme. GoldenDict does not
compile against Qt versions earlier than 4.6, so there is no reason to
use this custom URL scheme anymore.

Co-authored-by:  Igor Kushnir <igorkuo@gmail.com>
2023-03-05 15:20:05 -05:00
xiaoyifang 954d6ffe06 fix:lingualibre cancel the request 2023-01-03 14:03:40 +08:00
shenlebantongying 43859df431 lingua: add " " to links 2022-12-29 04:11:34 -05:00
shenlebantongying 0d149337ca lingua: add " " to <a href= > 2022-12-29 04:02:57 -05:00
shenleban tongying f277af1a2e lingua: handle network errors
* set timeout to 3s
* get rid of reply with errors
2022-12-28 01:06:01 -05:00
shenlebantongying 6fc3684b0a
Add Lingua Libre support (#268)
* lingua: add a dummy dict

* lingua: working but output plain json as article

* lingua: add html audio plays

* lingua: fix qmake build

* fix: qmake on mac INCLUDEPATH

* lingua: add config ui to dict sources edit dialog

* lingua: add config logics

* lingua: use the configured iso language code to do query

* lingua: style polish
2022-12-24 22:42:40 +08:00