mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-06-09 15:54:47 -07:00
Replace CardInfo* and Carset* with smart pointers (#3053)
* Replace CardInfo* and Carset* with smart pointers * fixes to help memory & c++11 stuff
This commit is contained in:
parent
3e418ba3c6
commit
517420cccb
37 changed files with 409 additions and 342 deletions
|
|
@ -3,15 +3,13 @@
|
|||
SetsModel::SetsModel(CardDatabase *_db, QObject *parent) : QAbstractTableModel(parent), sets(_db->getSetList())
|
||||
{
|
||||
sets.sortByKey();
|
||||
foreach (CardSet *set, sets) {
|
||||
for (const CardSetPtr &set : sets) {
|
||||
if (set->getEnabled())
|
||||
enabledSets.insert(set);
|
||||
}
|
||||
}
|
||||
|
||||
SetsModel::~SetsModel()
|
||||
{
|
||||
}
|
||||
SetsModel::~SetsModel() = default;
|
||||
|
||||
int SetsModel::rowCount(const QModelIndex &parent) const
|
||||
{
|
||||
|
|
@ -26,7 +24,7 @@ QVariant SetsModel::data(const QModelIndex &index, int role) const
|
|||
if (!index.isValid() || (index.column() >= NUM_COLS) || (index.row() >= rowCount()))
|
||||
return QVariant();
|
||||
|
||||
CardSet *set = sets[index.row()];
|
||||
CardSetPtr set = sets[index.row()];
|
||||
|
||||
if (index.column() == EnabledCol) {
|
||||
switch (role) {
|
||||
|
|
@ -146,7 +144,7 @@ bool SetsModel::dropMimeData(const QMimeData *data,
|
|||
|
||||
void SetsModel::toggleRow(int row, bool enable)
|
||||
{
|
||||
CardSet *temp = sets.at(row);
|
||||
CardSetPtr temp = sets.at(row);
|
||||
|
||||
if (enable)
|
||||
enabledSets.insert(temp);
|
||||
|
|
@ -158,7 +156,7 @@ void SetsModel::toggleRow(int row, bool enable)
|
|||
|
||||
void SetsModel::toggleRow(int row)
|
||||
{
|
||||
CardSet *tmp = sets.at(row);
|
||||
CardSetPtr tmp = sets.at(row);
|
||||
|
||||
if (tmp == nullptr)
|
||||
return;
|
||||
|
|
@ -176,7 +174,7 @@ void SetsModel::toggleAll(bool enabled)
|
|||
enabledSets.clear();
|
||||
|
||||
if (enabled)
|
||||
foreach (CardSet *set, sets)
|
||||
for (CardSetPtr set : sets)
|
||||
enabledSets.insert(set);
|
||||
|
||||
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1));
|
||||
|
|
@ -185,7 +183,7 @@ void SetsModel::toggleAll(bool enabled)
|
|||
void SetsModel::swapRows(int oldRow, int newRow)
|
||||
{
|
||||
beginRemoveRows(QModelIndex(), oldRow, oldRow);
|
||||
CardSet *temp = sets.takeAt(oldRow);
|
||||
CardSetPtr temp = sets.takeAt(oldRow);
|
||||
endRemoveRows();
|
||||
|
||||
beginInsertRows(QModelIndex(), newRow, newRow);
|
||||
|
|
@ -197,14 +195,14 @@ void SetsModel::swapRows(int oldRow, int newRow)
|
|||
|
||||
void SetsModel::sort(int column, Qt::SortOrder order)
|
||||
{
|
||||
QMap<QString, CardSet *> setMap;
|
||||
QMap<QString, CardSetPtr> setMap;
|
||||
int numRows = rowCount();
|
||||
int row;
|
||||
|
||||
for (row = 0; row < numRows; ++row)
|
||||
setMap.insertMulti(index(row, column).data(SetsModel::SortRole).toString(), sets.at(row));
|
||||
|
||||
QList<CardSet *> tmp = setMap.values();
|
||||
QList<CardSetPtr> tmp = setMap.values();
|
||||
sets.clear();
|
||||
if (order == Qt::AscendingOrder) {
|
||||
for (row = 0; row < tmp.size(); row++) {
|
||||
|
|
@ -222,11 +220,11 @@ void SetsModel::sort(int column, Qt::SortOrder order)
|
|||
void SetsModel::save(CardDatabase *db)
|
||||
{
|
||||
// order
|
||||
for (int i = 0; i < sets.size(); i++)
|
||||
for (unsigned int i = 0; i < sets.size(); i++)
|
||||
sets[i]->setSortKey(i + 1);
|
||||
|
||||
// enabled sets
|
||||
foreach (CardSet *set, sets)
|
||||
for (const CardSetPtr &set : sets)
|
||||
set->setEnabled(enabledSets.contains(set));
|
||||
|
||||
sets.sortByKey();
|
||||
|
|
@ -242,7 +240,7 @@ void SetsModel::restore(CardDatabase *db)
|
|||
|
||||
// enabled sets
|
||||
enabledSets.clear();
|
||||
foreach (CardSet *set, sets) {
|
||||
for (const CardSetPtr &set : sets) {
|
||||
if (set->getEnabled())
|
||||
enabledSets.insert(set);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue