AusweisApp
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#include <QtQml/qqmlregistration.h>
17
18class test_FormattedTextModel;
19
20namespace governikus
21{
22
24 : public QAbstractListModel
25{
28 QML_UNCREATABLE("Used by ReleaseInformationModel only")
29 Q_CLASSINFO("RegisterEnumClassesUnscoped", "false")
31
32 public:
43
45 {
46 ContentRole = Qt::UserRole + 1,
48 };
49
50 explicit FormattedTextModel(QObject* pParent, const QStringList& pLines = QStringList());
51
52 [[nodiscard]] int rowCount(const QModelIndex& pIndex = QModelIndex()) const override;
53 [[nodiscard]] QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
54 [[nodiscard]] QHash<int, QByteArray> roleNames() const override;
55
57
58 private:
59 struct ReadLinesResult
60 {
61 bool mSuccess;
62 QStringList mLines;
63 };
64
65 static bool isFormattingLine(LineType pType);
66 static LineType lineType(const QString& pLine);
67 static QString stripFormattingCharacters(const QString& pLine, LineType pType);
68 static QString replaceControlCharactersWithHtml(const QString& pLine);
69 static ReadLinesResult readLines(const QString& pFilepath);
70
71 private:
72 QList<QPair<QString, LineType>> mLines;
73
74 void processLines(const QStringList& pLines);
75 void processLine(const QString& pLine);
76 [[nodiscard]] bool lastLineIsEmpty() const;
77};
78
79} // namespace governikus
Definition FormattedTextModel.h:25
Q_INVOKABLE bool loadSeveral(const QStringList &pFilepaths)
Definition FormattedTextModel.cpp:68
friend class ::test_FormattedTextModel
Definition FormattedTextModel.h:30
int rowCount(const QModelIndex &pIndex=QModelIndex()) const override
Definition FormattedTextModel.cpp:29
FormattedTextRoles
Definition FormattedTextModel.h:45
@ ContentRole
Definition FormattedTextModel.h:46
@ LineTypeRole
Definition FormattedTextModel.h:47
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
LineType
Definition FormattedTextModel.h:34
FormattedTextModel(QObject *pParent, const QStringList &pLines=QStringList())
Definition FormattedTextModel.cpp:20
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114