Commit graph

189 commits

Author SHA1 Message Date
Igor Kushnir c88774151c Remove unused form groupselectorwidget.ui
This form was added in the first git commit. However it was unused at
the time of that commit and has never been used since then.
2019-01-29 12:58:44 +02:00
Abs62 1640fb2ff4 Win-specific: Fix compilation with MS VC (issue #1088) 2018-12-04 23:05:00 +03:00
Abs62 5559b5fe48 Favorites: Fix blocking of illegal move operations for Qt4 (issue #1059) 2018-09-24 20:22:51 +03:00
Abs62 fd00e9d156 Fix gcc 7.3 compiler warnings (#issue 978) 2018-05-21 18:32:04 +03:00
Igor Kushnir 9aa3c44d4e Add QMediaPlayer internal player back end (Qt5 only)
* add config and GUI support for internal player back end switching;
* make FFmpeg player disabling option consistent with other similar
  qmake options by using CONFIG;
* add a new qmake option that disables Qt Multimedia player. This is
  useful for GNU/Linux distributions where Qt WebKit and Qt Multimedia
  packages depend on different GStreamer versions and don't work
  correctly when combined in one application.

The existing FFmpeg+libao internal player back end has a relatively
low-level implementation, which is difficult to understand and improve.
There are at least 3 open internal player issues:
  1) many GNU/Linux users have to edit their libao configuration file to
     make Goldendict's internal player work (issue #412);
  2) libao's pulseaudio plugin does not support 32-bit audio, which
     means that many MediaWiki pronunciations don't work with the most
     popular GNU/Linux audio driver (issue #949);
  3) Ffmpeg::DecoderContext uses deprecated FFmpeg APIs, which causes
     compiler warnings and means that this internal player back end
     may not compile with a future FFmpeg library version (issue #978).

The Qt Multimedia back end implementation uses the highest-level
Qt audio API and is very simple.
This new back end works flawlessly on my GNU/Linux machine.
I'm not making it the default back end because I don't know how well
it will work on other platforms with different configurations.
2018-03-30 17:10:33 +03:00
Igor Kushnir 278e05cbf3 Run a single external audio player process at a time
External and internal audio players work similarly now. Fixes #950.

* inherit a new ExternalAudioPlayer class from AudioPlayerInterface;
* use an existing ExternalViewer class to implement ExternalAudioPlayer;
* take (const char *, int) instead of std::vector<char> in
  ExternalViewer constructor to fit into AudioPlayerInterface;
* extend ExternalViewer API to let ExternalAudioPlayer stop superseded
  audio player processes;
* make AudioPlayerInterface::play() return an error message string to
  allow reporting immediate failures from derived classes;
* Document AudioPlayerInterface API;
* Document AudioPlayerFactory::player();
* use the common audio interface exclusively in ArticleView.
2018-03-24 21:34:06 +02: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 c204f75e52 Qt5: Use QRegularExpression instead of QRegExp in many cases 2018-02-22 16:55:56 +03:00
Abs62 46a4509101 Mac-specific: Update hunspell library to version 1.6.1 2017-07-05 18:19:40 +03:00
Abs62 bef2bf86c6 Update code for libhunspell 1.5+ 2017-07-05 17:58:43 +03:00
sunwxg ad8008c37b Add scan popup flag
After select a word, show a flag window, click the flag to show
popup window.
2017-06-05 21:15:38 +08:00
Abs62 1e34de2dbc Add "Favorites" feature 2017-05-12 17:41:08 +03:00
Abs62 eb78238f25 Add support for split zip files 2017-04-24 17:42:01 +03:00
Abs62 eba7f5578f Add support for GLS (Babylon source) format 2017-03-07 16:45:09 +03:00
Abs62 6386d1d70e Merge branch 'locale-fi' of https://github.com/sikmir/goldendict into Temp
# Conflicts:
#	goldendict.pro
#	goldendict.vcxproj
#	goldendict.vcxproj.filters
2016-11-24 07:52:42 +03:00
Nikolay Korotkiy bbcf5a16d2 Register Esperanto translation 2016-11-24 04:46:50 +03:00
Nikolay Korotkiy 340548544a Register Finnish translation 2016-11-24 04:39:46 +03:00
Abs62 526d9d1bf8 Mac-specific: Copy 64-bit OpenCC data into GoldenDict bundle by default (issue #694) 2016-05-02 14:11:56 +03:00
Abs62 b6622271b6 1. Bump version to 1.5.0-RC2
2. No more separate branch "qt4x5", all changes merged into "master" branch. Code may be compiled with both Qt 4.x and Qt 5.x versions.
2016-04-26 19:32:50 +03:00
Abs62 6f04427e8b Merge branch 'Original' into Qt4x5 2016-04-22 23:49:50 +03:00
Abs62 eb8428057f Mac-specific: Update project to copy OpenCC data files into GoldenDict bundle 2016-04-22 23:45:56 +03:00
Abs62 436edad84d Merge branch 'Original' into Qt4x5 2016-04-22 17:59:01 +03:00
Abs62 9a2855f39d Mac-specific: Add OpenCC library 2016-04-21 17:50:56 +03:00
Abs62 281d3b7e80 Win-specific: Fix build with Qt 5.6.0 and VS 2013 2016-04-14 19:09:21 +03:00
Abs62 5731349f06 Merge branch 'Original' into Qt4x5 2016-04-09 11:09:55 +03:00
Abs62 032f5c8337 Win-specific: Tune code for compilation with MS Visual Studio 2016-04-09 00:21:55 +03:00
Abs62 fcc2758eb3 Merge branch 'Original' into Qt4x5
Conflicts:
	goldendict.pro
2015-10-27 18:08:57 +03:00
Abs62 a67ed65a90 Add "chinese_conversion_support" key to project for Windows by default 2015-10-26 21:21:14 +03:00
Zhe Wang a1986254d2 ChineseConversion: conditional compilation and OpenCC exception handling 2015-10-26 09:38:22 +08:00
Zhe Wang 12f67a79a4 Support conversion between simplified and traditional Chinese characters 2015-10-20 00:00:35 +08:00
Abs62 e24de4d881 Merge branch 'Original' into Qt4x5
Conflicts:
	xdxf2html.cc
2015-10-14 18:23:46 +03:00
Zhe Wang a04917833c Remove dependency on libavutil 2015-10-11 23:01:24 +08:00
Abs62 1df1b3d5d5 Linux-specific: Fix compilation with Qt5 (issue #595) 2015-06-24 17:56:29 +03:00
Abs62 40de8fcdd1 Merge branch 'Original' into Qt4x5 2015-02-09 18:57:32 +03:00
Abs62 0912df7cb5 Add SLOB dictionaries support 2015-01-22 18:17:05 +03:00
Abs62 407bc7e4b0 Merge branch 'Original' into Qt4x5 2014-07-21 17:38:05 +04:00
Abs62 8e56dae5cd Mac-specific: Fix help installing for any build directory 2014-07-21 17:36:32 +04:00
Abs62 d4adf591a9 Adjust code for Qt5 2014-07-11 18:18:37 +04:00
Abs62 8cabcacf55 Merge branch 'Original' into Qt4x5
Conflicts:
	btreeidx.cc
	fulltextsearch.cc
	goldendict.pro
	main.cc
2014-07-11 18:17:43 +04:00
Abs62 d4c68d3c49 Add help system 2014-06-23 20:03:14 +04:00
Abs62 35433d9ea6 Merge branch 'Original' into Qt4x5 2014-05-27 17:59:50 +04:00
Abs62 08dd0423d9 Add Macedonian Translation by Vladimir Gerovski 2014-05-26 19:48:18 +04:00
Abs62 8b3a7a4f43 Epwing: Fix monochrome images, use unicode symbols instead of some extra symbol images 2014-05-22 22:16:10 +04:00
Abs62 d9169bd45b Add support for Epwing dictionaries 2014-05-20 17:59:56 +04:00
Abs62 273b1b5757 Merge branch 'Original' into Qt4x5
Conflicts:
	articleview.cc
	btreeidx.cc
2014-05-05 21:31:16 +04:00
Abs62 ceb04dbd6a DICT protocol support 2014-05-02 17:36:50 +04:00
Abs62 10532279b1 Merge branch 'Original' into Qt4x5
Conflicts:
	article_netmgr.cc
	mainwindow.cc
2014-04-23 18:16:06 +04:00
Abs62 9ad0d5f985 Implement full-text search 2014-04-16 20:18:28 +04:00
Abs62 4cf35cc7e3 Merge branch 'Original' into Qt4x5
Conflicts:
	hotkeywrapper.hh
	mainwindow.cc
	mainwindow.hh
2014-04-11 19:29:56 +04:00
Abs62 9623cbdd7a Add proxy authentication dialog 2014-04-03 18:21:02 +04:00