slightly optimize ConnectionListModel

-avoid object copies
-use some more bullet proof C++11 constructs
-avoid using a QRegExp, simple string matches are faster

Signed-off-by: Rolf Eike Beer <eike@sf-mail.de>
This commit is contained in:
Rolf Eike Beer 2019-03-22 21:25:59 +01:00 committed by Dirk Hohndel
parent 5ad52db451
commit bf9a526d63
2 changed files with 11 additions and 9 deletions

View file

@ -21,7 +21,7 @@ int ConnectionListModel::rowCount(const QModelIndex&) const
return m_addresses.count();
}
void ConnectionListModel::addAddress(const QString address)
void ConnectionListModel::addAddress(const QString &address)
{
if (!m_addresses.contains(address)) {
beginInsertRows(QModelIndex(), rowCount(), rowCount());
@ -37,8 +37,10 @@ void ConnectionListModel::removeAllAddresses()
endRemoveRows();
}
int ConnectionListModel::indexOf(QString address)
int ConnectionListModel::indexOf(const QString &address) const
{
const QRegExp re(".*" + address + ".*", Qt::CaseInsensitive);
return m_addresses.indexOf(re);
for (int i = 0; i < m_addresses.count(); i++)
if (m_addresses.at(i).contains(address, Qt::CaseInsensitive))
return i;
return -1;
}