Check parent in rowCount/columnCount/canFetchMore

Signed-off-by: TheLastRar <TheLastRar@users.noreply.github.com>
This commit is contained in:
TheLastRar 2022-11-13 14:35:55 +00:00
parent 5558f3d2cc
commit fce323b945
20 changed files with 41 additions and 41 deletions

View File

@ -95,12 +95,12 @@ BaseVersionList::RoleList BaseVersionList::providesRoles() const
int BaseVersionList::rowCount(const QModelIndex &parent) const int BaseVersionList::rowCount(const QModelIndex &parent) const
{ {
// Return count // Return count
return count(); return parent.isValid() ? 0 : count();
} }
int BaseVersionList::columnCount(const QModelIndex &parent) const int BaseVersionList::columnCount(const QModelIndex &parent) const
{ {
return 1; return parent.isValid() ? 0 : 1;
} }
QHash<int, QByteArray> BaseVersionList::roleNames() const QHash<int, QByteArray> BaseVersionList::roleNames() const

View File

@ -311,14 +311,14 @@ QModelIndex VersionProxyModel::index(int row, int column, const QModelIndex &par
int VersionProxyModel::columnCount(const QModelIndex &parent) const int VersionProxyModel::columnCount(const QModelIndex &parent) const
{ {
return m_columns.size(); return parent.isValid() ? 0 : m_columns.size();
} }
int VersionProxyModel::rowCount(const QModelIndex &parent) const int VersionProxyModel::rowCount(const QModelIndex &parent) const
{ {
if(sourceModel()) if(sourceModel())
{ {
return sourceModel()->rowCount(); return sourceModel()->rowCount(parent);
} }
return 0; return 0;
} }

View File

@ -302,7 +302,7 @@ QVariant IconList::data(const QModelIndex &index, int role) const
int IconList::rowCount(const QModelIndex &parent) const int IconList::rowCount(const QModelIndex &parent) const
{ {
return icons.size(); return parent.isValid() ? 0 : icons.size();
} }
void IconList::installIcons(const QStringList &iconFiles) void IconList::installIcons(const QStringList &iconFiles)

View File

@ -58,11 +58,11 @@ QVariant Index::data(const QModelIndex &index, int role) const
} }
int Index::rowCount(const QModelIndex &parent) const int Index::rowCount(const QModelIndex &parent) const
{ {
return m_lists.size(); return parent.isValid() ? 0 : m_lists.size();
} }
int Index::columnCount(const QModelIndex &parent) const int Index::columnCount(const QModelIndex &parent) const
{ {
return 1; return parent.isValid() ? 0 : 1;
} }
QVariant Index::headerData(int section, Qt::Orientation orientation, int role) const QVariant Index::headerData(int section, Qt::Orientation orientation, int role) const
{ {

View File

@ -675,12 +675,12 @@ Qt::ItemFlags PackProfile::flags(const QModelIndex &index) const
int PackProfile::rowCount(const QModelIndex &parent) const int PackProfile::rowCount(const QModelIndex &parent) const
{ {
return d->components.size(); return parent.isValid() ? 0 : d->components.size();
} }
int PackProfile::columnCount(const QModelIndex &parent) const int PackProfile::columnCount(const QModelIndex &parent) const
{ {
return NUM_COLUMNS; return parent.isValid() ? 0 : NUM_COLUMNS;
} }
void PackProfile::move(const int index, const MoveDirection direction) void PackProfile::move(const int index, const MoveDirection direction)

View File

@ -173,7 +173,7 @@ bool WorldList::resetIcon(int row)
int WorldList::columnCount(const QModelIndex &parent) const int WorldList::columnCount(const QModelIndex &parent) const
{ {
return 4; return parent.isValid()? 0 : 4;
} }
QVariant WorldList::data(const QModelIndex &index, int role) const QVariant WorldList::data(const QModelIndex &index, int role) const

View File

@ -54,7 +54,7 @@ public:
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const virtual int rowCount(const QModelIndex &parent = QModelIndex()) const
{ {
return size(); return parent.isValid() ? 0 : static_cast<int>(size());
}; };
virtual QVariant headerData(int section, Qt::Orientation orientation, virtual QVariant headerData(int section, Qt::Orientation orientation,
int role = Qt::DisplayRole) const; int role = Qt::DisplayRole) const;

View File

@ -408,15 +408,15 @@ QVariant AccountList::headerData(int section, Qt::Orientation orientation, int r
} }
} }
int AccountList::rowCount(const QModelIndex &) const int AccountList::rowCount(const QModelIndex &parent) const
{ {
// Return count // Return count
return count(); return parent.isValid() ? 0 : count();
} }
int AccountList::columnCount(const QModelIndex &) const int AccountList::columnCount(const QModelIndex &parent) const
{ {
return NUM_COLUMNS; return parent.isValid() ? 0 : NUM_COLUMNS;
} }
Qt::ItemFlags AccountList::flags(const QModelIndex &index) const Qt::ItemFlags AccountList::flags(const QModelIndex &index) const

