Category loggings and better warnings.

Took 18 minutes


Took 42 seconds
This commit is contained in:
Lukas Brübach 2025-07-13 11:54:01 +02:00
parent e0ac77db23
commit c137201317
3 changed files with 18 additions and 8 deletions

View file

@ -19,6 +19,7 @@
#tab_supervisor = true #tab_supervisor = true
#dlg_edit_avatar = true #dlg_edit_avatar = true
#dlg_load_deck_from_website = true
#dlg_settings = true #dlg_settings = true
#dlg_tip_of_the_day = true #dlg_tip_of_the_day = true
#dlg_update = true #dlg_update = true

View file

@ -54,12 +54,14 @@ void DlgLoadDeckFromWebsite::accept()
{ {
ParsedDeckInfo info; ParsedDeckInfo info;
if (DeckLinkToApiTransformer::parseDeckUrl(urlEdit->text(), info)) { if (DeckLinkToApiTransformer::parseDeckUrl(urlEdit->text(), info)) {
qInfo() << info.baseUrl << info.deckID << info.fullUrl; qCInfo(DlgLoadDeckFromWebsiteLog) << info.baseUrl << info.deckID << info.fullUrl;
auto jsonParser = createParserForProvider(info.provider); auto jsonParser = createParserForProvider(info.provider);
if (!jsonParser && info.provider != DeckProvider::Deckstats && info.provider != DeckProvider::TappedOut) { if (!jsonParser && info.provider != DeckProvider::Deckstats && info.provider != DeckProvider::TappedOut) {
qWarning() << "No parser found for provider"; qCWarning(DlgLoadDeckFromWebsiteLog) << "No parser found for provider";
QMessageBox::warning(this, tr("Load Deck from Website"), tr("No parser available for this deck provider.")); QMessageBox::warning(this, tr("Load Deck from Website"),
tr("No parser available for this deck provider.\n (Archidekt, Deckstats, Moxfield, "
"and TappedOut are supported.)"));
QDialog::reject(); QDialog::reject();
return; return;
} }
@ -72,7 +74,7 @@ void DlgLoadDeckFromWebsite::accept()
loop.exec(); loop.exec();
if (reply->error() != QNetworkReply::NoError) { if (reply->error() != QNetworkReply::NoError) {
qWarning() << "Network error:" << reply->errorString(); qCWarning(DlgLoadDeckFromWebsiteLog) << "Network error:" << reply->errorString();
QMessageBox::warning(this, tr("Load Deck from Website"), tr("Network error: %1").arg(reply->errorString())); QMessageBox::warning(this, tr("Load Deck from Website"), tr("Network error: %1").arg(reply->errorString()));
reply->deleteLater(); reply->deleteLater();
QDialog::reject(); QDialog::reject();
@ -86,7 +88,7 @@ void DlgLoadDeckFromWebsite::accept()
if (info.provider == DeckProvider::Deckstats || info.provider == DeckProvider::TappedOut) { if (info.provider == DeckProvider::Deckstats || info.provider == DeckProvider::TappedOut) {
QString deckText = QString::fromUtf8(responseData); QString deckText = QString::fromUtf8(responseData);
if (deckText.isEmpty()) { if (deckText.isEmpty()) {
qWarning() << "Response is empty"; qCWarning(DlgLoadDeckFromWebsiteLog) << "Response is empty";
QMessageBox::warning(this, tr("Load Deck from Website"), tr("Received empty deck data.")); QMessageBox::warning(this, tr("Load Deck from Website"), tr("Received empty deck data."));
QDialog::reject(); QDialog::reject();
return; return;
@ -107,7 +109,7 @@ void DlgLoadDeckFromWebsite::accept()
QJsonParseError parseError; QJsonParseError parseError;
QJsonDocument doc = QJsonDocument::fromJson(responseData, &parseError); QJsonDocument doc = QJsonDocument::fromJson(responseData, &parseError);
if (parseError.error != QJsonParseError::NoError) { if (parseError.error != QJsonParseError::NoError) {
qWarning() << "JSON parse error:" << parseError.errorString(); qCWarning(DlgLoadDeckFromWebsiteLog) << "JSON parse error:" << parseError.errorString();
QMessageBox::warning(this, tr("Load Deck from Website"), QMessageBox::warning(this, tr("Load Deck from Website"),
tr("Failed to parse deck data: %1").arg(parseError.errorString())); tr("Failed to parse deck data: %1").arg(parseError.errorString()));
QDialog::reject(); QDialog::reject();
@ -118,9 +120,14 @@ void DlgLoadDeckFromWebsite::accept()
QDialog::accept(); QDialog::accept();
} else { } else {
qInfo() << "URL not recognized"; qCInfo(DlgLoadDeckFromWebsiteLog) << "URL not recognized";
QMessageBox::warning(this, tr("Load Deck from Website"), QMessageBox::warning(this, tr("Load Deck from Website"),
tr("The provided URL is not recognized as a valid deck URL.")); tr("The provided URL is not recognized as a valid deck URL.\n"
"Valid deck URLs look like this:\n\n"
"https://archidekt.com/decks/9999999\n"
"https://deckstats.net/decks/99999/9999999-your-deck-name/en\n"
"https://moxfield.com/decks/XYZxx-XYZ99Yyy-xyzXzzz\n"
"https://tappedout.net/mtg-decks/your-deck-name/"));
QDialog::reject(); QDialog::reject();
} }
} }

View file

@ -10,6 +10,8 @@
#include <QNetworkAccessManager> #include <QNetworkAccessManager>
#include <QVBoxLayout> #include <QVBoxLayout>
inline Q_LOGGING_CATEGORY(DlgLoadDeckFromWebsiteLog, "dlg_load_deck_from_website");
class DlgLoadDeckFromWebsite : public QDialog class DlgLoadDeckFromWebsite : public QDialog
{ {
Q_OBJECT Q_OBJECT