diff --git a/cockatrice/src/carddatabase.cpp b/cockatrice/src/carddatabase.cpp index 7c6d4155..3288b944 100644 --- a/cockatrice/src/carddatabase.cpp +++ b/cockatrice/src/carddatabase.cpp @@ -105,6 +105,18 @@ int SetList::getUnknownSetsNum() return num; } +QStringList SetList::getUnknownSetsNames() +{ + QStringList sets = QStringList(); + for (int i = 0; i < size(); ++i) + { + CardSet *set = at(i); + if(!set->getIsKnown()) + sets << set->getShortName(); + } + return sets; +} + void SetList::enableAllUnknown() { for (int i = 0; i < size(); ++i) @@ -755,8 +767,9 @@ void CardDatabase::checkUnknownSets() { // if some sets are first found on thus run, ask the user int numUnknownSets = sets.getUnknownSetsNum(); + QStringList unknownSetNames = sets.getUnknownSetsNames(); if(numUnknownSets > 0) - emit cardDatabaseNewSetsFound(numUnknownSets); + emit cardDatabaseNewSetsFound(numUnknownSets, unknownSetNames); } else { // No set enabled. Probably this is the first time running trice sets.guessSortKeys(); diff --git a/cockatrice/src/carddatabase.h b/cockatrice/src/carddatabase.h index 54cafdb2..cf8912ff 100644 --- a/cockatrice/src/carddatabase.h +++ b/cockatrice/src/carddatabase.h @@ -55,6 +55,7 @@ public: void markAllAsKnown(); int getEnabledSetsNum(); int getUnknownSetsNum(); + QStringList getUnknownSetsNames(); }; class CardInfo : public QObject { @@ -237,7 +238,7 @@ private slots: LoadStatus loadCardDatabase(const QString &path); signals: void cardDatabaseLoadingFailed(); - void cardDatabaseNewSetsFound(int numUnknownSets); + void cardDatabaseNewSetsFound(int numUnknownSets, QStringList unknownSetsNames); void cardDatabaseAllNewSetsEnabled(); void cardDatabaseEnabledSetsChanged(); void cardAdded(CardInfo *card); diff --git a/cockatrice/src/window_main.cpp b/cockatrice/src/window_main.cpp index 6b1ceb5b..fbf46937 100644 --- a/cockatrice/src/window_main.cpp +++ b/cockatrice/src/window_main.cpp @@ -664,7 +664,7 @@ MainWindow::MainWindow(QWidget *parent) refreshShortcuts(); connect(db, SIGNAL(cardDatabaseLoadingFailed()), this, SLOT(cardDatabaseLoadingFailed())); - connect(db, SIGNAL(cardDatabaseNewSetsFound(int)), this, SLOT(cardDatabaseNewSetsFound(int))); + connect(db, SIGNAL(cardDatabaseNewSetsFound(int, QStringList)), this, SLOT(cardDatabaseNewSetsFound(int, QStringList))); connect(db, SIGNAL(cardDatabaseAllNewSetsEnabled()), this, SLOT(cardDatabaseAllNewSetsEnabled())); QtConcurrent::run(db, &CardDatabase::loadCardDatabases); } @@ -782,13 +782,16 @@ void MainWindow::cardDatabaseLoadingFailed() } } -void MainWindow::cardDatabaseNewSetsFound(int numUnknownSets) +void MainWindow::cardDatabaseNewSetsFound(int numUnknownSets, QStringList unknownSetsNames) { QMessageBox msgBox; msgBox.setWindowTitle(tr("New sets found")); msgBox.setIcon(QMessageBox::Question); - msgBox.setText(tr("%1 new set(s) have been found in the card database.\n" - "Do you want to enable them?").arg(numUnknownSets)); + msgBox.setText( + tr("%1 new sets found in the card database\n" + "Set codes: %2\n" + "Do you want to enable them?" + ).arg(numUnknownSets).arg(unknownSetsNames.join(", "))); QPushButton *yesButton = msgBox.addButton(tr("Yes"), QMessageBox::YesRole); QPushButton *noButton = msgBox.addButton(tr("No"), QMessageBox::NoRole); diff --git a/cockatrice/src/window_main.h b/cockatrice/src/window_main.h index b86ec6d6..113a5d97 100644 --- a/cockatrice/src/window_main.h +++ b/cockatrice/src/window_main.h @@ -80,7 +80,7 @@ private slots: void cardUpdateFinished(int exitCode, QProcess::ExitStatus exitStatus); void refreshShortcuts(); void cardDatabaseLoadingFailed(); - void cardDatabaseNewSetsFound(int numUnknownSets); + void cardDatabaseNewSetsFound(int numUnknownSets, QStringList unknownSetsNames); void cardDatabaseAllNewSetsEnabled(); void actOpenCustomFolder();