mirror of
https://github.com/YACReader/yacreader
synced 2025-05-28 03:10:27 -04:00
Use a better default search string from comic files
This commit is contained in:
parent
dfb1cb9b70
commit
6b1987a16a
@ -143,9 +143,7 @@ void ComicVineDialog::goNext()
|
|||||||
|
|
||||||
showLoading(tr("Looking for volume..."));
|
showLoading(tr("Looking for volume..."));
|
||||||
|
|
||||||
// TODO: option to handle exact matches?
|
searchVolume({ volumeSearchStringFromComic(comic), 1, true });
|
||||||
// TODO: parse the file name to create better searches
|
|
||||||
searchVolume({ title, 1, true });
|
|
||||||
}
|
}
|
||||||
} else if (content->currentWidget() == selectVolumeWidget) {
|
} else if (content->currentWidget() == selectVolumeWidget) {
|
||||||
currentVolumeId = selectVolumeWidget->getSelectedVolumeInfo().id;
|
currentVolumeId = selectVolumeWidget->getSelectedVolumeInfo().id;
|
||||||
@ -260,10 +258,11 @@ void ComicVineDialog::show()
|
|||||||
mode = ScraperMode::SingleComic;
|
mode = ScraperMode::SingleComic;
|
||||||
|
|
||||||
ComicDB singleComic = comics[0];
|
ComicDB singleComic = comics[0];
|
||||||
|
|
||||||
QString title = singleComic.getTitleOrFileName();
|
QString title = singleComic.getTitleOrFileName();
|
||||||
titleHeader->setSubTitle(title);
|
titleHeader->setSubTitle(title);
|
||||||
|
|
||||||
showSearchSingleComic(singleComic.getParentFolderName());
|
showSearchSingleComic(volumeSearchStringFromComic(singleComic));
|
||||||
} else if (comics.length() > 1) {
|
} else if (comics.length() > 1) {
|
||||||
titleHeader->setSubTitle(tr("%1 comics selected").arg(comics.length()));
|
titleHeader->setSubTitle(tr("%1 comics selected").arg(comics.length()));
|
||||||
showSeriesQuestion();
|
showSeriesQuestion();
|
||||||
@ -533,6 +532,25 @@ void ComicVineDialog::toggleSkipButton()
|
|||||||
skipButton->setHidden(true);
|
skipButton->setHidden(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString ComicVineDialog::volumeSearchStringFromComic(const ComicDB &comic)
|
||||||
|
{
|
||||||
|
auto volume = comic.info.volume.toString().trimmed();
|
||||||
|
if (!volume.isEmpty())
|
||||||
|
return volume;
|
||||||
|
|
||||||
|
auto series = comic.info.series.toString().trimmed();
|
||||||
|
if (!series.isEmpty())
|
||||||
|
return series;
|
||||||
|
|
||||||
|
auto alternateSeries = comic.info.alternateSeries.toString().trimmed();
|
||||||
|
if (!alternateSeries.isEmpty())
|
||||||
|
return alternateSeries;
|
||||||
|
|
||||||
|
// extract information from file name
|
||||||
|
auto parentFolderName = comic.getParentFolderName();
|
||||||
|
return parentFolderName;
|
||||||
|
}
|
||||||
|
|
||||||
void ComicVineDialog::goToNextComic()
|
void ComicVineDialog::goToNextComic()
|
||||||
{
|
{
|
||||||
if (mode == ScraperMode::SingleComic || currentIndex == (comics.count() - 1)) {
|
if (mode == ScraperMode::SingleComic || currentIndex == (comics.count() - 1)) {
|
||||||
@ -543,11 +561,11 @@ void ComicVineDialog::goToNextComic()
|
|||||||
currentIndex++;
|
currentIndex++;
|
||||||
|
|
||||||
ComicDB comic = comics[currentIndex];
|
ComicDB comic = comics[currentIndex];
|
||||||
|
|
||||||
QString title = comic.getTitleOrFileName();
|
QString title = comic.getTitleOrFileName();
|
||||||
titleHeader->setSubTitle(tr("comic %1 of %2 - %3").arg(currentIndex + 1).arg(comics.length()).arg(title));
|
titleHeader->setSubTitle(tr("comic %1 of %2 - %3").arg(currentIndex + 1).arg(comics.length()).arg(title));
|
||||||
|
|
||||||
// TODO: parse title
|
showSearchSingleComic(volumeSearchStringFromComic(comic));
|
||||||
showSearchSingleComic(title);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ComicVineDialog::clearState()
|
void ComicVineDialog::clearState()
|
||||||
|
@ -66,8 +66,8 @@ protected slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void clearState();
|
void clearState();
|
||||||
|
|
||||||
void toggleSkipButton();
|
void toggleSkipButton();
|
||||||
|
QString volumeSearchStringFromComic(const ComicDB &comic);
|
||||||
|
|
||||||
enum class ScraperMode {
|
enum class ScraperMode {
|
||||||
SingleComic, // the scraper has been opened for a single comic
|
SingleComic, // the scraper has been opened for a single comic
|
||||||
|
Loading…
Reference in New Issue
Block a user