2
0
mirror of https://github.com/status-im/status-desktop.git synced 2025-02-28 06:21:11 +00:00

21 lines
593 B
C++
Raw Normal View History

#include "modelutils.h"
#include <QAbstractItemModel>
std::optional<int> ModelUtils::findRole(const QByteArray &role,
const QAbstractItemModel *model)
{
if (model == nullptr)
return std::nullopt;
const auto roleNames = model->roleNames();
auto it = std::find_if(roleNames.constKeyValueBegin(),
roleNames.constKeyValueEnd(), [&role](auto entry) {
return entry.second == role;
});
return it == roleNames.constKeyValueEnd()
? std::nullopt : std::make_optional((*it).first);
}