From e231158b1d75f872bf19b4b364e38592032971c2 Mon Sep 17 00:00:00 2001 From: Lioncache Date: Mon, 8 Dec 2025 15:33:35 -0500 Subject: [PATCH] CResourceProxyModel: Use forward declarations Reduce the amount of rebuilding necessary. --- .../ResourceBrowser/CResourceProxyModel.cpp | 24 +++++++++++-------- .../ResourceBrowser/CResourceProxyModel.h | 13 +++++----- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/Editor/ResourceBrowser/CResourceProxyModel.cpp b/src/Editor/ResourceBrowser/CResourceProxyModel.cpp index a6a36c7e..884a2996 100644 --- a/src/Editor/ResourceBrowser/CResourceProxyModel.cpp +++ b/src/Editor/ResourceBrowser/CResourceProxyModel.cpp @@ -1,5 +1,9 @@ #include "Editor/ResourceBrowser/CResourceProxyModel.h" +#include +#include +#include "Editor/ResourceBrowser/CResourceTableModel.h" + CResourceProxyModel::CResourceProxyModel(QObject* parent) : QSortFilterProxyModel(parent) { @@ -51,8 +55,8 @@ bool CResourceProxyModel::lessThan(const QModelIndex& rkLeft, const QModelIndex& bool CResourceProxyModel::filterAcceptsRow(int SourceRow, const QModelIndex& rkSourceParent) const { - QModelIndex Index = mpModel->index(SourceRow, 0, rkSourceParent); - CResourceEntry *pEntry = mpModel->IndexEntry(Index); + const QModelIndex Index = mpModel->index(SourceRow, 0, rkSourceParent); + const CResourceEntry* pEntry = mpModel->IndexEntry(Index); if (pEntry && !IsTypeAccepted(pEntry->TypeInfo())) return false; @@ -63,7 +67,7 @@ bool CResourceProxyModel::filterAcceptsRow(int SourceRow, const QModelIndex& rkS if (!pEntry) return false; - bool HasNameMatch = pEntry->UppercaseName().Contains(mSearchString); + const bool HasNameMatch = pEntry->UppercaseName().Contains(mSearchString); if (!HasNameMatch) { @@ -71,17 +75,17 @@ bool CResourceProxyModel::filterAcceptsRow(int SourceRow, const QModelIndex& rkS if (mCompareBitLength > 0) { - const auto IDBitLength = static_cast(pEntry->ID().Length()) * 8; + const auto IDBitLength = static_cast(pEntry->ID().Length()) * 8; if (mCompareBitLength <= IDBitLength) { - uint64 ID = pEntry->ID().ToLongLong(); - uint32 MaxShift = IDBitLength - mCompareBitLength; + const uint64_t ID = pEntry->ID().ToLongLong(); + const uint32_t MaxShift = IDBitLength - mCompareBitLength; - for (uint32 Shift = 0; Shift <= MaxShift; Shift += 4) + for (uint32_t Shift = 0; Shift <= MaxShift; Shift += 4) { - uint64 ShiftCompare = mCompareID << Shift; - uint64 Mask = mCompareMask << Shift; + const uint64_t ShiftCompare = mCompareID << Shift; + const uint64_t Mask = mCompareMask << Shift; if ((ID & Mask) == ShiftCompare) { @@ -137,7 +141,7 @@ void CResourceProxyModel::SetSearchString(const TString& rkString) if (IDString.Size() <= 16 && IDString.IsHexString()) { mCompareBitLength = IDString.Size() * 4; - mCompareMask = ((uint64) 1 << mCompareBitLength) - 1; + mCompareMask = (1ULL << mCompareBitLength) - 1; mCompareID = IDString.ToInt64(16); if (mCompareMask == 0) diff --git a/src/Editor/ResourceBrowser/CResourceProxyModel.h b/src/Editor/ResourceBrowser/CResourceProxyModel.h index 66454809..9da9e23b 100644 --- a/src/Editor/ResourceBrowser/CResourceProxyModel.h +++ b/src/Editor/ResourceBrowser/CResourceProxyModel.h @@ -2,13 +2,12 @@ #define CRESOURCEPROXYMODEL #include -#include -#include -#include -#include "Editor/ResourceBrowser/CResourceTableModel.h" #include +class CResourceTableModel; +class CResTypeInfo; + class CResourceProxyModel : public QSortFilterProxyModel { Q_OBJECT @@ -42,9 +41,9 @@ private: ESortMode mSortMode{}; QSet mTypeFilter; - uint64 mCompareID = 0; - uint64 mCompareMask = 0; - uint32 mCompareBitLength = 0; + uint64_t mCompareID = 0; + uint64_t mCompareMask = 0; + uint32_t mCompareBitLength = 0; }; #endif // CRESOURCEPROXYMODEL