View File

@ -144,7 +144,7 @@ QVariant ModFolderModel::headerData(int section, Qt::Orientation orientation, in
int ModFolderModel::columnCount(const QModelIndex &parent) const int ModFolderModel::columnCount(const QModelIndex &parent) const
{ {
return NUM_COLUMNS; return parent.isValid() ? 0 : NUM_COLUMNS;
} }
Task* ModFolderModel::createUpdateTask() Task* ModFolderModel::createUpdateTask()

View File

@ -90,8 +90,8 @@ class ResourceFolderModel : public QAbstractListModel {
/* Basic columns */ /* Basic columns */
enum Columns { ACTIVE_COLUMN = 0, NAME_COLUMN, DATE_COLUMN, NUM_COLUMNS }; enum Columns { ACTIVE_COLUMN = 0, NAME_COLUMN, DATE_COLUMN, NUM_COLUMNS };
[[nodiscard]] int rowCount(const QModelIndex& = {}) const override { return size(); } [[nodiscard]] int rowCount(const QModelIndex& parent = {}) const override { return parent.isValid() ? 0 : static_cast<int>(size()); }
[[nodiscard]] int columnCount(const QModelIndex& = {}) const override { return NUM_COLUMNS; }; [[nodiscard]] int columnCount(const QModelIndex& parent = {}) const override { return parent.isValid() ? 0 : NUM_COLUMNS; };
[[nodiscard]] Qt::DropActions supportedDropActions() const override; [[nodiscard]] Qt::DropActions supportedDropActions() const override;

View File

@ -137,7 +137,7 @@ QVariant ResourcePackFolderModel::headerData(int section, Qt::Orientation orient
int ResourcePackFolderModel::columnCount(const QModelIndex& parent) const int ResourcePackFolderModel::columnCount(const QModelIndex& parent) const
{ {
return NUM_COLUMNS; return parent.isValid() ? 0 : NUM_COLUMNS;
} }
Task* ResourcePackFolderModel::createUpdateTask() Task* ResourcePackFolderModel::createUpdateTask()

View File

@ -400,11 +400,11 @@ public:
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override
{ {
return m_servers.size(); return parent.isValid() ? 0 : m_servers.size();
} }
int columnCount(const QModelIndex & parent) const override int columnCount(const QModelIndex & parent) const override
{ {
return COLUMN_COUNT; return parent.isValid() ? 0 : COLUMN_COUNT;
} }
Server * at(int index) Server * at(int index)

View File

@ -20,8 +20,8 @@ class ListModel : public QAbstractListModel {
ListModel(ModPage* parent); ListModel(ModPage* parent);
~ListModel() override; ~ListModel() override;
inline auto rowCount(const QModelIndex& parent) const -> int override { return modpacks.size(); }; inline auto rowCount(const QModelIndex& parent) const -> int override { return parent.isValid() ? 0 : modpacks.size(); };
inline auto columnCount(const QModelIndex& parent) const -> int override { return 1; }; inline auto columnCount(const QModelIndex& parent) const -> int override { return parent.isValid() ? 0 : 1; };
inline auto flags(const QModelIndex& index) const -> Qt::ItemFlags override { return QAbstractListModel::flags(index); }; inline auto flags(const QModelIndex& index) const -> Qt::ItemFlags override { return QAbstractListModel::flags(index); };
auto debugName() const -> QString; auto debugName() const -> QString;
@ -46,7 +46,7 @@ class ListModel : public QAbstractListModel {
void getLogo(const QString& logo, const QString& logoUrl, LogoCallback callback); void getLogo(const QString& logo, const QString& logoUrl, LogoCallback callback);
inline auto canFetchMore(const QModelIndex& parent) const -> bool override { return searchState == CanPossiblyFetchMore; }; inline auto canFetchMore(const QModelIndex& parent) const -> bool override { return parent.isValid() ? false : searchState == CanPossiblyFetchMore; };
public slots: public slots:
void searchRequestFinished(QJsonDocument& doc); void searchRequestFinished(QJsonDocument& doc);

View File

@ -32,12 +32,12 @@ ListModel::~ListModel()
int ListModel::rowCount(const QModelIndex &parent) const int ListModel::rowCount(const QModelIndex &parent) const
{ {
return modpacks.size(); return parent.isValid() ? 0 : modpacks.size();
} }
int ListModel::columnCount(const QModelIndex &parent) const int ListModel::columnCount(const QModelIndex &parent) const
{ {
return 1; return parent.isValid() ? 0 : 1;
} }
QVariant ListModel::data(const QModelIndex &index, int role) const QVariant ListModel::data(const QModelIndex &index, int role) const

View File

@ -75,12 +75,12 @@ QVector<QString> AtlOptionalModListModel::getResult() {
} }
int AtlOptionalModListModel::rowCount(const QModelIndex &parent) const { int AtlOptionalModListModel::rowCount(const QModelIndex &parent) const {
return m_mods.size(); return parent.isValid() ? 0 : m_mods.size();
} }
int AtlOptionalModListModel::columnCount(const QModelIndex &parent) const { int AtlOptionalModListModel::columnCount(const QModelIndex &parent) const {
// Enabled, Name, Description // Enabled, Name, Description
return 3; return parent.isValid() ? 0 : 3;
} }
QVariant AtlOptionalModListModel::data(const QModelIndex &index, int role) const { QVariant AtlOptionalModListModel::data(const QModelIndex &index, int role) const {

View File

@ -15,12 +15,12 @@ ListModel::~ListModel() {}
int ListModel::rowCount(const QModelIndex& parent) const int ListModel::rowCount(const QModelIndex& parent) const
{ {
return modpacks.size(); return parent.isValid() ? 0 : modpacks.size();
} }
int ListModel::columnCount(const QModelIndex& parent) const int ListModel::columnCount(const QModelIndex& parent) const
{ {
return 1; return parent.isValid() ? 0 : 1;
} }
QVariant ListModel::data(const QModelIndex& index, int role) const QVariant ListModel::data(const QModelIndex& index, int role) const

View File

@ -34,12 +34,12 @@ ListModel::~ListModel()
int ListModel::rowCount(const QModelIndex &parent) const int ListModel::rowCount(const QModelIndex &parent) const
{ {
return modpacks.size(); return parent.isValid() ? 0 : modpacks.size();
} }
int ListModel::columnCount(const QModelIndex &parent) const int ListModel::columnCount(const QModelIndex &parent) const
{ {
return 1; return parent.isValid() ? 0 : 1;
} }
QVariant ListModel::data(const QModelIndex &index, int role) const QVariant ListModel::data(const QModelIndex &index, int role) const

View File

@ -125,12 +125,12 @@ QString ListModel::translatePackType(PackType type) const
int ListModel::rowCount(const QModelIndex &parent) const int ListModel::rowCount(const QModelIndex &parent) const
{ {
return modpacks.size(); return parent.isValid() ? 0 : modpacks.size();
} }
int ListModel::columnCount(const QModelIndex &parent) const int ListModel::columnCount(const QModelIndex &parent) const
{ {
return 1; return parent.isValid() ? 0 : 1;
} }
QVariant ListModel::data(const QModelIndex &index, int role) const QVariant ListModel::data(const QModelIndex &index, int role) const

View File

@ -55,8 +55,8 @@ class ModpackListModel : public QAbstractListModel {
ModpackListModel(ModrinthPage* parent); ModpackListModel(ModrinthPage* parent);
~ModpackListModel() override = default; ~ModpackListModel() override = default;
inline auto rowCount(const QModelIndex& parent) const -> int override { return modpacks.size(); }; inline auto rowCount(const QModelIndex& parent) const -> int override { return parent.isValid() ? 0 : modpacks.size(); };
inline auto columnCount(const QModelIndex& parent) const -> int override { return 1; }; inline auto columnCount(const QModelIndex& parent) const -> int override { return parent.isValid() ? 0 : 1; };
inline auto flags(const QModelIndex& index) const -> Qt::ItemFlags override { return QAbstractListModel::flags(index); }; inline auto flags(const QModelIndex& index) const -> Qt::ItemFlags override { return QAbstractListModel::flags(index); };
auto debugName() const -> QString; auto debugName() const -> QString;
@ -74,7 +74,7 @@ class ModpackListModel : public QAbstractListModel {
void getLogo(const QString& logo, const QString& logoUrl, LogoCallback callback); void getLogo(const QString& logo, const QString& logoUrl, LogoCallback callback);
inline auto canFetchMore(const QModelIndex& parent) const -> bool override { return searchState == CanPossiblyFetchMore; }; inline auto canFetchMore(const QModelIndex& parent) const -> bool override { return parent.isValid() ? false : searchState == CanPossiblyFetchMore; };
public slots: public slots:
void searchRequestFinished(QJsonDocument& doc_all); void searchRequestFinished(QJsonDocument& doc_all);

View File

@ -80,14 +80,14 @@ QVariant Technic::ListModel::data(const QModelIndex& index, int role) const
return QVariant(); return QVariant();
} }
int Technic::ListModel::columnCount(const QModelIndex&) const int Technic::ListModel::columnCount(const QModelIndex& parent) const
{ {
return 1; return parent.isValid() ? 0 : 1;
} }
int Technic::ListModel::rowCount(const QModelIndex&) const int Technic::ListModel::rowCount(const QModelIndex& parent) const
{ {
return modpacks.size(); return parent.isValid() ? 0 : modpacks.size();
} }
void Technic::ListModel::searchWithTerm(const QString& term) void Technic::ListModel::searchWithTerm(const QString& term)