Commit graph

834 commits

Author SHA1 Message Date
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 ded97deb9a
Merge pull request #789 from xiaoyifang/fix/code-smells
fix: code smells
2023-06-01 21:15:43 +08:00
xiaoyifang b7edc8ed2d 🎨 apply clang-format changes 2023-06-01 11:53:45 +00:00
YiFang Xiao 002f7a02f7 fix: code smells
refactor the disabledType string build
2023-06-01 19:52:16 +08:00
xiaoyifang eefdba23ae
Merge pull request #787 from shenlebantongying/cmake_polish
cmake: polishments to be officially used
2023-06-01 14:07:58 +08:00
shenleban tongying 0c75d4f399
cmake: updates
* add USE_SYSTEM_FMT & USE_SYSTEM_TOML
* switch back to libeb
2023-06-01 01:28:45 -04:00
YiFang Xiao 978fd3ba81 opt: slob dictionary does not display goldendict headword 2023-06-01 10:55:40 +08:00
xiaoyifang c7f773c12b
Merge pull request #776 from shenlebantongying/better_defaults
Tweak some defaults
2023-05-31 18:42:55 +08:00
shenleban tongying 7f994112b7
fix: send to mainwindow got empty word
a regression due to Input Phase change: if word is sent to
mainwindow, then definition->getWord() would be empty
2023-05-31 04:17:16 -04:00
shenleban tongying d72a8540d4
feat: tweak some defaults
* enable DSL's alwaysExpandOptionalParts by default
* enable both wikipedia & wikitionary by default
* disable hotkey for macOS by default (they have troubles in new macOS)
* update default websites, remove ones that no long accessible
* add default DictD protocal server
2023-05-30 23:54:43 -04:00
shenleban tongying b7f0e5448b
fix: modern style's .gddictname 2023-05-30 21:22:08 -04: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 6823254bac clean: solve a TODO about translateInputFinished 2023-05-31 07:26:43 +08:00
shenleban tongying 6c7bb05f35 clean: convert SLOT translateInputFinished to new syntax 2023-05-31 07:26:43 +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
shenleban tongying 0b746ef8eb
Revise how word is getting passed (#736)
* fix: remove InputPhrase

* opt: remove unnecessary InputPhrase

* fix: assignment issue

* fix: add handleInputWord back

* fix: does not need to trim punc

---------

Co-authored-by: YiFang Xiao <yifang.xiao@foxmail.com>
2023-05-29 00:01:54 +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 966b477b26 🎨 apply clang-format changes 2023-05-28 15:50:08 +08:00
YiFang Xiao cfec24f4bb opt: use auto and for range in building index 2023-05-28 15:50:08 +08:00
YiFang Xiao 2cbcab16ba fix: switch dictionary should change the headwords in the dialog
fix #752
2023-05-27 23:53:16 +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
xiaoyifang 6567e1583f
fix: langcoder trigger a crash (#746)
* fix: langcoder trigger a crash

* 🎨 apply clang-format changes

* fix: move static delcaration into the class

* Update langcoder.hh

* fix: refactor code in langcoder

* 🎨 apply clang-format changes

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: YiFang Xiao <yifang.xiao@noreply.com>
2023-05-26 23:55:33 +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
YiFang Xiao a8b6fbc754 opt: make the searchPanel can resize to a smaller width
🎨 apply clang-format changes

opt: make the searchPanel can resize to a smaller width

🎨 apply clang-format changes

fix:remove group label in docker
2023-05-23 19:03:21 +08:00
YiFang Xiao 5188ebd646 opt: add extra check about the existence of metadata file 2023-05-21 18:18:46 +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
shenleban tongying 329737f1cb opt: replace some QString + arg() with {fmt} in article_maker 2023-05-20 11:46:29 +08:00
xiaoyifang 69ff9b1177
opt: remove DiacriticFolding.txt (#713)
* opt: remove DiacriticFolding.txt

* 🎨 apply clang-format changes

* fix: remove foldedDiacritic method

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-05-20 10:28:43 +08:00
xiaoyifang d08d5fe576
opt: let qt handle the language direction (#709)
* opt: let qt handle the language direction

* 🎨 apply clang-format changes

* action: modify auto clang format action

---------

Co-authored-by: xiaoyifang <xiaoyifang@users.noreply.github.com>
2023-05-19 19:41:27 +08:00
YiFang Xiao 1e328e0727 fix: qwarning placed in the wrong place 2023-05-19 19:40:19 +08:00
shenleban tongying d0b2349156 update .desktop and appstream xml 2023-05-18 10:27:40 +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 e66f6d6404 opt: redirect the log to the current console
🎨 apply clang-format changes
2023-05-17 01:00:19 +08:00
YiFang Xiao ced19b9f11 Revert "feature:webengineprofile use non off record profile"
This reverts commit e84b5aa861.
2023-05-16 04:44:48 -08:00
YiFang Xiao 5fdf672d53 fix: rename customtransliteration from .cpp to .cc 2023-05-15 04:52:09 -08:00
YiFang Xiao 3d01ded56c fix typo 2023-05-15 11:46:02 +08:00
YiFang Xiao c0aeca7254 fix: selection triggered scanpopup too early
on Ubuntu(Linux),the selection change event occured too often while the delayed time is a little small ,the result is that the popup will show up when users still selecting the text.  Increase the delayed time a little seems can solve this issue.

fix #629
2023-05-14 07:56:38 -08:00
YiFang Xiao ca8dc576cd fix:code smell 2023-05-14 06:32:13 -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 126e76ee62 fix: fulltext search,found dictionaries update 2023-05-14 14:31:30 +08:00
YiFang Xiao 821cceef1d fix: log-to-file does not work in multithread 2023-05-14 07:32:01 +08:00
xiaoyifang 6e52ae601f opt: refactor log file write 2023-05-14 07:32:01 +08:00
YiFang Xiao 967926cee4 fix: press enter the article view does not get the focus
fix #660
2023-05-13 22:57:08 +08:00
YiFang Xiao 85f3e249f0 fix: remove code smell 2023-05-13 22:44:03 +08:00
YiFang Xiao dfd8112f76 fix: multi monitor issue
taken the changes from From 83020389c8
2023-05-13 22:44:03 +08:00
YiFang Xiao 3265912b28 fix: enable font antialias
fix #315
2023-05-13 14:37:49 +08:00
YiFang Xiao 837f8bcaf8 fix: code smell 2023-05-13 12:39:36 +08:00
YiFang Xiao 60d26e0e0f fix: the scanpopup found dictionaries mixed with mainwindows
fix #677
2023-05-13 12:39:36 +08:00
YiFang Xiao 301db81bd4 opt: move auto release guard to the variable
by this way, developer will have a more clear view about what will happen when released
2023-05-12 16:59:52 +08:00
YiFang Xiao be8331afa8 opt: inspector debug message changes 2023-05-12 16:59:52 +08:00
YiFang Xiao 91a5696361 opt: no need to throw warning when invoke RegisterHotKey 2023-05-12 16:59:52 +08:00
YiFang Xiao d1f5024b2b fix: add default value to js gdMakeArticleActive invoke 2023-05-12 09:20:19 +08:00
YiFang Xiao 3a24a43410 fix: when use arrow key in foundDictionaryPanel ,jump to the target dictionary 2023-05-11 18:43:02 +08:00
yifang xiao 2b72e14b55 fix: phrase send from scanpopup should not escape again
fix #626
2023-05-11 07:08:02 +08:00
yifang xiao b495a1006f opt: only enable highlight dictionary name on modern style 2023-05-09 12:32:09 +00: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
YiFang Xiao 482379e5c7 opt: the relative position will make the absolute position work as expected 2023-05-08 13:27:01 +08:00
xiaoyifang eee71f6cdf opt: remove unneccessary translation and QString conversion 2023-05-08 00:31:21 +08:00
xiaoyifang e8b5e8d19a opt : add padding to modern style 2023-05-07 16:54:15 +08:00
xiaoyifang ce8f5eeb7f fix:use a different socketname 2023-05-06 18:14:08 +08:00
xiaoyifang bbec4685f8 fix:epwing navigation reference to invalid position 2023-05-05 08:24:00 +08:00
xiaoyifang 2f22aa1580 fix:qtexttospeech crash when initialized 2023-05-03 08:59:45 +08:00
xiaoyifang 27f15f26ea opt: refactor code to conform to style 2023-05-02 15:53:41 +08:00
xiaoyifang c969418497 feat: add breakpad crash support 2023-05-02 15:53:41 +08:00
shenlebantongying 3dd0c83794 fix: other words chopped because url chopping doesn't check condition. 2023-05-02 12:59:48 +08:00
shenleban tongying 6bbb4d9971 feat(metadata): abstract metadata loader 2023-04-30 14:42:49 +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 42ac21af61 opt: enable pronounce button when audio is available
close #598
2023-04-30 12:01:27 +08:00
shenleban tongying ab54b72da4 fix: misc fix for auto groups by metadata.toml
* fix a crash when the type is not string
* update docs
2023-04-30 00:20:28 +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
shenleban tongying 70fd2d18f8 clean: use new Signal Slot syntax 2023-04-29 19:15:43 +08:00
shenleban tongying 6498bd4f17 clean: convert navPronounce connect to new syntax 2023-04-29 19:15:19 +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 93c3bdc007 opt:reduce string conversion 2023-04-29 18:21:42 +08:00
xiaoyifang e52e8e5195 opt:language does not display icon 2023-04-29 18:09:04 +08:00
xiaoyifang 325c3fb0bb opt: replace qthreadpool with qfuture
relate #515
2023-04-29 18:08:39 +08:00
xiaoyifang 28d33ed39f opt: relayout the preference language controls
fix #602
2023-04-29 11:23:14 +08:00
xiaoyifang 7f6409c05a opt:qtsingleapplication remove old code 2023-04-29 08:20:16 +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
shenleban tongying 933c8aea58 fix(scanpopup): preserve old group selection after editDictionaries
dialog
2023-04-29 00:55:56 +08:00
xiaoyifang ed4273e540 opt:refactor html:unescape method
close #579
2023-04-28 21:21:38 +08:00
shenleban tongying 3550362cac fix: add standard FindNext/Previous shortcuts to search panel
* Ctrl+G & Ctrl+Shift+G or F3 & Shift+F3 depends on platform.
2023-04-28 20:11:15 +08:00
xiaoyifang 2f6cb3c5d8 opt: replace wildcardtoregularexpression with qt builtin method
ref #502
2023-04-28 13:39:22 +08:00
xiaoyifang f84ddfc38c opt:refactor folding.cc methods with qt's builtin method
fix #592
2023-04-28 13:38:59 +08:00
shenleban tongying 9716acb2ee feat: add dict:// handler to linux
* Remove any thing before first occurance of ://
* so that user may add custom handler by just changing the .desktop file
2023-04-27 23:00:24 +08:00
xiaoyifang 81e1b5d9a6 fix: the implementation of unescapeutf8 is wrong
fix the bug found in ref #579
2023-04-27 13:26:32 +08:00
YiFang Xiao 617589d09c fix:unified the cache/directory
supplement to a82ce2a86f
2023-04-27 13:25:57 +08:00
shenleban tongying 07d9c63c79 clean(html): satisfy w3c html validator
* use <meta charset="utf-8">
* remove useless script type=text/javascript
* remove a trailing slash on <link>
2023-04-27 13:18:05 +08:00
xiaoyifang 12d9ae3ddb fix:stardict bword dictionary compatiblity
fix #567, some word is html encoded
2023-04-27 07:06:42 +08:00
shenleban tongying dfc5d701ea fix(autoGroupByFolder): prepend upper level folder name when two
groups share same name but in different folder
2023-04-26 20:46:07 +08:00
xiaoyifang a82ce2a86f opt: use unified cache dir
seperate the persistentstoragepath with cachepath
2023-04-26 07:45:48 +08:00
xiaoyifang 04260c1fbe fix: can not remove favorite word in popup
this bug was existed for a long time
2023-04-25 23:07:22 +08:00
xiaoyifang 7261151eb6
Merge branch 'staged' into fix/issue-502-wstring 2023-04-25 22:33:47 +08:00
xiaoyifang 19889bfa9b opt:add a statusbar notification when finshed save article
fix #554
2023-04-25 22:22:30 +08:00
xiaoyifang 3a52323f29 remove unnecessary string conversion 2023-04-25 08:28:40 +08:00
xiaoyifang 130044b092 fix:clang-tidy warning 2023-04-24 15:55:32 +08:00
Xiao YiFang b68a70caa6 refactor wstring toWString
ref #506
2023-04-24 15:55:24 +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 cb67c465a3 opt: use QTextStream to generate the BOM
when export headwords to file
2023-04-23 21:20:40 +08:00
xiaoyifang 084175f56f fix: code smell 2023-04-23 21:20: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 34652421be fix: refactor language.cc implementation
fix #535
2023-04-23 13:45:11 +08:00
xiaoyifang 8c415cb9a6 fix: code smell and format 2023-04-23 13:45:11 +08:00
xiaoyifang a810a56d0c opt: performance improve headword filter 2023-04-23 13:38:43 +08:00
xiaoyifang 21bab62263 fix : code smell 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 d0ae253c27 docs: various updates
* isolate Help related code into help.hh
* update website & README.md
2023-04-22 18:21:14 +08:00
YiFang Xiao d61dfaa8f3 fix: change contain-intrinsic-size to contain-intrinsic-height with auto value 2023-04-21 21:28:36 +08:00
shenleban tongying a8c898192f feat(group): Auto Grouping by Dict' Containning Folder 2023-04-21 15:38:09 +08:00
Xiao YiFang 1798025d0b opt: when in darkmode ,make the current article more significant
fix #493
2023-04-21 12:09:12 +08:00
xiaoyifang a5d6505765
fix: rename qt_*.ts in locale to distinguish between normal locale la… (#543)
* fix: rename qt_*.ts in locale to distinguish between normal locale language files.

also put qtwebengine_zh_CN.ts here to avoid windows script copying.

fix #533

* Update Readme.md
2023-04-21 09:36:26 +08:00
shenleban tongying 1a3bae3329 cleanup(css): remove 1x1 pixel <img> hack
When the code was written, there is no way to specify img's src, so
the 1x1 blank.png is a dummy img to be replaced.
2023-04-20 19:53:34 +08:00
shenleban tongying 3f3ba6eee1 refactor: reduce dependency on mainwindow.hh
* editdictionaries.cc and dictheadwords.cc doesn't actually need it
* fulltextsearch has a useless static_cast
2023-04-20 19:53:17 +08:00
Xiao YiFang 11e8a1b67d fix: ui resource file location has changed 2023-04-20 16:22:10 +08:00
Xiao YiFang 3cca0fa651 fix: interface language display in elide mode
fix #534
2023-04-20 16:22:10 +08:00
xiaoyifang 664d6b1483 opt: give a min-height to the last dictionary
fix #536
2023-04-20 12:43:35 +08:00
Xiao YiFang 92cb1c1157 clean: remove unused options.ui file
fix #541
2023-04-19 22:02:17 +08:00
shenleban tongying 747ebf3a82 feat(cmake): various updates
* recursive file including
* with xapian
* use iconv
* feature summary
2023-04-18 17:38:48 +08:00
shenleban tongying 5c5db459b5 feat(cli): implement --toggle-scan-popup command line option 2023-04-18 17:36:42 +08:00
shenleban tongying 30fcaae433 feat(cli): skip commandline parsing when no args 2023-04-18 17:36:42 +08:00
Xiao YiFang 14c4366839 fix: when input word in translateline and press Enter
can not type word directly again.

fix:#185
2023-04-18 16:08:32 +08:00
Xiao YiFang 75b0a92be7 fix: remove unused windowsstyle.cc(.hh)
fix #512
2023-04-18 16:04:54 +08:00
Xiao YiFang e6cd18e1b3 clean: remove gdappstyle file
fix #516
2023-04-18 10:31:39 +08:00
shenleban tongying 9589a67789
refactor: move more files into /src/common/ 2023-04-17 21:35:15 -04:00
shenleban tongying 088e34a763
refactor: move scripts.qrc into /src/scripts 2023-04-17 21:26:05 -04:00
shenleban tongying bb566013b6
fix: qmake build 2023-04-17 21:06:59 -04:00
shenleban tongying 7127539f29
refactor: move remaining C files into /src/ 2023-04-17 20:52:05 -04:00
shenleban tongying 491fbbfd87
refactor: move flags into /icons/ 2023-04-17 20:44:50 -04:00
shenleban tongying 03af31c6fc
refactor: move common/base/utils into /src/common/ 2023-04-17 20:41:47 -04:00
shenleban tongying b602bc0e9f fix(qmake): macOS build 2023-04-17 20:00:36 -04:00
shenleban tongying 0fbfb1f36c
refactor: move runtime scripts and flags into /src/ 2023-04-17 19:49:52 -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 129345613e
refactor: Move all .cc/.hh files to src/ 2023-04-17 17:17:36 -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 20230542d6
refactor: move none c++ source files into src/ 2023-04-17 13:40:05 -04:00
Xiao YiFang 9fe2e136da clean: remove code smell 2023-04-16 00:23:51 +08:00
Xiao YiFang 2a7892836e feat: session collapsable feature support
when enabled , user's manual collapsed dictionary will remain collapsed in the successive search until user expand the dictionary again.
2023-04-16 00:23:51 +08:00
Xiao YiFang e2e0b4e362 fix: remove the webplugin option
this plugin is used mainly for flash plugins, which has been disabled in modern browser.
There is no need to configure this option.
2023-04-15 13:13:47 +08:00
Xiao YiFang 2f4db6c34f fix:favorite panel arrow up/down does not work 2023-04-13 07:13:41 +08:00
Xiao YiFang c472b2cb71 fix:code smell 2023-04-09 12:42:32 +08:00
Xiao YiFang 1996af61a6 fix: mdx dictionary entry://#hashtag navigation 2023-04-09 12:42:32 +08:00
GenjiFujimoto 16943ccab1 Add ankicard link and button
make selectedText const

add a new keyboard shortcut: ctrl+shift+n to make a card

if word is empty, warn and exit

rename

return after ankisearch

remove temp vars

change the anki action's text depending on selected text

reformat article maker

the anki button is shown under the heading

revert to the previous way of constructing gddictname

to reduce size of the diff
2023-04-06 09:06:57 +08:00
Xiao YiFang 2407cf2a88 use QTextToSpeech module to play tts.
fix code smells
2023-03-29 23:16:01 +08:00
Ren Tatsumoto 01c661b575
Allow adding "ankisearch:" links in external programs. (#412)
* Add ankisearch link

* auto indent

* use raw string

* refuse to run if ankiconnect is not enabled

---------

Co-authored-by: GenjiFujimoto <dratschuk.d@gmail.com>
2023-03-22 10:04:54 +08:00
xiaoyifang a234bb0e43
remove qt-style.css content totally (#407)
* remove all qt-style

* remove all related #translationLine #GroupCombox qt style
2023-03-22 09:01:22 +08:00
shenleban tongying 0731253489 cleanup: simplify DSL's expand mode
Related code was related to DSL's [*][/*] tag.

One of the feature removed is Ctrl+8 to toggle current articleview's AlwaysExpand mode, because DSL is the only format that has this feature and User can turn on AlwaysExpand Mode on Preferences. There is no need to assign a shortcut for it.
2023-03-21 15:34:55 +08:00
shenleban tongying 3a93f8b959 Revert "fix: white flash when WebEngine page is loading in dark reader mode"
This reverts commit f7d6328f40.
2023-03-20 13:42:39 +08:00
shenleban tongying f7d6328f40 fix: white flash when WebEngine page is loading in dark reader mode 2023-03-18 19:53:08 +08:00
shenleban tongying fac1247c10 refactor: properly modularize articleview's ui 2023-03-18 11:00:06 +08:00
shenleban tongying 4f2c8d55aa refactor: port away from extlineedit
* the main feature of extlineedit.cc was having icons on left and right side which is already provided by QLineEdit::addAction after Qt5.2
2023-03-06 09:46:32 +08: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
shenleban tongying b1802e254e fix: ensure #translateLine always have left border 2023-02-22 21:09:46 -05:00
shenleban tongying 497ecf3719 fix: use alternative clipboard change monitor on macOS
QClipboard cannot monitor data changes on mac unless an application is focused
2023-02-17 22:02:52 -05:00
shenlebantongying f8e2e3c021 feat: bring back custom qt style sheets for Windows 2023-02-12 11:01:36 -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
Konstantin Isakov ab88fa4867 Drop the src/ directory. It's superfluous. 2010-05-15 16:42:18 +04:00
Konstantin Isakov 285e3d39b5 Remove the 'move to gitorious' notice now that we've moved. 2010-05-15 16:36:56 +04:00
Konstantin Isakov 4fa567e3bf Move to Gitorious. Mark this transition in the .pro file. 2010-05-15 16:27:47 +04:00
Konstantin Isakov 88ef3213e0 In BGL articles, only add displayed headword if the normal headword contains
at least one digit.

This is reduce headword pollution -- some dictionaries has meaningless
headwords, but to make those unique they typically add digits in them.
2010-05-15 16:22:43 +04:00
Konstantin Isakov ceab951fe9 Update year in copyright notices. 2010-05-08 22:59:59 +04:00
Konstantin Isakov 706b156938 Allow editing dictionary groups right from the dictionary bar (Right Click->
Edit this group).
2010-05-08 18:02:51 +04:00
Konstantin Isakov 42463992c3 Prevent program from quitting spontaneously when it works with scan popup
and the main window is closed.
2010-05-08 17:57:41 +04:00
Konstantin Isakov 69f0d0c4cf Handle requests to read zero bytes from dictzipped files correctly. Handle any
exceptions when reading articles in StarDict file format gracefully.
2010-05-02 01:51:57 +04:00
Konstantin Isakov 6728671c7d Populate list of matches in scan popup with results only from enabled
dictionaries.

Previously it was listing results from all dictionaries in the current group,
regardless of the dictionary bar.
2010-04-30 13:56:40 +04:00
Konstantin Isakov 964dd0d5bd Toggling main window gives focus to the translation line.
Additionally, any opened search is now closed once a new definition is
shown in the article view.
2010-04-27 11:49:37 +04:00
Konstantin Isakov b63a032218 Make sure empty headwords don't end reading BGL files early. 2010-04-22 22:24:21 +04:00
Konstantin Isakov 3e08acbeac Double-clicking the words in an article translates them right away. This
feature may be turned off in preferences, but it is on by default.
2010-04-09 00:37:59 +04:00
Konstantin Isakov 72a6ea1292 Probable fix for scanpopup problems in Ubuntu 9.10. 2010-04-03 14:31:50 +04:00
Konstantin Isakov dcfd87397d Add support for lang(xx) and gdlangfrom-xx language attributes to articles. 2010-04-03 13:43:39 +04:00
Konstantin Isakov 80e2b7b35e Chinese translation update by Zhangjinsong. Other translations lupdated. 2010-04-02 16:38:57 +04:00
Konstantin Isakov 1a13abcc41 Show individual words after compound expressions, not before them.
This feels a bit better, since compound expressions are more useful than
the basic word split.
2010-04-01 13:08:51 +04:00
Konstantin Isakov a0fda4383a Implement dictionary bar for scan popup.
This dictionary bar operates completely separately from the dictionary bar in
the main window, and has its own set of muted dictionaries. The bar is on the
right of the window by default, but can be moved once the window is pinned
down.

Windows users, please test, this may have some Windows-specific problems.
2010-03-31 00:16:27 +04:00
Konstantin Isakov 6ea73fdf85 Don't perform excessively large queries (words with more than 80 symbols) to
mediawiki sites, they can't succeed anyway.
2010-03-30 20:52:44 +04:00
Konstantin Isakov c6b9cc0434 When an unsuccessful attempt to look up a phrase or whole sentence is made, the query is splitted into individual words and presented to user as links. Then all the compound expressions (expressions consisting of two or more words) are attempted to be found, and the results are also presented to the user. 2010-03-30 17:41:14 +04:00
Konstantin Isakov 240bff7e63 Update case folding table to the latest one. Add diacritic folding to the Russian letter Yo. 2010-03-29 23:01:48 +04:00
Konstantin Isakov eaebf218eb Use "phonon/mediaobject.h"-style includes for Phonon, as the older ones don't work under Debian sid anymore.
If you know how to make this actually work everywhere, please send in a patch.
2010-03-29 17:13:29 +04:00
Konstantin Isakov 6f090bf64f Add a missing "wo" syllable to the Hiragana table. 2010-03-22 02:17:36 +03:00
Konstantin Isakov 06e62ae682 Only install main window global hotkey if it is actually enabled. 2010-03-19 17:17:45 +03:00
Konstantin Isakov 83115adf6e Chinese translation update by zhangjinsong. 2010-02-15 12:57:06 +03:00
Konstantin Isakov 70850a67de Lithuanian translation update. 2010-02-15 00:22:42 +03:00
Konstantin Isakov 001cbc8e35 Arabic translation by Usama <uakkad at gmail.com> added.
This version isn't considered final by the translator yet.
2010-02-14 00:01:50 +03:00
Konstantin Isakov 385a637ba7 Lithuanian translation by Mindaugas Baranauskas <embar at users.berlios.de> added. 2010-02-14 00:00:27 +03:00
Konstantin Isakov 373d8614a5 Patches by Alexey Morozov <morozov at altlinux.org>
0001-update-via-lupdate-.ts-files.patch -- changes produced by
                    invocation of lupdate

0002-updated-ru_RU-translation.patch -- updated translation, indeed

0004-Use-pkg-config-for-compiler-and-linker-flags.patch -- on unix-like

     system it makes sense to use pkg-config to determine proper compile
     and link flags for external libraries. Particularly in my distribution
     '-lhunspell-1.2' doesn't work, but '-lhunspell' does. I'm not sure about
     Win32 and MacOSX builds though.

Regarding 0003-Fix-phonon-headers-inclusion.patch.

Actually it's a bit questionable and distribution specific. Qt documentation
( http://qt.nokia.com/developer/changes/changes-4.6.1 ) suggests that
applications should use

 #include <phonon/ClassName>

and <Phonon/ClassName> isn't guaranteed to work. However major Linux
distributors, -- I've checked Fedora/RH, Mandriva; ALTLinux also goes this
way, -- provide KDE-specific builds of Phonon. Headers in these packages
should be included as <Phonon/ClassName>, so it happens to be more portable
than Nokia's suggested way.
2010-01-23 01:55:16 +03:00
Konstantin Isakov 199deb8985 Don't make backtrace under win32 -- it seems mingw32 doesn't support that. 2010-01-17 23:23:49 +03:00
Konstantin Isakov 9c3d8de794 Use a custom termination handler which displays a graphical message with
the exception, its description and stack backtrace.

This should aid tracking down those silent exits.
2010-01-17 16:04:55 +03:00
Konstantin Isakov 8aa25339ea Support some standard shortcuts to get to the translation line (Ctrl+L and
Alt+D).
2010-01-13 21:04:39 +03:00
Konstantin Isakov 9c624b1bc5 Make large files pass the File::exists() test. 2010-01-12 16:38:48 +03:00
Konstantin Isakov acb93b42da Another scanpopup rework. Simply moving the mouse away would hide it now, no
need to move it inside the window first anymore.
2010-01-03 02:26:09 +03:00
Konstantin Isakov c25e7f268e Use Phonon framework for audio playback.
This is now the default way to play back sound under Windows. The other one,
"Use external program", was also made available there. The old method of audio
playback under Windows (via PlaySound) was completely removed.
Since Phonon uses DirectShow as a backend under Windows, all file types
supported by it should now play back. Therefore, the previous limitation to
just .wav files is now lifted.
Since Phonon is only available starting from Qt 4.6.0 under Windows, no older
versions of Qt are supported anymore there.
2010-01-02 21:16:22 +03:00
Konstantin Isakov 0e187e1e76 When checking for another copy, check if the existing pid is actually not
ours.
2010-01-02 15:56:33 +03:00
Konstantin Isakov 71c4709bad For scan popup, use the Popup window type under X11, Tool window type under
Windows.

Different types fit better under different platforms.
2010-01-02 15:55:34 +03:00
Konstantin Isakov cac8baf58f In Bgl, remove any html markup from displayed headwords prior to adding them to
the list of alternate forms.

Reindexing will be performed.
2010-01-02 15:42:40 +03:00
Konstantin Isakov 27bf9916b8 Rebuild libhunspell with Qt's mingw32 4.4.0 to make it work with Qt 4.6.0 SDK. 2009-12-31 17:10:44 +03:00
Konstantin Isakov d431321f3d Show the article in RTL mode if the target language is hebrew (patch by dmdmdm)
Some refinements done by ikm.
2009-12-27 15:40:20 +03:00
Konstantin Isakov 689859082c Support use of displayedHeadword alternate term, and hebrew "roots" (by dmdmdm)
Note: will force reindexing your bgl files.
2009-12-27 15:38:14 +03:00
Konstantin Isakov 2d9244c311 Show the terms in the wordfinder in RTL if it's needed (patch by dmdmdm) 2009-12-27 15:08:11 +03:00
Konstantin Isakov 1094b44d8b Scanpopup fixes, patch by a forum member "dmdmdm".
Some further adjustments were made by me (ikm).
2009-12-27 15:00:59 +03:00
Konstantin Isakov 7a03248aad A flag for Esperanto was added. 2009-12-25 17:40:10 +03:00
Konstantin Isakov cf6221677b Trim whitespaces in the audio playback program's name.
Some people tend to add whitespace after the name of the program and then
complain it doesn't work. This should fix such cases.
2009-12-22 13:06:13 +03:00
Konstantin Isakov ec8b385b70 Add the previously omitted "Ps" (Punctuation, Open) Unicode category to
punctuation folding algorithm.

This prevented finding i.e. entry "(foo" by typing just "foo". All
dictionaries will be reindexed.
2009-12-17 16:51:33 +03:00
Konstantin Isakov ebec14ac7f Typing while focused on the word list initiates new search now. 2009-12-13 20:15:34 +03:00
Konstantin Isakov c83b6cd5da Chinese translation update by zhangjinsong. 2009-11-11 13:42:54 +03:00
Konstantin Isakov a134015070 Use gdlookup:// scheme instead of bword:// one for close word suggestions.
The latter is prone to problems due to URI conventions and should not be used.
2009-11-11 13:37:23 +03:00
Konstantin Isakov 55916d0aae Check for the bword:// scheme without case sensitivity.
This fixes some dictionaries which use BWORD:// addressing.
2009-11-11 13:24:06 +03:00
Konstantin Isakov 2f0896b94e Under Windows, use lrelease instead of lrelease-qt4. 2009-11-11 12:51:46 +03:00
Konstantin Isakov 60f21f9b78 Construct printer only when the first printing operation is requested.
This speeds up startup and conserves resources, since apparently creating
a printer makes it connect to localhost:ipp and do other things.
While at it, use high-resolution printing mode instead of the default, which
is a screen resolution.
2009-11-11 12:43:20 +03:00
Konstantin Isakov 416b231587 Project file patches by bsam applied. 2009-11-10 21:52:50 +03:00
Konstantin Isakov 727c811882 Link to X11 directly, despite the fact that Qt drags it along anyway.
This may aid future binutils transitions in Debian.
2009-11-06 16:30:15 +03:00
Konstantin Isakov 04327760ed Chinese translation update by a forum member "zhangjinsong". 2009-11-03 14:58:53 +03:00
Konstantin Isakov 9a019dceec Hi&story changed to H&istory since the former was clogging the Alt+S "Play
sound" shortcut.
2009-11-01 19:22:25 +03:00
Konstantin Isakov b87e2eeb94 Fix a crash when choosing a history item from the menu. 2009-11-01 19:20:26 +03:00
Konstantin Isakov c6d0f2e440 Since we've now moved to Git, update the version tag to be it. 2009-10-31 02:32:11 +03:00
Konstantin Isakov 2896ae1fb6 * &History changed to Hi&story. 2009-10-26 11:32:57 +00:00
Konstantin Isakov baffd5e277 - Remove the internal copy of libzip. We don't use it anymore. Goodbye, libzip! 2009-10-25 22:52:50 +00:00
Konstantin Isakov 28655b123b + Zip files are now indexed along with the articles. This means that their
listings aren't now loaded into memory, resulting in many megabytes of
  memory savings (with larger zips) and faster startup, too.
  Since libzip wasn't too much of use with the current way zips are used, it
  is not used anymore and is to be removed.
  The code has only received basic testing -- please test with your data.
2009-10-25 22:49:24 +00:00
Konstantin Isakov dcf096e0ab *! Change SJIS-WIN to CP932 in Babylon parser. This may fix problems with
Babylon Japanese dictionaries under Windows, where libiconv had problems
   with the former encoding name.
2009-10-22 22:39:59 +00:00
Konstantin Isakov b2ecdba30a + Clicking a link with middle mouse button opens it in a new tab. 2009-10-22 11:38:11 +00:00
Konstantin Isakov 890b5da3b5 +! Don't save overly large search queries into history. Those are usually
large bogus selections of whole text blocks and they only mess up menus.
2009-10-21 20:50:00 +00:00
Konstantin Isakov 7ae6bf9fba *! Prevent triggering spurious translations when changing group or editing the
query while there's an item in the word list selected.
2009-10-21 20:23:03 +00:00
Konstantin Isakov 5c3fb7c023 *! Fix problem with the 'All' group in history.
The value of it is too large for a signed int.
2009-10-21 20:06:17 +00:00
Konstantin Isakov 9ee8210c1f + History of search queries implemented. 2009-10-21 19:37:07 +00:00
Konstantin Isakov 2c46854ab1 *!m Forgotten part of the r394 commit. 2009-10-21 19:33:23 +00:00
Konstantin Isakov 00179e4a48 = Move out atomic renaming into a function of its own.
+m Add getHistoryFileName() in preparation for history support.
2009-10-21 19:30:14 +00:00
Konstantin Isakov 1db7b7e334 = Add makeIcon() function to a group instance. 2009-10-21 19:28:09 +00:00
Konstantin Isakov 1559f88ba0 + Experimental support for "Windows" key modifier for hotkeys under Windows.
Wasn't tested.
2009-10-20 13:04:46 +00:00