Commit Graph

100 Commits

Author SHA1 Message Date
06814d066a Merge pull request #200 from vedgy/rename-processor-class-typo
Fix a typo in ComicQueryResultProcessor class name
2021-03-13 15:54:22 +01:00
8a54100804 Library: allow configuring a shortcut to focus comics view
Focusing the current comics view allows to use keyboard arrow keys to
choose among the visible comics.

The shortcut for this new action should not be a single character
without modifiers because it won't work when the search line has focus.

The Qt::FocusReason parameter in ComicsView::focusComicsNavigation()
allows to reuse this function for other keyboard navigation features.
For instance the search line can transfer focus to comics navigation
when the user presses Return or Enter key. In this case
Qt::OtherFocusReason can be used (an application-specific reason).
2021-03-13 15:08:33 +02:00
81e40dabec Library: add a shortcut to focus search line
The Ctrl+F shortcut gives focus to a search bar in many applications.
In this case it allows to search the library without touching a mouse.

YACReaderMacOSXSearchLineEdit::setFocus() will have to be implemented to
make the shortcut work on macOS.
2021-03-13 14:59:29 +02:00
3c9ed6ef8f Deprecated qSort => std::sort
This change gets rid of some GCC's -Wdeprecated-declarations warnings.
2021-03-09 21:32:23 +01:00
3fcf31d936 Enable/disable comics actions after updating search results
Before this commit starting a search when an empty folder or an empty
reading list was selected left all comics actions disabled. Fixes #213.

When search mode is exited, we always call either
YACReaderNavigationController::loadFolderInfo() or
YACReaderNavigationController::loadListInfo(). Both of them call
LibraryWindow::disableComicsActions(), so the enabled/disabled state of
the comics actions stays up-to-date at all times.
2021-03-06 21:01:20 +01:00
c4333915c9 Library: don't leak DB model objects at exit
Currently these objects are created once at program startup and are
never destroyed. Printing debug messages in the models' destructors
confirms the leaks and proves that with this fix the objects are
destroyed at Library exit.
2021-03-06 21:00:31 +01:00
aa9dd95d5d LibraryWindow: remove a duplicate signal-slot connection
QSqlDatabase::commit() in ComicModel::finishTransaction() returned false
(failed) when this slot was invoked the second time in a row.
2021-02-07 20:16:20 +02:00
5257dc88d6 Library: destroy the temporary thread when deleting finishes
finished() signal of both FoldersRemover and ComicsRemover was not
connected to their QThread's quit() slot. So the thread kept running
after the deletion completed. The QThread's parent is LibraryWindow.
Thus LibraryWindow's ~QObject() invokes the QThread's destructor.

As a result, when the user exited YACReader Library after deleting at
least one folder or comic, it printed the following FATAL message and
crashed at exit: "QThread: Destroyed while thread is still running".

Extract signal-slot connections between a remover and a QThread into
moveAndConnectRemoverToThread() to reduce code duplication.

