1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "errorlistmodel.h"
#include <QQmlError>
ErrorListModel::ErrorListModel(QObject *parent)
: QAbstractListModel{parent}
{}
bool ErrorListModel::isIndexValid(const QModelIndex &index) const
{
return index.isValid() && (0 <= index.row()) && (index.row() < rowCount());
}
void ErrorListModel::selectRow(int row)
{
return selectIndex(index(row));
}
void ErrorListModel::setErrorList(const QList<QQmlError> &errorList)
{
beginResetModel();
m_errorList = errorList;
endResetModel();
}
void ErrorListModel::selectIndex(const QModelIndex &index)
{
if (!isIndexValid(index))
return;
const QQmlError &error = m_errorList.at(index.row());
emit errorPositionSelected(error.line(), error.column());
}
int ErrorListModel::rowCount(const QModelIndex &parent) const
{
return m_errorList.size();
}
QVariant ErrorListModel::data(const QModelIndex &index, int role) const
{
if ((role != Qt::DisplayRole) && (role != Qt::EditRole))
return QVariant{};
if (!isIndexValid(index))
return QVariant{};
return m_errorList.at(index.row()).toString();
}
|