Commit graph

3530 commits

Author SHA1 Message Date
Igor Kushnir c770e9688e Don't update state prematurely in showTranslationFor()
MainWindow::showTranslationFor() overloads disable the "Pronounce Word"
action, then call ArticleView::showDefinition(). And then immediately
update pronounce availability, Found in Dictionaries list, Back and
Forward buttons. Since ArticleView::showDefinition() loads the requested
page asynchronously, the previous page is still current. Therefore the
"Pronounce Word" action is immediately re-enabled (if the still-current
article has sounds), the other state updates have no effect whatsoever.
Once the new page is loaded, the state is updated again in
MainWindow::pageLoaded() - this time with the desired effect.

So the only effect of the state updates in
MainWindow::showTranslationFor() is to revert the intentional disabling
of the "Pronounce Word" action. Plus waste some CPU time. The
pronunciation-disabling behavior looks better to me and is consistent
with the scan popup's behavior (which immediately hides the
"Pronounce Word" button).
2022-05-25 18:27:18 +03:00
Xiao YiFang 12f7db7414 fix: remove deprecated css 2022-05-25 19:45:19 +08:00
xiaoyifang 4096362183
Merge pull request #76 from xiaoyifang/golden-master
merge upstream changes
2022-05-25 08:02:21 +08:00
Xiao YiFang f1bcb37e76 fix upstream merge conflict 2022-05-25 08:00:58 +08:00
Igor Kushnir 201f11e656 Set current article at most once in loadFinished()
When the current article is set and the user expands or collapses
optional parts (e.g. via the Ctrl+* shortcut),
ArticleView::setCurrentArticle() is called twice from
ArticleView::loadFinished(). Furthermore, the window scroll position is
restored before the second jump. This is wasteful. Move the
higher-priority setCurrentArticle() call up and, if it succeeds, skip
the other call and the scrolling.