Remove always true (thread != NULL) checks.
2021-02-07 19:46:15 +02:00
12c2ff027a ComicQueryResultProcessor: fix a typo in the class name 2021-02-06 20:08:44 +02:00
64d0e22fb5 Library: don't leak folderQueryResultProcessor at exit
FolderQueryResultProcessor has a ConcurrentQueue data member. The leak
meant that the thread was not joined before exit.
2021-02-04 17:58:33 +02:00
58fdf0af23 Add what's new dialog 2021-01-21 21:39:22 +01:00
20c772797b Fix typo 2021-01-16 18:59:53 +01:00
6461a4014e Add actions for setting folders as manga/normal 2021-01-16 18:31:48 +01:00
97c7723b17 Add support for setting issues as manga/normal in the comics view 2021-01-16 14:25:47 +01:00
5343d24f26 Run folder search filtering in the background
It uses the same approach used by the comics search filter
2021-01-14 11:37:17 +01:00
ccc382df7d Use ComicQueryResultProcesor 2021-01-14 09:17:18 +01:00
e1b0e7c96f Fix full screen mode in windows with qt 5.12.4+ 2019-09-28 10:11:44 +02:00
ef8216b338 Make closeApp work with no event
And exit using QApplication.exit so we don't mess with window events to exit the app
2019-09-21 12:11:03 +02:00
8e99d9e59f Extract the system tray functionality to its own class
LibraryWindow is already a monster, so we'll try to not make it bigger.
2019-09-21 10:47:01 +02:00
403e657062 A new trayicon is needed for macos 2019-09-20 13:41:26 +02:00
6031c81d81 Add better icons for the system tray in macos and windows
I would like to design specific icons for the system tray at some point, but for now this is what we have.
2019-09-20 10:07:20 +02:00
a0f682be7b Merge went bad
Hopefully this is all that got messed up
2019-09-19 22:32:07 +02:00
a632480422 Format 2019-09-19 21:16:56 +02:00
e587f59ddb Add support for minimize and start to tray. 2019-09-19 20:22:14 +02:00
bb334cfd50 Use auto to avoid duplicating the type name 2019-06-01 16:04:48 +02:00
e3ec56aa43 Format code using clang-format 2019-05-30 19:46:37 +02:00
c1810b9e54 Library: do not needlessly retrieve all comics from the DB
The siblings variable is unused. So the ComicModel::getAllComics() call
is redundant unless there is some unobvious side effect (I hope not).
2019-05-24 14:53:52 +03:00
c044e93446 Library: typecast in comparison of int and quint64 2019-04-01 11:25:16 +02:00
f7b4b7a5d1 Library: add missing 'case' to a 'switch' 2019-04-01 11:25:16 +02:00
3062d8826e Library: reorder initialization of LibraryWindow 2019-04-01 11:25:16 +02:00
d5a11fb16b Add .gitattributes rules for text and binary handling 2018-07-30 15:04:04 +02:00
229afbc9a9 Fix crash caused by accessing the UI thread from a background thread.
ComicVineDialog was calling close from background, plus accepted is emmited from a background thread, so it needs a QueuedConnection.
2018-05-31 18:09:41 +02:00
6faea2b5a7 Disabled minimize to system tray for now.
App icon needs some work to look ok in Windows 10 system tray and macos is not ready yet to fully support this.
2018-05-23 17:24:04 +02:00
f6d389ff35 Add current/next comic view to GridView. 2018-04-23 19:22:51 +02:00
b41884d5db Merge 2018-04-14 10:24:19 +02:00
d9d94b103a Fix YACReader launch on MacOS 2018-03-30 14:14:43 +02:00
049081960f Run the library upgrade in background. 2018-03-12 21:22:00 +01:00
827a76413b Sanitize YACReader launch code 2018-03-11 20:13:19 +01:00
3654b6b527 Backed out changeset 84d6af62bc15, restore previously removed QProcess improvements for launching YACReader 2018-02-20 16:31:06 +01:00
e6c4e92e01 YACReaderLibrary: Activate and rise window on tray icon clicks 2018-02-19 13:54:12 +01:00
1815ba64a1 YACReaderLibrary: Add a tray icon 2018-02-17 13:40:04 +01:00
2cbbf8d433 Headless server: simplify system config logger 2018-01-28 13:32:56 +01:00
e8c6f60c13 Merge 2017-11-26 07:39:08 +01:00
d5f167b670 Don't set the window icon, let windows use the app icon. 2017-11-20 21:37:26 +01:00
c69499246d Backed out changeset 2a88239c2640 (don't change critical stuff during a beta phase) 2017-11-14 18:05:17 +01:00
97cfff3ef2 QProcess: always use proper process arguments when opening YACReader from the library 2017-11-12 12:08:22 +01:00
caf53f0442 Fix spelling errors reported by stevepusser 2017-11-11 08:55:16 +01:00
02e7caf5c5 Bug fix. Updates through the server didn't update the read field in the DB. 2017-10-20 17:42:25 +02:00
f149f314e0 Merge 2017-08-26 16:54:10 +02:00
d6898e9a4e Fixed data base info retrieving through DBHelper, value(QString) should never be used because it is really slow. All items sorting should be done at db level or using std::sort. 2017-08-26 16:16:11 +02:00