AusweisApp2
Lade ...
Suche ...
Keine Treffer
FormattedTextModel.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
9#include <QAbstractListModel>
10#include <QList>
11#include <QPair>
12#include <QString>
13#include <QStringList>
14
15namespace governikus
16{
17
19 : public QAbstractListModel
20{
21 Q_OBJECT
22
23 public:
25 {
32 };
33 Q_ENUM(LineType)
34
36 {
37 ContentRole = Qt::UserRole + 1,
39 };
40
41 explicit FormattedTextModel(QObject* pParent = nullptr);
42 explicit FormattedTextModel(const QStringList& pLines);
43
44 int rowCount(const QModelIndex& pIndex = QModelIndex()) const override;
45 QVariant data(const QModelIndex& pIndex, int pRole = Qt::DisplayRole) const override;
46 QHash<int, QByteArray> roleNames() const override;
47
48 Q_INVOKABLE bool load(const QString& pFilepath);
49 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 bool lastLineIsEmpty() const;
73};
74
75} // namespace governikus
Definition: FormattedTextModel.h:20
Q_INVOKABLE bool load(const QString &pFilepath)
Definition: FormattedTextModel.cpp:68
Q_INVOKABLE bool loadSeveral(const QStringList &pFilepaths)
Definition: FormattedTextModel.cpp:78
static ReadLinesResult readLines(const QString &pFilepath)
Definition: FormattedTextModel.cpp:165
int rowCount(const QModelIndex &pIndex=QModelIndex()) const override
Definition: FormattedTextModel.cpp:29
static bool isFormattingLine(LineType pType)
Definition: FormattedTextModel.cpp:104
FormattedTextRoles
Definition: FormattedTextModel.h:36
@ ContentRole
Definition: FormattedTextModel.h:37
@ LineTypeRole
Definition: FormattedTextModel.h:38
static QString stripFormattingCharacters(const QString &pLine, LineType pType)
Definition: FormattedTextModel.cpp:142
static LineType lineType(const QString &pLine)
Definition: FormattedTextModel.cpp:111
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:154
LineType
Definition: FormattedTextModel.h:25
@ HEADER
Definition: FormattedTextModel.h:27
@ LISTITEM
Definition: FormattedTextModel.h:31
@ SECTION
Definition: FormattedTextModel.h:28
@ SUBSECTION
Definition: FormattedTextModel.h:29
@ EMPTY
Definition: FormattedTextModel.h:26
@ REGULARTEXT
Definition: FormattedTextModel.h:30
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
Definition: FormattedTextModel.h:56
bool mSuccess
Definition: FormattedTextModel.h:57
QStringList mLines
Definition: FormattedTextModel.h:58