Igor Kushnir
2cbcaaa391
tests: add ConcurrentQueueTest::waitAllFromMultipleThreads()
...
This new test hangs because ConcurrentQueue::nextJob() unblocks only
one of the threads that wait for _waitVar.
2021-12-29 09:36:44 +01:00
Igor Kushnir
34b0698d02
Make ConcurrentQueueTest::cancelPending1UserThread() non-flaky
...
ConcurrentQueueTest::cancelPending1UserThread() often fails when
ConcurrentQueueTest is launched from Qt Creator immediately after
switching between Debug and Release YACReader build configurations.
The CPU busyness must be affecting the thread scheduling timing, which
breaks the test's timing assumptions in this case.
Use the return value of ConcurrentQueue::cancelPending() instead of
relying on the timing of thread scheduling to determine the number of
canceled jobs.
2021-12-29 09:36:44 +01:00
Igor Kushnir
b43e3383d5
ConcurrentQueue::cancelPending: return the number of canceled jobs
...
The return value can be used to make
ConcurrentQueueTest::cancelPending1UserThread() non-flaky. It may also
be useful to non-testing code.
Improve the performance of cancelPending() by locking the two mutexes
separately and minimizing the locking time.
2021-12-29 09:36:44 +01:00
Igor Kushnir
a72fdb9ca2
ConcurrentQueue::cancelPending: don't reset jobsLeft to 0
...
Worker threads may well be executing jobs while this function is being
called. If ConcurrentQueue::waitAll() is called soon enough after
cancelPending(), the worker threads may still be running, but waitAll()
would return immediately as jobsLeft would be nonpositive.
Subtracting _queue.size() from jobsLeft sets this variable to the number
of worker threads that are executing jobs at the moment.
ConcurrentQueueTest::cancelPending1UserThread() passes most of the time
now. But it still fails occasionally because it depends on the timing of
thread scheduling, which is unreliable.
2021-12-29 09:36:44 +01:00
Igor Kushnir
4bbd16c3b3
tests: add ConcurrentQueueTest::cancelPending1UserThread()
...
This new test consistently fails because of a bug in
ConcurrentQueue::cancelPending() described in the following comment:
https://github.com/YACReader/yacreader/issues/201#issuecomment-774987383
2021-12-29 09:36:44 +01:00
Igor Kushnir
228fe1284e
Fix a typo in ConcurrentQueue::cancelPending function name
2021-12-29 09:36:44 +01:00
Igor Kushnir
ec938651c4
tests: add the first Qt Test - ConcurrentQueueTest
...
Place common Qt Test qmake code into tests/qt_test.pri.
Build tests as part of top-level YACReader project unless no_tests
CONFIG option is set. This way the tests are built by default during
development. Packagers can skip building tests by running
`qmake "CONFIG+=no_tests"`.
Both ConcurrentQueueTest::singleUserThread() and
ConcurrentQueueTest::multipleUserThreads() pass. Evidently
ConcurrentQueue::enqueue() can be safely called from multiple threads on
the same ConcurrentQueue object with no additional synchronization. Once
each thread enqueues all its jobs, one thread can safely call waitAll().
2021-12-29 09:36:44 +01:00
Igor Kushnir
b0b0849cbc
Extract DEFINES += NOMINMAX into common config.pri
2021-12-29 09:36:44 +01:00
Luis Ángel San Martín
ca7be7cc2d
Fix download file name
2021-12-29 09:13:54 +01:00
Luis Ángel San Martín
c10f181054
Use mirror for 7z and p7zip src deps
...
For some reason downloading from sourceforge fails a lot and makes CI unusable.
2021-12-29 08:49:49 +01:00
Luis Ángel San Martín
040883a107
Fix static assert when compiling with Qt 6.2.2
...
QtConcurrent::run doesn't like that reference anymore
2021-12-28 17:48:35 +01:00
Luis Ángel San Martín
97d21a5f27
Install required additional qt6 modules
2021-12-28 16:40:30 +01:00
Luis Ángel San Martín
ef5b8136ae
Add a build job for qt6 to ensure that no regressions are introduced that will break qt6 compilation
2021-12-28 15:56:50 +01:00
Luis Ángel San Martín
e822e19703
Update CHANGELOG
2021-12-27 16:44:21 +01:00
Luis Ángel San Martín
55f7c4e1b0
Modify the scale of the cell on mouse over
...
This will differentiate the mouse over accent vs the selection accent
2021-12-27 16:25:43 +01:00
Luis Ángel San Martín
88de0ae25a
Add publication date to the classic comics view table
2021-12-26 20:26:16 +01:00
Luis Ángel San Martín
2cb20cd11e
Remove commented code
2021-12-26 20:23:32 +01:00
Luis Ángel San Martín
62464a450c
Fix method overriding
2021-12-26 20:22:35 +01:00
Luis Ángel San Martín
868c6aa269
Use the new signal to trigger YACReaderNavigationController::selectedFolder
2021-12-26 17:33:04 +01:00
Luis Ángel San Martín
a619947bfd
Add a signal to YACReaderTreeView to know when the current index changes
2021-12-26 17:32:09 +01:00
Luis Ángel San Martín
3792a1efc5
Add override to overridden methods in YACReaderTreeView
2021-12-26 17:31:18 +01:00
spinningthelock
5971aacda0
Enable using integrated GPU in Dual GPU Macs
...
Currently YACReader will default to higher-end discrete GPU for OpenGL calls. This increases the battery usage while having no need for such high performance. This Flag tells MacOS to switching to integrated GPU is oky in this app.
References:
https://developer.apple.com/library/archive/qa/qa1734/_index.html
https://developer.apple.com/documentation/bundleresources/information_property_list/nssupportsautomaticgraphicsswitching?language=objc
2021-12-25 11:30:04 -05:00
Luis Ángel San Martín
e7ad50bc2c
Add some comments to make easier to find jobs config in azure pipelines .yml
2021-12-18 21:06:34 +01:00
Luis Ángel San Martín
75fe9c0da2
Try to use a more meaningful tag name for dev releases
2021-12-18 19:15:10 +01:00
Luis Ángel San Martín
c51b7894c9
Add a target pointing to the destination repository
2021-12-18 18:37:54 +01:00
Luis Ángel San Martín
cc1b7ba3fc
Set the full repo name
2021-12-18 17:13:22 +01:00
Luis Ángel San Martín
c74ad79c03
Try to upload dev builds to yacreader-dev-builds
2021-12-18 15:11:50 +01:00
BEN ENGLISCH
181494027b
Add updated mime-types to YACReader.desktop
2021-11-10 19:21:39 +01:00
Luis Ángel San Martín
053a27d474
Add more missing dlls to the windows installer
2021-11-07 20:47:54 +01:00
Luis Ángel San Martín
e882ad272b
Qt.labs.animation is not used yet
2021-11-07 09:31:23 +01:00
Luis Ángel San Martín
7f8c5c9d34
Add QtQuickControls2.dll to the windows installer
2021-11-07 09:31:10 +01:00
Joan Karadimov
19410cd6e7
Enable the usage of pkg-config by MinGW builds
2021-11-02 11:02:32 +01:00
Joan Karadimov
30b8e1bf3c
Shorten a Unix/MinGW condition in config.pri
2021-11-02 11:02:32 +01:00
Joan Karadimov
2d533949f4
Remove duplicate variables from YACReaderLibrary.pro
2021-11-02 11:02:32 +01:00
Joan Karadimov
6aeed9ae90
Include some missing headers
2021-11-02 11:02:32 +01:00
Joan Karadimov
1c3fd4d16f
Do not pass MSVC arguments to mingw/gcc
2021-11-02 11:02:32 +01:00
Luis Ángel San Martín
7268de0197
Merge pull request #277 from YACReader/feature/qt6-migration
...
Feature: qt6 migration (part 1: remove all qt5.15 deprecations)
2021-10-24 09:53:12 +02:00
Luis Ángel San Martín
806b5d2462
Install qtquickcontrols2 package in Linux
2021-10-23 17:29:37 +02:00
Luis Ángel San Martín
4bee296096
Strict qt5.15 breaks poppler
2021-10-23 17:11:50 +02:00
Luis Ángel San Martín
ab2de73285
Try dev/unstable
2021-10-23 09:42:21 +02:00
Luis Ángel San Martín
fb133fe98c
Try dev/stable
2021-10-20 22:48:32 +02:00
Luis Ángel San Martín
e1814c5a51
Try dev repo to see if fixes compilation when using poppler + qt5.15
2021-10-20 22:13:33 +02:00
Luis Ángel San Martín
3d7f66d327
Try to install the right version of poppler for qt5.15
2021-10-20 21:07:00 +02:00
Luis Ángel San Martín
820e876885
try to get qt5.15 in ubuntu
2021-10-20 19:25:53 +02:00
Luis Ángel San Martín
bac5cfe9c2
Bump unbuntu image to 20.04
2021-10-20 19:19:32 +02:00
Luis Ángel San Martín
45b94cd8ef
Migrate GridComicsView and InfoComicsView to QtQuick and QtQuick.Controls 2.15
2021-10-19 00:00:09 +02:00
Luis Ángel San Martín
71b17fe258
Trivial migrations to QtQuick 2.15
2021-10-19 00:00:09 +02:00
Luis Ángel San Martín
17064a12e6
Remove qml components what won't be used anymore
2021-10-19 00:00:09 +02:00
Luis Ángel San Martín
c5d3ebebc8
Remove commented code
2021-10-19 00:00:09 +02:00
Luis Ángel San Martín
997b82eb79
Add quickcontrols2 to YACReaderLibrary
...
QtQuick.Controls v1 to v2 migration, yay! -_-
2021-10-19 00:00:09 +02:00