Add a new boolean field for tagging comics as manga

This commit is contained in:
Luis Ángel San Martín 2021-01-16 14:23:59 +01:00
parent 8c6e8cdf36
commit 3ab05c6777
5 changed files with 40 additions and 3 deletions

View File

@ -181,7 +181,9 @@ bool DataBaseManagement::createTables(QSqlDatabase &database)
//new 9.5 fields //new 9.5 fields
"lastTimeOpened INTEGER," "lastTimeOpened INTEGER,"
"coverSizeRatio REAL," "coverSizeRatio REAL,"
"originalCoverSize STRING" //h/w "originalCoverSize STRING," //h/w
//new 9.8 fields
"manga BOOLEAN DEFAULT 0"
")"); ")");
success = success && queryComicInfo.exec(); success = success && queryComicInfo.exec();
@ -402,6 +404,7 @@ bool DataBaseManagement::importComicsInfo(QString source, QString dest)
"format = :format," "format = :format,"
"color = :color," "color = :color,"
"ageRating = :ageRating," "ageRating = :ageRating,"
"manga = :manga"
"synopsis = :synopsis," "synopsis = :synopsis,"
"characters = :characters," "characters = :characters,"
@ -478,6 +481,7 @@ bool DataBaseManagement::importComicsInfo(QString source, QString dest)
":format," ":format,"
":color," ":color,"
":ageRating," ":ageRating,"
":manga,"
":synopsis," ":synopsis,"
":characters," ":characters,"
@ -580,6 +584,7 @@ void DataBaseManagement::bindValuesFromRecord(const QSqlRecord &record, QSqlQuer
bindString("format", record, query); bindString("format", record, query);
bindInt("color", record, query); bindInt("color", record, query);
bindString("ageRating", record, query); bindString("ageRating", record, query);
bindInt("manga", record, query);
bindString("synopsis", record, query); bindString("synopsis", record, query);
bindString("characters", record, query); bindString("characters", record, query);
@ -707,6 +712,7 @@ bool DataBaseManagement::updateToCurrentVersion(const QString &path)
bool pre7_1 = false; bool pre7_1 = false;
bool pre8 = false; bool pre8 = false;
bool pre9_5 = false; bool pre9_5 = false;
bool pre9_8 = false;
QString fullPath = path + "/library.ydb"; QString fullPath = path + "/library.ydb";
@ -718,6 +724,8 @@ bool DataBaseManagement::updateToCurrentVersion(const QString &path)
pre8 = true; pre8 = true;
if (compareVersions(DataBaseManagement::checkValidDB(fullPath), "9.5.0") < 0) if (compareVersions(DataBaseManagement::checkValidDB(fullPath), "9.5.0") < 0)
pre9_5 = true; pre9_5 = true;
if (compareVersions(DataBaseManagement::checkValidDB(fullPath), "9.8.0") < 0)
pre9_8 = true;
QString connectionName = ""; QString connectionName = "";
bool returnValue = false; bool returnValue = false;
@ -828,6 +836,15 @@ bool DataBaseManagement::updateToCurrentVersion(const QString &path)
db.commit(); db.commit();
} }
} }
if (pre9_8) {
{ //comic_info
QStringList columnDefs;
columnDefs << "manga BOOLEAN DEFAULT 0";
bool successAddingColumns = addColumns("comic_info", columnDefs, db);
returnValue = returnValue && successAddingColumns;
}
}
} }
connectionName = db.connectionName(); connectionName = db.connectionName();
} }

View File

@ -564,7 +564,11 @@ void DBHelper::update(ComicInfo *comicInfo, QSqlDatabase &db)
"lastTimeOpened = :lastTimeOpened," "lastTimeOpened = :lastTimeOpened,"
"coverSizeRatio = :coverSizeRatio," "coverSizeRatio = :coverSizeRatio,"
"originalCoverSize = :originalCoverSize" "originalCoverSize = :originalCoverSize,"
//--
//new 9.8 fields
"manga = :manga"
//-- //--
" WHERE id = :id "); " WHERE id = :id ");
@ -596,6 +600,7 @@ void DBHelper::update(ComicInfo *comicInfo, QSqlDatabase &db)
updateComicInfo.bindValue(":format", comicInfo->format); updateComicInfo.bindValue(":format", comicInfo->format);
updateComicInfo.bindValue(":color", comicInfo->color); updateComicInfo.bindValue(":color", comicInfo->color);
updateComicInfo.bindValue(":ageRating", comicInfo->ageRating); updateComicInfo.bindValue(":ageRating", comicInfo->ageRating);
updateComicInfo.bindValue(":manga", comicInfo->manga);
updateComicInfo.bindValue(":synopsis", comicInfo->synopsis); updateComicInfo.bindValue(":synopsis", comicInfo->synopsis);
updateComicInfo.bindValue(":characters", comicInfo->characters); updateComicInfo.bindValue(":characters", comicInfo->characters);
@ -1330,6 +1335,7 @@ QList<ComicDB> DBHelper::getSortedComicsFromParent(qulonglong parentId, QSqlData
int format = record.indexOf("format"); int format = record.indexOf("format");
int color = record.indexOf("color"); int color = record.indexOf("color");
int ageRating = record.indexOf("ageRating"); int ageRating = record.indexOf("ageRating");
int manga = record.indexOf("manga");
int synopsis = record.indexOf("synopsis"); int synopsis = record.indexOf("synopsis");
int characters = record.indexOf("characters"); int characters = record.indexOf("characters");
@ -1394,6 +1400,7 @@ QList<ComicDB> DBHelper::getSortedComicsFromParent(qulonglong parentId, QSqlData
currentItem.info.format = selectQuery.value(format); currentItem.info.format = selectQuery.value(format);
currentItem.info.color = selectQuery.value(color); currentItem.info.color = selectQuery.value(color);
currentItem.info.ageRating = selectQuery.value(ageRating); currentItem.info.ageRating = selectQuery.value(ageRating);
currentItem.info.manga = selectQuery.value(manga);
currentItem.info.synopsis = selectQuery.value(synopsis); currentItem.info.synopsis = selectQuery.value(synopsis);
currentItem.info.characters = selectQuery.value(characters); currentItem.info.characters = selectQuery.value(characters);
@ -1696,6 +1703,7 @@ ComicInfo DBHelper::loadComicInfo(QString hash, QSqlDatabase &db)
int format = record.indexOf("format"); int format = record.indexOf("format");
int color = record.indexOf("color"); int color = record.indexOf("color");
int ageRating = record.indexOf("ageRating"); int ageRating = record.indexOf("ageRating");
int manga = record.indexOf("manga");
int synopsis = record.indexOf("synopsis"); int synopsis = record.indexOf("synopsis");
int characters = record.indexOf("characters"); int characters = record.indexOf("characters");
@ -1767,6 +1775,10 @@ ComicInfo DBHelper::loadComicInfo(QString hash, QSqlDatabase &db)
comicInfo.originalCoverSize = findComicInfo.value(originalCoverSize); comicInfo.originalCoverSize = findComicInfo.value(originalCoverSize);
//-- //--
//new 9.8 fields
comicInfo.manga = findComicInfo.value(manga);
//--
comicInfo.existOnDb = true; comicInfo.existOnDb = true;
} else } else
comicInfo.existOnDb = false; comicInfo.existOnDb = false;

