Add support for multi-selection in set editor (#2441)

This commit is contained in:
Zach H 2017-03-22 15:49:38 -04:00 committed by GitHub
parent 33e8a2ea95
commit 85985a9433
4 changed files with 175 additions and 74 deletions

View file

@ -124,7 +124,7 @@ void SetsModel::toggleRow(int row, bool enable)
{
CardSet *temp = sets.at(row);
if(enable)
if (enable)
enabledSets.insert(temp);
else
enabledSets.remove(temp);
@ -132,14 +132,28 @@ void SetsModel::toggleRow(int row, bool enable)
emit dataChanged(index(row, EnabledCol), index(row, EnabledCol));
}
void SetsModel::toggleAll(bool enable)
void SetsModel::toggleRow(int row)
{
CardSet *tmp = sets.at(row);
if (tmp == nullptr)
return;
if (enabledSets.contains(tmp))
enabledSets.remove(tmp);
else
enabledSets.insert(tmp);
emit dataChanged(index(row, EnabledCol), index(row, EnabledCol));
}
void SetsModel::toggleAll(bool enabled)
{
enabledSets.clear();
if(enable)
{
if (enabled)
foreach(CardSet *set, sets)
enabledSets.insert(set);
}
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1));
}