Commit graph

98 commits

Author SHA1 Message Date
Xiao YiFang f98ac1b588 clean code:remove useless code 2022-05-27 21:54:30 +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 c6811db3a0 fix: merge conflict from upstream 2022-05-24 20:25:09 +08: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 0a2661f986 add 'send to anki' function
users can configure the ankiconnect to use together with anki
2022-05-21 17:34:22 +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 c0e3767f83 opt: format code and remove default constructor 2022-05-19 20:37:11 +08:00
ngn999 b187c0ef41 fix code review indent issue 2022-03-30 23:08:24 +08:00
ngn999 32fcd38dc0 make getWebPageText async 2022-03-28 17:29:00 +08:00
ngn999 e45f466a9d make toHtml async 2022-03-28 10:30:23 +08:00
ngn999 6c310b41af make isFramedArticle async, and remvoe runJavaScriptSync() 2022-03-27 23:05:45 +08:00
ngn999 95be606a9e make ArticleView::hasSound() async 2022-03-27 22:22:42 +08:00
xiaoyifang 2851533645 clean code: remove useless method
this methods related to win32 getText which has been removed
2022-03-18 22:22:48 +08:00
yifang fb2eac9b5e upgrade to 6.2,linux compile 2022-03-11 22:14:40 +08:00
xiaoyifang 7b5511a7bd upgrade to qt6.2 2022-03-11 22:00:45 +08:00
yifang edf8c8d4f3 optimize:rename inspector class 2022-03-05 19:34:49 +08:00
yifang ae8c2df4a8 optimize: F12 improve
when close inspected windows,the inspect is still working .
2022-03-04 23:27:34 +08:00
yifang 56000cf3b1 optimize: F12 inspect element
optimize:inspect element dialog
2022-02-18 20:14:10 +08:00
yifang f81ac16fa6 fix: mouse scroll zoom in out 2022-02-18 00:40:03 +08:00
yifang 12a1ee77df
imp. : zoom factor ,set zoom also in loading process 2022-01-20 20:34:14 +08:00
yifang 8ac2f8dfe1 imp. : wrap articleview in webchannel for security reason 2022-01-20 07:38:01 +08:00
yifang 5c76bc746c fix:right context menu ,select current article 2022-01-19 20:16:45 +08:00
yifang be7319559c improvement:set web page zoomfactor besides webview. 2022-01-15 18:23:44 +08:00
yifang 850c7d66e8 fix:single click on link,the emulated db click will still work on new page 2022-01-15 11:18:54 +08:00
xiaoyifang 13fdf08450 improve:foundDictsPane refresh logic 2022-01-09 12:54:50 +08:00
yifang 0f1c0d4204 improve:right context menu active dictionaries 2022-01-08 14:51:24 +08:00
xiaoyifang 4de296b5a6 fix:single click to select work (inside html iframe) 2022-01-04 21:01:16 +08:00
yifang e7218fc12b open link content duplicated in all the tabs. 2021-12-28 21:49:32 +08:00
yifang 101fb9027d refactor code.F12 optimize 2021-12-13 22:46:02 +08:00
yifang a2baf836e4 refactor code.F12 optimize 2021-12-13 22:46:02 +08:00
xiaoyifang 174ba53be2 found dictionaries panel update 2021-12-13 22:43:46 +08:00
xiaoyifang 402add183e clean qt_version < 5 code. 2021-12-13 22:43:46 +08:00
yifang f13c713265 right panel founded dictionaries 2021-10-05 09:23:30 +08:00
xiaoyifang d2257ce061 Merge remote-tracking branch 'remotes/origin/master' into branch-qt-5.15
# Conflicts:
#	articleview.cc
2021-09-24 14:08:26 +08:00
yifang e5c72f8ecc change to setcontent 2021-08-21 09:41:40 +08:00
yifang b1c4159a3d change function declarition 2021-08-15 11:05:38 +08:00
xiaoyifang eddfa075bd connect reply content to article view 2021-08-14 15:25:10 +08:00
xiaoyifang 3aadf52344 webkit to webengine 2021-07-15 22:58:32 +08:00
Igor Kushnir f919685797 Extract duplicated "gdfrom-" string manipulation into functions
Such helper functions facilitate understanding of the code and simplify
implementing new features.
2021-06-29 13:31:09 +03:00
Igor Kushnir 60bc05218f Add input phrase's punctuation suffix to alts
Preferences::sanitizeInputPhrase() transforms an input phrase by
removing its whitespace/punctuation prefix and suffix. Translating a
phrase from X11 primary selection or from clipboard, via mouse-over or
from the command line results in such sanitization. This is useful when
a punctuation mark or a space is selected accidentally alongside a word.
This sanitization can be undesirable, however, when an abbreviated word
is selected. For example: "etc.", "e.g.", "i.e.".

This commit implements searching for the input word with the punctuation
suffix preserved as an alternative form of the sanitized word to show
articles for both. For example, when the word "etc." is translated from
the clipboard, both "ETC" and "etc." articles are displayed.

The punctuation suffix is preserved when the word is passed from the
scan popup to the main window and when the translate line text is
refreshed (e.g. when the current group is changed). The suffix is not
stored in history and favorites (doing so would require file format
changes and possibly substantial code changes, this can be implemented
later if need be).

Trim the input phrase once in ArticleNetworkAccessManager::getResource()
instead of verbose trimming in multiple places in
ArticleMaker::makeDefinitionFor().

Closes #1350.
2021-06-17 12:06:36 +03:00
Igor Kushnir 3bf7aad1f7 Add a shortcut to focus scan popup's article view
The article view focus is necessary to navigate a word definition via
keyboard rather than mouse. The shortcut - Ctrl+N - is the same as
the one in the main window for the corresponding action.
2018-05-16 14:54:20 +03:00
Abs62 5fa5cc123f Full-text search: Allow ignore diacritics while search 2018-04-10 17:49:52 +03:00
Igor Kushnir e5045860ef Make adding new audio player implementations easy
* add a new interface class AudioPlayerInterface;
* inherit a new proxy class Ffmpeg::AudioPlayer from it;
* partially switch ArlticleView to using the interface;
* expose MainWindow's AudioPlayerInterface instance to all ArticleView
  instances;
* add a new AudioPlayerFactory class responsible for creating instances
  of concrete classes derived from AudioPlayerInterface depending on
  relevant Config::Preferences values;
* increase minimum supported Qt version from 4.5 to 4.6 in README
  in order to use QScopedPointer introduced in Qt 4.6.
2018-03-24 21:31:48 +02:00
Abs62 747dc0aaaf Refactor resource downloading 2017-04-28 00:13:25 +03:00
Abs62 2085314eb9 1. Don't show "failed to download" error message while saving resources like "gdau://search/..."
2. Stop search if resource is found
2017-04-27 18:04:26 +03:00
Abs62 9511494c2b Send image to external viewer by double click 2017-03-13 17:38:27 +03:00
Abs62 10532279b1 Merge branch 'Original' into Qt4x5
Conflicts:
	article_netmgr.cc
	mainwindow.cc
2014-04-23 18:16:06 +04:00
Abs62 503650d617 Full-text search: Set group for ArticleView::showDefinition() when view article 2014-04-23 00:08:21 +04:00