diff --git a/cockatrice/src/carddatabase.cpp b/cockatrice/src/carddatabase.cpp index dce7da72..489b78d9 100644 --- a/cockatrice/src/carddatabase.cpp +++ b/cockatrice/src/carddatabase.cpp @@ -99,7 +99,7 @@ int SetList::getUnknownSetsNum() for (int i = 0; i < size(); ++i) { CardSet *set = at(i); - if(!set->getIsKnown()) + if(!set->getIsKnown() && !set->getIsKnownIgnored()) ++num; } return num; @@ -111,7 +111,7 @@ QStringList SetList::getUnknownSetsNames() for (int i = 0; i < size(); ++i) { CardSet *set = at(i); - if(!set->getIsKnown()) + if(!set->getIsKnown() && !set->getIsKnownIgnored()) sets << set->getShortName(); } return sets; @@ -122,11 +122,15 @@ void SetList::enableAllUnknown() for (int i = 0; i < size(); ++i) { CardSet *set = at(i); - if(!set->getIsKnown()) + if(!set->getIsKnown() && !set->getIsKnownIgnored()) { set->setIsKnown(true); set->setEnabled(true); } + else if (set->getIsKnownIgnored() && !set->getEnabled()) + { + set->setEnabled(true); + } } } @@ -135,7 +139,8 @@ void SetList::enableAll() for (int i = 0; i < size(); ++i) { CardSet *set = at(i); - set->setIsKnown(true); + if(!set->getIsKnownIgnored()) + set->setIsKnown(true); set->setEnabled(true); } } @@ -145,9 +150,14 @@ void SetList::markAllAsKnown() for (int i = 0; i < size(); ++i) { CardSet *set = at(i); - if(!set->getIsKnown()) + if(!set->getIsKnown() && !set->getIsKnownIgnored()) { set->setIsKnown(true); + set->setEnabled(false); + } + else if (set->getIsKnownIgnored() && !set->getEnabled()) + { + set->setEnabled(true); } } } @@ -840,6 +850,8 @@ void CardDatabase::checkUnknownSets() QStringList unknownSetNames = sets.getUnknownSetsNames(); if(numUnknownSets > 0) emit cardDatabaseNewSetsFound(numUnknownSets, unknownSetNames); + else + sets.markAllAsKnown(); } 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 557454ff..800f22cb 100644 --- a/cockatrice/src/carddatabase.h +++ b/cockatrice/src/carddatabase.h @@ -43,6 +43,8 @@ public: void setEnabled(bool _enabled); bool getIsKnown() const { return isknown; } void setIsKnown(bool _isknown); + //Determine incomplete sets. + bool getIsKnownIgnored() const { return longName.length() + setType.length() + releaseDate.toString().length() == 0 ; } }; class SetList : public QList {