AusweisApp2
Lade ...
Suche ...
Keine Treffer
FormattedTextModel.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include <QAbstractListModel>
12#include <QList>
13#include <QPair>
14#include <QString>
15#include <QStringList>
16
17namespace governikus
18{
19
21 : public QAbstractListModel
22{
23 Q_OBJECT
24
25 public:
27 {
34 };
35 Q_ENUM(LineType)
36
38 {
39 ContentRole = Qt::UserRole + 1,
41 };
42
43 explicit FormattedTextModel(QObject* pParent, const QStringList& pLines = QStringList());
44
45 [[nodiscard]] int rowCount(const QModelIndex& pIndex = QModelIndex()) const override;
46 [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
47 [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
48
49 [[nodiscard]] Q_INVOKABLE bool loadSeveral(const QStringList& pFilepaths);
50
51#if defined(QT_NO_DEBUG)
52
53 private:
54#endif
56 {
58 QStringList mLines;
59 };
60
61 static bool isFormattingLine(LineType pType);
62 static LineType lineType(const QString& pLine);
63 static QString stripFormattingCharacters(const QString& pLine, LineType pType);
64 static QString replaceControlCharactersWithHtml(const QString& pLine);
65 static ReadLinesResult readLines(const QString& pFilepath);
66
67 private:
68 QList<QPair<QString, LineType>> mLines;
69
70 void processLines(const QStringList& pLines);
71 void processLine(const QString& pLine);
72 [[nodiscard]] bool lastLineIsEmpty() const;
73};
74
75} // namespace governikus
Definition FormattedTextModel.h:22
Q_INVOKABLE bool loadSeveral(const QStringList &pFilepaths)
Definition FormattedTextModel.cpp:68
static ReadLinesResult readLines(const QString &pFilepath)
Definition FormattedTextModel.cpp:155
int rowCount(const QModelIndex &pIndex=QModelIndex()) const override
Definition FormattedTextModel.cpp:29
static bool isFormattingLine(LineType pType)
Definition FormattedTextModel.cpp:94
FormattedTextRoles
Definition FormattedTextModel.h:38
@ ContentRole
Definition FormattedTextModel.h:39
@ LineTypeRole
Definition FormattedTextModel.h:40
static QString stripFormattingCharacters(const QString &pLine, LineType pType)
Definition FormattedTextModel.cpp:132
static LineType lineType(const QString &pLine)
Definition FormattedTextModel.cpp:101
QVariant data(const QModelIndex &pIndex, int pRole=Qt::DisplayRole) const override
Definition FormattedTextModel.cpp:36
QHash< int, QByteArray > roleNames() const override
Definition FormattedTextModel.cpp:59
static QString replaceControlCharactersWithHtml(const QString &pLine)
Definition FormattedTextModel.cpp:144
LineType
Definition FormattedTextModel.h:27
@ HEADER
Definition FormattedTextModel.h:29
@ LISTITEM
Definition FormattedTextModel.h:33
@ SECTION
Definition FormattedTextModel.h:30
@ SUBSECTION
Definition FormattedTextModel.h:31
@ EMPTY
Definition FormattedTextModel.h:28
@ REGULARTEXT
Definition FormattedTextModel.h:32
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16
Definition FormattedTextModel.h:56
bool mSuccess
Definition FormattedTextModel.h:57
QStringList mLines
Definition FormattedTextModel.h:58