I have measured the time spent running the affected code fragment on my
GNU/Linux system before and at this commit. When the loaded articles are
not very large, the performance gain of this commit is only about 1 ms.
However, when one of the displayed articles was huge (the
"United States" English Wikipedia article), the time went from 120 ms to
5 ms.
2022-05-24 21:02:20 +03:00
Xiao YiFang efb4a84da2 fix: duplicated entries in epwing dictionary 2022-05-24 20:32:23 +03:00
Xiao YiFang 1f01e545d1 disable print background 2022-05-24 21:40:53 +08:00
Xiao YiFang b55da16c33 clean code: remove deprecated css properties 2022-05-24 21:25:21 +08:00
Xiao YiFang 19a09b5f1b fix:remove epwing headword size limitation 2022-05-24 21:03:25 +08:00
Xiao YiFang fe544130df Merge branch 'goldendict-master' into staged 2022-05-24 20:25:26 +08:00
Xiao YiFang c6811db3a0 fix: merge conflict from upstream 2022-05-24 20:25:09 +08:00
Abs62 f07ba75a5c Epwing: Fix full-text search for some CJK dictionaries (issue #1490) 2022-05-23 20:43:58 +03:00
Xiao YiFang bb9811bdf4 clean code: remove unused line 2022-05-23 23:42:52 +08:00
Xiao YiFang de11e573d3 fix:quit application failed
when the inspector windows is show
2022-05-23 23:38:04 +08:00
Igor Kushnir b87b023db0 Optimize highlighting FTS matches in articles
The wall time of calls to ArticleView::highlightAllFtsOccurences() on my
GNU/Linux system before and at this commit:
allMatches.size()   uniqueMatches.size()    before(ms)  at(ms)
79                  1                       277         4
98                  1                       380         4
267                 1                       16803       65
2022-05-23 16:05:36 +03:00
Igor Kushnir bd5b36cac7 Extract ArticleView::highlightAllFtsOccurences()
Extracting this function allows to simplify the code and facilitates
optimizing it in the next commit.

Remove `#if QT_VERSION >= 0x040600` along the way as GoldenDict does not
support Qt versions older than 4.6 for several years now.
2022-05-23 16:02:01 +03:00
Igor Kushnir 9f5788ee11 Remove unused declaration showFindButtons()
c2cdf9b177 declared this member function
but it was never defined.
2022-05-23 16:01:58 +03:00
Xiao YiFang 7b434cffaf fix:epwing code format 2022-05-23 20:42:37 +08:00
Xiao YiFang 2ffd4940d0 Merge branch 'fix/epwing-duplicate-entry' into staged 2022-05-23 20:28:59 +08:00
Xiao YiFang fe1fd6b933 fix: webengineview font lose affect after restart the application 2022-05-23 20:14:26 +08:00
Xiao YiFang b41bef9a31 fix: skip too long headword in epwing dictionary 2022-05-23 00:26:12 +08:00
Xiao YiFang 467b2d17b3 fix: duplicated entries in epwing dictionary 2022-05-23 00:13:24 +08:00
Xiao YiFang 435cadfef8 pro file update c++17 support 2022-05-22 16:36:28 +08:00
Xiao YiFang 3e5ad72831 Merge branch 'staged' of github.com:xiaoyifang/goldendict into staged 2022-05-22 10:06:30 +08:00
Xiao YiFang 55fee75acd fix: a bug with send to anki 2022-05-22 10:05:22 +08:00
xiaoyifang dcaaae4dc8
Update how to connect with anki.md 2022-05-21 23:10:30 +08:00
Xiao YiFang 40f67d7f0f fix: dsl dictionary crash when skip expandOptionalParts as headword is too long 2022-05-21 22:50:04 +08:00
xiaoyifang 2b9b278e83
Merge pull request #71 from xiaoyifang/feature/anki
add Feature/anki connect
2022-05-21 18:36:07 +08:00
Xiao YiFang 0a2661f986 add 'send to anki' function
users can configure the ankiconnect to use together with anki
2022-05-21 17:34:22 +08:00
xiaoyifang 0ddf32f3ea
Create how to connect with anki.md 2022-05-21 14:21:41 +08:00
Xiao YiFang fbfc2d7f43 feature: add anki connect configuration 2022-05-21 10:30:32 +08:00
Xiao YiFang a625bee498 bump alpha version to 22.5.22 2022-05-21 09:08:46 +08:00
Xiao YiFang f6a151ae6f opt:add debug info to release 2022-05-20 21:26:54 +08:00
Xiao YiFang e85ec3c154 github:release note update 2022-05-20 20:03:17 +08:00
Xiao YiFang fb32704a8c Merge branch 'opt/acceptnavigation' into staged 2022-05-20 18:44:11 +08:00
Xiao YiFang 6cf1cf1200 clean code: remove uxtheme 2022-05-20 18:43:47 +08:00
Xiao YiFang a7ba9e4b36 opt:use acceptNavigationRequest instead of weburlinterceptor 2022-05-20 18:01:41 +08:00
Xiao YiFang 459b684e5b opt: make the inspect window's instance to exactly only one. 2022-05-20 17:31:47 +08:00
Xiao YiFang 41f2ca9864 clean code: remove outdated code
xorg xrecord detection logic
2022-05-20 08:24:23 +08:00
Xiao YiFang b47004aba0 opt: remove body default 13 px font-size, use chrome's instead 2022-05-19 22:13:49 +08:00
Xiao YiFang 3390e73501 opt: refactor the editdictionary's save method 2022-05-19 21:04:31 +08:00
Xiao YiFang e9acba5383 opt: dsl dictionary use lambda function instead of Runnable class 2022-05-19 20:53:23 +08:00
Xiao YiFang 7071bc5aa2 fix : revert original ensureInitDone() logic 2022-05-19 20:42:46 +08:00
Xiao YiFang c0e3767f83 opt: format code and remove default constructor 2022-05-19 20:37:11 +08:00
Xiao YiFang 15d9104f2c fix : fulltext search will crash
close issue #69
2022-05-19 20:28:52 +08:00
Xiao YiFang 0bd724b313 opt:web font preference ,set a default valut to empty 2022-05-19 08:29:50 +08:00
Xiao YiFang d73956b90d opt: change ArticleNetworkAccessManager's method createRequest to getArticleReply
createRequest was the parent's protected method ,give the impression that the derived class has override it.

rename it to clacify the misunderstand.
2022-05-19 07:14:36 +08:00
Xiao YiFang bde86d7b88 opt: remove dictionary "From " word when displaying dictionary's translation 2022-05-18 20:28:52 +08:00
Xiao YiFang f7cdb2ec32 fix: when editdictionary in qt6.3 there is an assert exception 2022-05-18 20:28:52 +08:00
Xiao YiFang e6b97ed860 fix : slob dictionary name assignment is not correct
introduced by this commit
https://github.com/xiaoyifang/goldendict/commit/0c94406e2a20763a62c6ba7f60cf#diff-aa1bd0d12bf891e30f00e8cce37e103e0e566edebb89cdc03cf4ee59133b6b11R905
2022-05-17 23:03:13 +08:00