Add set names to dialog

This commit is contained in:
Zach H 2016-05-31 20:29:00 -04:00
parent e50c2014d1
commit 1ff98cfcb4
4 changed files with 24 additions and 7 deletions

View file

@ -105,6 +105,18 @@ int SetList::getUnknownSetsNum()
return num; 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() void SetList::enableAllUnknown()
{ {
for (int i = 0; i < size(); ++i) 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 // if some sets are first found on thus run, ask the user
int numUnknownSets = sets.getUnknownSetsNum(); int numUnknownSets = sets.getUnknownSetsNum();
QStringList unknownSetNames = sets.getUnknownSetsNames();
if(numUnknownSets > 0) if(numUnknownSets > 0)
emit cardDatabaseNewSetsFound(numUnknownSets); emit cardDatabaseNewSetsFound(numUnknownSets, unknownSetNames);
} else { } else {
// No set enabled. Probably this is the first time running trice // No set enabled. Probably this is the first time running trice
sets.guessSortKeys(); sets.guessSortKeys();

View file

@ -55,6 +55,7 @@ public:
void markAllAsKnown(); void markAllAsKnown();
int getEnabledSetsNum(); int getEnabledSetsNum();
int getUnknownSetsNum(); int getUnknownSetsNum();
QStringList getUnknownSetsNames();
}; };
class CardInfo : public QObject { class CardInfo : public QObject {
@ -237,7 +238,7 @@ private slots:
LoadStatus loadCardDatabase(const QString &path); LoadStatus loadCardDatabase(const QString &path);
signals: signals:
void cardDatabaseLoadingFailed(); void cardDatabaseLoadingFailed();
void cardDatabaseNewSetsFound(int numUnknownSets); void cardDatabaseNewSetsFound(int numUnknownSets, QStringList unknownSetsNames);
void cardDatabaseAllNewSetsEnabled(); void cardDatabaseAllNewSetsEnabled();
void cardDatabaseEnabledSetsChanged(); void cardDatabaseEnabledSetsChanged();
void cardAdded(CardInfo *card); void cardAdded(CardInfo *card);

View file

@ -664,7 +664,7 @@ MainWindow::MainWindow(QWidget *parent)
refreshShortcuts(); refreshShortcuts();
connect(db, SIGNAL(cardDatabaseLoadingFailed()), this, SLOT(cardDatabaseLoadingFailed())); 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())); connect(db, SIGNAL(cardDatabaseAllNewSetsEnabled()), this, SLOT(cardDatabaseAllNewSetsEnabled()));
QtConcurrent::run(db, &CardDatabase::loadCardDatabases); 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; QMessageBox msgBox;
msgBox.setWindowTitle(tr("New sets found")); msgBox.setWindowTitle(tr("New sets found"));
msgBox.setIcon(QMessageBox::Question); msgBox.setIcon(QMessageBox::Question);
msgBox.setText(tr("%1 new set(s) have been found in the card database.\n" msgBox.setText(
"Do you want to enable them?").arg(numUnknownSets)); 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 *yesButton = msgBox.addButton(tr("Yes"), QMessageBox::YesRole);
QPushButton *noButton = msgBox.addButton(tr("No"), QMessageBox::NoRole); QPushButton *noButton = msgBox.addButton(tr("No"), QMessageBox::NoRole);

View file

@ -80,7 +80,7 @@ private slots:
void cardUpdateFinished(int exitCode, QProcess::ExitStatus exitStatus); void cardUpdateFinished(int exitCode, QProcess::ExitStatus exitStatus);
void refreshShortcuts(); void refreshShortcuts();
void cardDatabaseLoadingFailed(); void cardDatabaseLoadingFailed();
void cardDatabaseNewSetsFound(int numUnknownSets); void cardDatabaseNewSetsFound(int numUnknownSets, QStringList unknownSetsNames);
void cardDatabaseAllNewSetsEnabled(); void cardDatabaseAllNewSetsEnabled();
void actOpenCustomFolder(); void actOpenCustomFolder();