When checking unknown sets, consider sets with an empty long name, set type and release date as 'incomplete'/'partial' sets. Do not mark partial sets as known, or ask the user to enable them. Instead, silently enable partial sets. When a partial set becomes complete, the user is prompted to enable the set as before. If they choose not to enable, those partial sets are disabled, as we can no longer assume they are disabled by default.
This commit is contained in:
parent
61893faf3b
commit
b05ed0376a
2 changed files with 19 additions and 5 deletions
|
@ -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();
|
||||
|
|
|
@ -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<CardSet *> {
|
||||
|
|
Loading…
Reference in a new issue