2024-08-23 15:12:51 +00:00
|
|
|
// 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());
|
|
|
|
}
|
|
|
|
|
2024-10-27 17:04:49 +00:00
|
|
|
void ErrorListModel::selectRow(int row)
|
|
|
|
{
|
|
|
|
return selectIndex(index(row));
|
|
|
|
}
|
|
|
|
|
2024-08-23 15:12:51 +00:00
|
|
|
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();
|
|
|
|
}
|