4#ifndef QHELPCOLLECTIONHANDLER_H
5#define QHELPCOLLECTIONHANDLER_H
21#include <QtCore/qdatetime.h>
22#include <QtCore/qlist.h>
23#include <QtCore/qmap.h>
24#include <QtCore/qobject.h>
25#include <QtCore/qstringlist.h>
83 bool addCustomFilter(
const QString &filterName,
const QStringList &attributes);
87 const QStringList &filterAttributes,
88 const QString &extensionFilter)
const;
94 QUrl findFile(
const QUrl &url,
const QStringList &filterAttributes)
const;
119 QHelpFilterData
filterData(
const QString &filterName)
const;
120 bool setFilterData(
const QString &filterName,
const QHelpFilterData &filterData);
130 const QString &filterName,
131 const QString &extensionFilter)
const;
133 QUrl findFile(
const QUrl &url,
const QString &filterName)
const;
140 QVariant
customValue(
const QString &key,
const QVariant &defaultValue)
const;
151 const QStringList &filterAttributes)
const;
153 const QStringList &filterAttributes)
const;
159 static QUrl buildQUrl(
const QString &ns,
const QString &folder,
160 const QString &relFileName,
const QString &anchor);
167 QList<QHelpLink> documentsForField(
const QString &fieldName,
168 const QString &fieldValue,
169 const QStringList &filterAttributes)
const;
171 QString namespaceVersion(
const QString &namespaceName)
const;
172 QMultiMap<QString, QUrl> linksForField(
const QString &fieldName,
const QString &fieldValue,
173 const QString &filterName)
const;
174 QList<QHelpLink> documentsForField(
const QString &fieldName,
175 const QString &fieldValue,
176 const QString &filterName)
const;
178 bool isDBOpened()
const;
179 bool createTables(QSqlQuery *query);
181 bool recreateIndexAndNamespaceFilterTables(QSqlQuery *query);
182 bool registerIndexAndNamespaceFilterTables(
const QString &nameSpace,
183 bool createDefaultVersionFilter =
false);
184 void createVersionFilter(
const QString &version);
185 bool registerFilterAttributes(
const QList<QStringList> &attributeSets,
int nsId);
186 bool registerFileAttributeSets(
const QList<QStringList> &attributeSets,
int nsId);
188 int nsId,
int vfId,
const QString &fileName);
189 bool unregisterIndexTable(
int nsId,
int vfId);
190 QString absoluteDocPath(
const QString &fileName)
const;
191 bool isTimeStampCorrect(
const TimeStamp &timeStamp)
const;
192 bool hasTimeStampInfo(
const QString &nameSpace)
const;
193 void scheduleVacuum();
196 QString m_collectionFile;
197 QString m_connectionName;
198 std::unique_ptr<QSqlQuery> m_query;
199 bool m_vacuumScheduled =
false;
200 bool m_readOnly =
true;
bool unregisterDocumentation(const QString &namespaceName)
QStringList filterAttributes(const QString &filterName) const
QStringList filters() const
QList< QHelpLink > documentsForKeyword(const QString &keyword, const QString &filterName) const
bool removeCustomFilter(const QString &filterName)
QUrl findFile(const QUrl &url, const QStringList &filterAttributes) const
bool setFilterData(const QString &filterName, const QHelpFilterData &filterData)
bool removeFilter(const QString &filterName)
FileInfo registeredDocumentation(const QString &namespaceName) const
QByteArray fileData(const QUrl &url) const
QStringList files(const QString &namespaceName, const QStringList &filterAttributes, const QString &extensionFilter) const
QStringList customFilters() const
FileInfoList registeredDocumentations() const
QList< ContentsData > contentsForFilter(const QStringList &filterAttributes) const
~QHelpCollectionHandler()
QMap< QString, QVersionNumber > namespaceToVersion() const
QList< FileInfo > FileInfoList
bool removeCustomValue(const QString &key)
QList< QVersionNumber > availableVersions() const
QString namespaceForFile(const QUrl &url, const QStringList &filterAttributes) const
int registerComponent(const QString &componentName, int namespaceId)
QStringList filterAttributes() const
bool addCustomFilter(const QString &filterName, const QStringList &attributes)
QMap< QString, QString > namespaceToComponent() const
static QUrl buildQUrl(const QString &ns, const QString &folder, const QString &relFileName, const QString &anchor)
QHelpFilterData filterData(const QString &filterName) const
int registerVirtualFolder(const QString &folderName, int namespaceId)
QStringList availableComponents() const
QVariant customValue(const QString &key, const QVariant &defaultValue) const
bool registerVersion(const QString &version, int namespaceId)
QString collectionFile() const
QStringList indicesForFilter(const QStringList &filterAttributes) const
bool fileExists(const QUrl &url) const
bool copyCollectionFile(const QString &fileName)
void setReadOnly(bool readOnly)
bool openCollectionFile()
QStringList namespacesForFilter(const QString &filterName) const
int registerNamespace(const QString &nspace, const QString &fileName)
QHelpCollectionHandler(const QString &collectionFile, QObject *parent=nullptr)
bool registerDocumentation(const QString &fileName)
QList< QStringList > filterAttributeSets(const QString &namespaceName) const
bool setCustomValue(const QString &key, const QVariant &value)
QList< QHelpLink > documentsForIdentifier(const QString &id, const QString &filterName) const
Transaction(const QString &connectionName)
Combined button and popup list for selecting options.
static QString getTitle(const QByteArray &contents)
static QHelpCollectionHandler::FileInfo extractFileInfo(const QUrl &url)
static QString prepareFilterQuery(int attributesCount, const QString &idTableName, const QString &idColumnName, const QString &filterTableName, const QString &filterColumnName)
static void bindFilterQuery(QSqlQuery *query, int bindStart, const QString &filterName)
static void bindFilterQuery(QSqlQuery *query, int startingBindPos, const QStringList &filterAttributes)
static QString prepareFilterQuery(const QString &filterName)
QList< QByteArray > contentsList