From: Olivier Goffart Date: Thu, 3 Dec 2015 11:52:13 +0000 (+0100) Subject: Sharee.cpp: Get rid of lambdas because we still need to support GCC 4.4 X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~1387^2~22 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=68057c1c5a6526a9abfe906c3a621627682b197f;p=nextcloud-desktop.git Sharee.cpp: Get rid of lambdas because we still need to support GCC 4.4 --- diff --git a/src/gui/sharee.cpp b/src/gui/sharee.cpp index 08aae3ccc..86f6a2032 100644 --- a/src/gui/sharee.cpp +++ b/src/gui/sharee.cpp @@ -140,6 +140,18 @@ QSharedPointer ShareeModel::parseSharee(const QVariantMap &data) return QSharedPointer(new Sharee(shareWith, displayName, type)); } + +// Helper function for setNewSharees (could be a lambda when we can use them) +static QSharedPointer shareeFromModelIndex(const QModelIndex &idx) +{ return idx.data(Qt::UserRole).value>(); } + +struct FindShareeHelper { + const QSharedPointer &sharee; + bool operator()(const QSharedPointer &s2) const { + return s2->format() == sharee->format() && s2->displayName() == sharee->format(); + } +}; + /* Set the new sharee Do that while preserving the model index so the selection stays @@ -152,17 +164,15 @@ void ShareeModel::setNewSharees(const QVector>& newSharee oldPersistantSharee.reserve(persistent.size()); std::transform(persistent.begin(), persistent.end(), std::back_inserter(oldPersistantSharee), - [](const QModelIndex &idx) { return idx.data(Qt::UserRole).value>(); }); + shareeFromModelIndex); _sharees = newSharees; QModelIndexList newPersistant; newPersistant.reserve(persistent.size()); foreach(const QSharedPointer &sharee, oldPersistantSharee) { - auto it = std::find_if(_sharees.constBegin(), _sharees.constEnd(), - [&sharee](const QSharedPointer &s2) { - return s2->format() == sharee->format() && s2->displayName() == sharee->format(); - }); + FindShareeHelper helper = { sharee }; + auto it = std::find_if(_sharees.constBegin(), _sharees.constEnd(), helper); if (it == _sharees.constEnd()) { newPersistant << QModelIndex(); } else {