CPropertyNameValidator: Avoid redundant string construction

Also simplifies scope
This commit is contained in:
Lioncache
2025-12-13 20:37:02 -05:00
parent 798d6e61dd
commit 1a60a9c7c7

View File

@@ -23,13 +23,15 @@ void CPropertyNameValidator::SetTypeNameOverride(const QString& kNewTypeName)
/** Perform validation */ /** Perform validation */
QValidator::State CPropertyNameValidator::validate(QString& rInput, int&) const QValidator::State CPropertyNameValidator::validate(QString& rInput, int&) const
{ {
if (mpProperty) if (!mpProperty)
{ return QValidator::Invalid;
TString TypeName = (mTypeNameOverride.isEmpty() ? mpProperty->HashableTypeName() : TO_TSTRING(mTypeNameOverride));
const TString TypeName = mTypeNameOverride.isEmpty() ? mpProperty->HashableTypeName() : TO_TSTRING(mTypeNameOverride);
const auto InputString = rInput.toStdString();
CCRC32 Hash; CCRC32 Hash;
Hash.Hash( rInput.toStdString().c_str() ); Hash.Hash(InputString.c_str());
Hash.Hash( *TypeName ); Hash.Hash(TypeName.Data());
uint32 PropertyID = Hash.Digest(); uint32 PropertyID = Hash.Digest();
if (PropertyID != mpProperty->ID()) if (PropertyID != mpProperty->ID())
@@ -37,13 +39,11 @@ QValidator::State CPropertyNameValidator::validate(QString& rInput, int&) const
if (mpProperty->Type() == EPropertyType::Int) if (mpProperty->Type() == EPropertyType::Int)
{ {
CCRC32 Hash2; CCRC32 Hash2;
Hash2.Hash( rInput.toStdString().c_str() ); Hash2.Hash(InputString.c_str());
Hash2.Hash( "choice" ); Hash2.Hash("choice");
PropertyID = Hash2.Digest(); PropertyID = Hash2.Digest();
} }
} }
return ( PropertyID == mpProperty->ID() ? QValidator::Acceptable : QValidator::Invalid );
}
return QValidator::Invalid; return PropertyID == mpProperty->ID() ? QValidator::Acceptable : QValidator::Invalid;
} }