diff --git a/src/blackmisc/aviation/airporticaocode.cpp b/src/blackmisc/aviation/airporticaocode.cpp index 96b58c488..51b3b784f 100644 --- a/src/blackmisc/aviation/airporticaocode.cpp +++ b/src/blackmisc/aviation/airporticaocode.cpp @@ -12,13 +12,7 @@ namespace BlackMisc QString CAirportIcaoCode::convertToQString(bool /** i18n **/) const { - return this->m_icaoCode; - } - - int CAirportIcaoCode::comparePropertyByIndex(const CPropertyIndex &index, const CAirportIcaoCode &compareValue) const - { - Q_UNUSED(index); - return this->m_icaoCode.compare(compareValue.getIcaoCode(), Qt::CaseInsensitive); + return m_icaoCode; } bool CAirportIcaoCode::hasValidIcaoCode() const @@ -50,5 +44,24 @@ namespace BlackMisc { return (containsChar(icaoCode, [](QChar c) { return c.isDigit(); })); } + + CVariant CAirportIcaoCode::propertyByIndex(const CPropertyIndex &index) const + { + if (index.isMyself()) { return CVariant::from(*this); } + return CValueObject::propertyByIndex(index); + } + + void CAirportIcaoCode::setPropertyByIndex(const CPropertyIndex &index, const CVariant &variant) + { + if (index.isMyself()) { (*this) = variant.to(); return; } + CValueObject::setPropertyByIndex(index, variant); + } + + int CAirportIcaoCode::comparePropertyByIndex(const CPropertyIndex &index, const CAirportIcaoCode &compareValue) const + { + Q_UNUSED(index); + return m_icaoCode.compare(compareValue.getIcaoCode(), Qt::CaseInsensitive); + } + } // namespace } // namespace diff --git a/src/blackmisc/aviation/airporticaocode.h b/src/blackmisc/aviation/airporticaocode.h index 50951c086..fe6e62d68 100644 --- a/src/blackmisc/aviation/airporticaocode.h +++ b/src/blackmisc/aviation/airporticaocode.h @@ -65,7 +65,13 @@ namespace BlackMisc //! \copydoc BlackMisc::Mixin::String::toQString() QString convertToQString(bool i18n = false) const; - //! Compare for index + //! \copydoc BlackMisc::Mixin::Index::propertyByIndex + CVariant propertyByIndex(const CPropertyIndex &index) const; + + //! \copydoc BlackMisc::Mixin::Index::setPropertyByIndex + void setPropertyByIndex(const CPropertyIndex &index, const CVariant &variant); + + //! \copydoc BlackMisc::Mixin::Index::comparePropertyByIndex int comparePropertyByIndex(const CPropertyIndex &index, const CAirportIcaoCode &compareValue) const; private: diff --git a/src/blackmisc/network/user.cpp b/src/blackmisc/network/user.cpp index 652841c4f..664fd41eb 100644 --- a/src/blackmisc/network/user.cpp +++ b/src/blackmisc/network/user.cpp @@ -218,7 +218,7 @@ namespace BlackMisc return newRealName; } - CVariant CUser::propertyByIndex(const BlackMisc::CPropertyIndex &index) const + CVariant CUser::propertyByIndex(const CPropertyIndex &index) const { if (index.isMyself()) { return CVariant::from(*this); } const ColumnIndex i = index.frontCasted(); diff --git a/src/blackmisc/network/user.h b/src/blackmisc/network/user.h index 723a3aa04..f24be3f3a 100644 --- a/src/blackmisc/network/user.h +++ b/src/blackmisc/network/user.h @@ -155,7 +155,7 @@ namespace BlackMisc //! \copydoc BlackMisc::Mixin::Index::setPropertyByIndex void setPropertyByIndex(const CPropertyIndex &index, const CVariant &variant); - //! Compare by index + //! \copydoc BlackMisc::Mixin::Index::comparePropertyByIndex int comparePropertyByIndex(const CPropertyIndex &index, const CUser &compareValue) const; //! This and another user exchange missing data, This user has priority and overrides first. diff --git a/src/blackmisc/propertyindexvariantmap.h b/src/blackmisc/propertyindexvariantmap.h index 651b4b1b2..e08e2bd8c 100644 --- a/src/blackmisc/propertyindexvariantmap.h +++ b/src/blackmisc/propertyindexvariantmap.h @@ -260,7 +260,7 @@ namespace BlackMisc CVariant Index::propertyByIndex(const CPropertyIndex &index) const { if (index.isMyself()) { return myself(); } - const auto i = index.frontCasted(); + const auto i = index.frontCasted(); // keep that "auto", otherwise I won's compile switch (i) { case IndexIcon: return CVariant::from(derived()->toIcon());