blob: f2d7df805fe0540072c0339cc5cb2a51cc57d60b (
plain)
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();
}
|