From bf9a526d63854f1ebb5bf102d54cc170f29ce370 Mon Sep 17 00:00:00 2001 From: Rolf Eike Beer Date: Fri, 22 Mar 2019 21:25:59 +0100 Subject: 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 --- core/connectionlistmodel.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'core/connectionlistmodel.cpp') diff --git a/core/connectionlistmodel.cpp b/core/connectionlistmodel.cpp index 8cd270347..0e4d69828 100644 --- a/core/connectionlistmodel.cpp +++ b/core/connectionlistmodel.cpp @@ -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; } -- cgit v1.2.3-70-g09d2