19 #ifndef LIB_QUENTIER_ENML_ENML_CONVERTER_H 20 #define LIB_QUENTIER_ENML_ENML_CONVERTER_H 22 #include <quentier/utility/Printable.h> 23 #include <quentier/utility/Linkage.h> 24 #include <quentier/utility/Macros.h> 25 #include <quentier/types/ErrorString.h> 26 #include <quentier/types/Note.h> 30 #include <QTextDocument> 34 QT_FORWARD_DECLARE_CLASS(Resource)
35 QT_FORWARD_DECLARE_CLASS(DecryptedTextManager)
36 QT_FORWARD_DECLARE_CLASS(ENMLConverterPrivate)
69 m_elementNameToSkip(),
70 m_elementNameComparisonRule(Equals),
71 m_elementNameCaseSensitivity(Qt::CaseSensitive),
72 m_attributeNameToSkip(),
73 m_attributeNameComparisonRule(Equals),
74 m_attributeNameCaseSensitivity(Qt::CaseSensitive),
75 m_attributeValueToSkip(),
76 m_attributeValueComparisonRule(Equals),
77 m_attributeValueCaseSensitivity(Qt::CaseSensitive),
78 m_includeElementContents(
false)
81 virtual QTextStream & print(QTextStream & strm)
const Q_DECL_OVERRIDE;
83 QString m_elementNameToSkip;
84 ComparisonRule m_elementNameComparisonRule;
85 Qt::CaseSensitivity m_elementNameCaseSensitivity;
87 QString m_attributeNameToSkip;
88 ComparisonRule m_attributeNameComparisonRule;
89 Qt::CaseSensitivity m_attributeNameCaseSensitivity;
91 QString m_attributeValueToSkip;
92 ComparisonRule m_attributeValueComparisonRule;
93 Qt::CaseSensitivity m_attributeValueCaseSensitivity;
95 bool m_includeElementContents;
98 bool htmlToNoteContent(
const QString & html, QString & noteContent,
101 const QVector<SkipHtmlElementRule> & skipRules = QVector<SkipHtmlElementRule>())
const;
115 bool cleanupExternalHtml(
const QString & inputHtml, QString & cleanedUpHtml,
131 bool htmlToQTextDocument(
const QString & html, QTextDocument & doc,
ErrorString & errorDescription,
132 const QVector<SkipHtmlElementRule> & skipRules = QVector<SkipHtmlElementRule>())
const;
136 quint64 m_numEnToDoNodes;
137 quint64 m_numHyperlinkNodes;
138 quint64 m_numEnCryptNodes;
139 quint64 m_numEnDecryptedNodes;
142 bool noteContentToHtml(
const QString & noteContent, QString & html,
ErrorString & errorDescription,
145 bool validateEnml(
const QString & enml,
ErrorString & errorDescription)
const;
147 bool validateAndFixupEnml(QString & enml,
ErrorString & errorDescription)
const;
149 static bool noteContentToPlainText(
const QString & noteContent, QString & plainText,
152 static bool noteContentToListOfWords(
const QString & noteContent, QStringList & listOfWords,
153 ErrorString & errorMessage, QString * plainText = Q_NULLPTR);
155 static QStringList plainTextToListOfWords(
const QString & plainText);
157 static QString toDoCheckboxHtml(
const bool checked,
const quint64 idNumber);
159 static QString encryptedTextHtml(
const QString & encryptedText,
const QString & hint,
160 const QString & cipher,
const size_t keyLength,
161 const quint64 enCryptIndex);
163 static QString decryptedTextHtml(
const QString & decryptedText,
const QString & encryptedText,
164 const QString & hint,
const QString & cipher,
165 const size_t keyLength,
const quint64 enDecryptedIndex);
169 static void escapeString(QString &
string,
const bool simplify =
true);
199 bool exportNotesToEnex(
const QVector<Note> & notes,
const QHash<QString, QString> & tagNamesByTagLocalUids,
200 const EnexExportTags::type exportTagsOption, QString & enex,
ErrorString & errorDescription,
201 const QString & version = QString())
const;
217 bool importEnex(
const QString & enex, QVector<Note> & notes,
218 QHash<QString, QStringList> & tagNamesByNoteLocalUid,
225 ENMLConverterPrivate *
const d_ptr;
231 #endif // LIB_QUENTIER_ENML_ENML_CONVERTER_H The ErrorString class encapsulates two (or more) strings which are meant to contain translatable (bas...
Definition: ErrorString.h:38
Definition: Resource.h:29
The Printable class is the interface for Quentier's internal classes which should be able to write th...
Definition: Printable.h:54
Definition: DecryptedTextManager.h:29
The SkipHtmlElementRule class describes the set of rules for HTML -> ENML conversion about the HTML e...
Definition: ENMLConverter.h:58
The ENMLConverter class encapsulates a set of methods and helper data structures for performing the c...
Definition: ENMLConverter.h:43