View File

@ -102,6 +102,9 @@ QString ComicDB::toTXT()
if (!info.ageRating.isNull()) if (!info.ageRating.isNull())
txt.append(QString("ageRating:%1\r\n").arg(info.ageRating.toString())); txt.append(QString("ageRating:%1\r\n").arg(info.ageRating.toString()));
if (!info.manga.isNull())
txt.append(QString("manga:%1\r\n").arg(info.manga.toString()));
//Argumento //Argumento
if (!info.synopsis.isNull()) if (!info.synopsis.isNull())
txt.append(QString("synopsis:%1\r\n").arg(info.synopsis.toString())); txt.append(QString("synopsis:%1\r\n").arg(info.synopsis.toString()));
@ -232,6 +235,7 @@ ComicInfo &ComicInfo::operator=(const ComicInfo &comicInfo)
publisher = comicInfo.publisher; publisher = comicInfo.publisher;
format = comicInfo.format; format = comicInfo.format;
color = comicInfo.color; color = comicInfo.color;
manga = comicInfo.manga;
ageRating = comicInfo.ageRating; ageRating = comicInfo.ageRating;
synopsis = comicInfo.synopsis; synopsis = comicInfo.synopsis;
characters = comicInfo.characters; characters = comicInfo.characters;
@ -537,6 +541,7 @@ QDataStream &operator<<(QDataStream &stream, const ComicInfo &comicInfo)
stream << comicInfo.format; stream << comicInfo.format;
stream << comicInfo.color; stream << comicInfo.color;
stream << comicInfo.ageRating; stream << comicInfo.ageRating;
stream << comicInfo.manga;
stream << comicInfo.synopsis; stream << comicInfo.synopsis;
stream << comicInfo.characters; stream << comicInfo.characters;
@ -598,6 +603,7 @@ QDataStream &operator>>(QDataStream &stream, ComicInfo &comicInfo)
stream >> comicInfo.format; stream >> comicInfo.format;
stream >> comicInfo.color; stream >> comicInfo.color;
stream >> comicInfo.ageRating; stream >> comicInfo.ageRating;
stream >> comicInfo.manga;
stream >> comicInfo.synopsis; stream >> comicInfo.synopsis;
stream >> comicInfo.characters; stream >> comicInfo.characters;

View File

@ -73,6 +73,7 @@ public:
QVariant format; //string QVariant format; //string
QVariant color; //bool QVariant color; //bool
QVariant ageRating; //string QVariant ageRating; //string
QVariant manga; //bool
QVariant synopsis; //string QVariant synopsis; //string
QVariant characters; //string QVariant characters; //string
@ -180,6 +181,7 @@ public:
Q_PROPERTY(QVariant format MEMBER format CONSTANT) Q_PROPERTY(QVariant format MEMBER format CONSTANT)
Q_PROPERTY(QVariant color MEMBER color CONSTANT) Q_PROPERTY(QVariant color MEMBER color CONSTANT)
Q_PROPERTY(QVariant ageRating MEMBER ageRating CONSTANT) Q_PROPERTY(QVariant ageRating MEMBER ageRating CONSTANT)
Q_PROPERTY(QVariant manga MEMBER manga CONSTANT)
Q_PROPERTY(QVariant synopsis MEMBER synopsis CONSTANT) Q_PROPERTY(QVariant synopsis MEMBER synopsis CONSTANT)
Q_PROPERTY(QVariant characters MEMBER characters CONSTANT) Q_PROPERTY(QVariant characters MEMBER characters CONSTANT)

View File

@ -3,7 +3,7 @@
#include <QStandardPaths> #include <QStandardPaths>
#define VERSION "9.7.1" #define VERSION "9.8.0"
#define REMOTE_BROWSE_PERFORMANCE_WORKAROUND "REMOTE_BROWSE_PERFORMANCE_WORKAROUND" #define REMOTE_BROWSE_PERFORMANCE_WORKAROUND "REMOTE_BROWSE_PERFORMANCE_WORKAROUND"