ComicInfo::getTypeString: Return an empty string for unhandled enums (#403)

* ComicInfo::getTypeString: Add default return for unhandled enum

* CXX flags: Promote warnings about missing branches in enum-based switches as errors

* Add missing case in switch

* Catch conversion errors in debug mode and silence missing return warnings

* Replace default with missing cases

* ComicInfo::getTypeString: Use QStringLiterals

* Revert "CXX flags: Promote warnings about missing branches in enum-based switches as errors"

This reverts commit d22c115925.

---------

Co-authored-by: Luis Ángel San Martín <luisangelsm@gmail.com>
This commit is contained in:
Felix Kauselmann 2023-10-28 17:07:32 +02:00 committed by GitHub
parent 74c16f5c81
commit 9278160bbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 6 deletions

View File

@ -172,7 +172,10 @@ bool ComicModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int
case ReadingList:
DBHelper::reasignOrderToComicsInReadingList(sourceId, allComicIds, db);
break;
default:
case Folder:
case Reading:
case Recent:
case SearchResult:
break;
}
connectionName = db.connectionName();
@ -1307,6 +1310,9 @@ void ComicModel::deleteComicsFromSpecialList(const QList<QModelIndex> &comicsLis
case ReadingListModel::TypeSpecialList::Favorites:
deleteComicsFromFavorites(comicsList);
break;
case ReadingListModel::TypeSpecialList::Recent:
// do nothing, recent is read only
break;
}
}

View File

@ -522,18 +522,26 @@ QStringList ComicInfo::getTags()
QString ComicInfo::getTypeString()
{
if (!type.canConvert<YACReader::FileType>()) {
assert(false);
return QStringLiteral("Unknown");
}
switch (type.value<YACReader::FileType>()) {
case YACReader::FileType::Comic:
return "Comic";
return QStringLiteral("Comic");
case YACReader::FileType::Manga:
return "Manga";
return QStringLiteral("Manga");
case YACReader::FileType::WesternManga:
return "Western Manga";
return QStringLiteral("Western Manga");
case YACReader::FileType::WebComic:
return "Web Comic";
return QStringLiteral("Web Comic");
case YACReader::FileType::Yonkoma:
return "4-Koma";
return QStringLiteral("4-Koma");
}
assert(false);
return QStringLiteral("Unknown");
}
QString ComicInfo::getStoryArcInfoString()