Replace QtScript with QJson*

QtScript is deprecated and this was needed to start supporting Qt6
This commit is contained in:
Luis Ángel San Martín
2021-02-27 12:02:57 +01:00
parent 32e1db7134
commit 51a9c72d05
10 changed files with 232 additions and 258 deletions

View File

@ -1,20 +1,20 @@
#include "select_volume.h"
#include <QLabel>
#include <QVBoxLayout>
#include <QDesktopServices>
#include <QHBoxLayout>
#include <QScrollBar>
#include <QHeaderView>
#include <QJsonDocument>
#include <QJsonParseError>
#include <QLabel>
#include <QModelIndex>
#include <QScrollArea>
#include <QDesktopServices>
#include <QHeaderView>
#include <QToolButton>
#include <QScrollBar>
#include <QSortFilterProxyModel>
#include <QToolButton>
#include <QVBoxLayout>
#include "scraper_tableview.h"
#include <QtScript>
#include "volumes_model.h"
#include "comic_vine_client.h"
#include "scraper_scroll_label.h"
@ -149,18 +149,17 @@ void SelectVolume::setCover(const QByteArray &data)
void SelectVolume::setDescription(const QString &jsonDetail)
{
QScriptEngine engine;
QScriptValue sc;
sc = engine.evaluate("(" + jsonDetail + ")");
QJsonParseError Err;
QVariantMap sc = QJsonDocument::fromJson(jsonDetail.toUtf8(), &Err).toVariant().toMap();
if (!sc.property("error").isValid() && sc.property("error").toString() != "OK") {
if (Err.error != QJsonParseError::NoError) {
qDebug("Error detected");
} else {
QScriptValue descriptionValues = sc.property("results").property("description");
bool valid = !descriptionValues.isNull() && descriptionValues.isValid();
detailLabel->setText(valid ? descriptionValues.toString().replace("<a", "<a style = 'color:#827A68; text-decoration:none;'") : tr("description unavailable"));
return;
}
QVariant descriptionValues = sc.value("results").toMap().value("description");
bool valid = !descriptionValues.isNull() && descriptionValues.isValid();
detailLabel->setText(valid ? descriptionValues.toString().replace("<a", "<a style = 'color:#827A68; text-decoration:none;'") : tr("description unavailable"));
}
QString SelectVolume::getSelectedVolumeId()