7#include <QtGui/QGuiApplication>
10 Q_DECLARE_TR_FUNCTIONS(QCollectionGenerator)
13void CollectionConfigReader::raiseErrorWithLine()
15 raiseError(QCG::tr(
"Unknown token at line %1.").arg(lineNumber()));
18void CollectionConfigReader::readData(
const QByteArray &contents)
20 m_enableFilterFunctionality =
true;
21 m_hideFilterFunctionality =
true;
22 m_enableAddressBar =
true;
23 m_hideAddressBar =
true;
24 m_enableDocumentationManager =
true;
25 m_enableFullTextSearchFallback =
false;
30 if (isStartElement()) {
31 if (name() == QLatin1String(
"QHelpCollectionProject")
32 && attributes().value(QLatin1String(
"version")) == QLatin1String(
"1.0"))
35 raiseError(QCG::tr(
"Unknown token at line %1. "
36 "Expected \"QtHelpCollectionProject\".")
42void CollectionConfigReader::readConfig()
47 if (isStartElement()) {
48 if (name() == QLatin1String(
"assistant"))
49 readAssistantSettings();
50 else if (name() == QLatin1String(
"docFiles"))
54 }
else if (isEndElement() && name() == QLatin1String(
"QHelpCollectionProject")) {
58 if (!ok && !hasError())
59 raiseError(QCG::tr(
"Missing end tags."));
62void CollectionConfigReader::readAssistantSettings()
66 if (isStartElement()) {
67 if (name() == QLatin1String(
"title")) {
68 m_title = readElementText();
69 }
else if (name() == QLatin1String(
"homePage")) {
70 m_homePage = readElementText();
71 }
else if (name() == QLatin1String(
"startPage")) {
72 m_startPage = readElementText();
73 }
else if (name() == QLatin1String(
"currentFilter")) {
74 m_currentFilter = readElementText();
75 }
else if (name() == QLatin1String(
"applicationIcon")) {
76 m_applicationIcon = readElementText();
77 }
else if (name() == QLatin1String(
"enableFilterFunctionality")) {
78 if (attributes().value(QLatin1String(
"visible")) == QLatin1String(
"true"))
79 m_hideFilterFunctionality =
false;
80 if (readElementText() == QLatin1String(
"false"))
81 m_enableFilterFunctionality =
false;
82 }
else if (name() == QLatin1String(
"enableDocumentationManager")) {
83 if (readElementText() == QLatin1String(
"false"))
84 m_enableDocumentationManager =
false;
85 }
else if (name() == QLatin1String(
"enableAddressBar")) {
86 if (attributes().value(QLatin1String(
"visible")) == QLatin1String(
"true"))
87 m_hideAddressBar =
false;
88 if (readElementText() == QLatin1String(
"false"))
89 m_enableAddressBar =
false;
90 }
else if (name() == QLatin1String(
"aboutMenuText")) {
92 }
else if (name() == QLatin1String(
"aboutDialog")) {
94 }
else if (name() == u"cacheDirectory") {
95 m_cacheDirRelativeToCollection =
96 attributes().value(QLatin1String(
"base"))
97 == QLatin1String(
"collection");
98 m_cacheDirectory = readElementText();
99 }
else if (name() == QLatin1String(
"enableFullTextSearchFallback")) {
100 if (readElementText() == QLatin1String(
"true"))
101 m_enableFullTextSearchFallback =
true;
103 raiseErrorWithLine();
105 }
else if (isEndElement() && name() == QLatin1String(
"assistant")) {
111void CollectionConfigReader::readMenuTexts()
115 if (isStartElement()) {
116 if (name() == QLatin1String(
"text")) {
117 QString lang = attributes().value(QLatin1String(
"language")).toString();
119 lang = QLatin1String(
"default");
120 m_aboutMenuTexts.insert(lang, readElementText());
122 raiseErrorWithLine();
124 }
else if (isEndElement() && name() == QLatin1String(
"aboutMenuText")) {
130void CollectionConfigReader::readAboutDialog()
134 if (isStartElement()) {
135 if (name() == QLatin1String(
"file")) {
136 QString lang = attributes().value(QLatin1String(
"language")).toString();
138 lang = QLatin1String(
"default");
139 m_aboutTextFiles.insert(lang, readElementText());
140 }
else if (name() == QLatin1String(
"icon")) {
141 m_aboutIcon = readElementText();
143 raiseErrorWithLine();
145 }
else if (isEndElement() && name() == QLatin1String(
"aboutDialog")) {
151void CollectionConfigReader::readDocFiles()
155 if (isStartElement()) {
156 if (name() == QLatin1String(
"generate")) {
158 }
else if (name() == QLatin1String(
"register")) {
161 raiseErrorWithLine();
163 }
else if (isEndElement() && name() == QLatin1String(
"docFiles")) {
169void CollectionConfigReader::readGenerate()
173 if (isStartElement()) {
174 if (name() == QLatin1String(
"file"))
177 raiseErrorWithLine();
178 }
else if (isEndElement() && name() == QLatin1String(
"generate")) {
184void CollectionConfigReader::readFiles()
190 if (isStartElement()) {
191 if (name() == QLatin1String(
"input"))
192 input = readElementText();
193 else if (name() == QLatin1String(
"output"))
194 output = readElementText();
196 raiseErrorWithLine();
197 }
else if (isEndElement() && name() == QLatin1String(
"file")) {
201 if (input.isEmpty() || output.isEmpty()) {
202 raiseError(QCG::tr(
"Missing input or output file for help file generation."));
205 m_filesToGenerate.insert(input, output);
208void CollectionConfigReader::readRegister()
212 if (isStartElement()) {
213 if (name() == QLatin1String(
"file"))
214 m_filesToRegister.append(readElementText());
216 raiseErrorWithLine();
217 }
else if (isEndElement() && name() == QLatin1String(
"register")) {