File indexing completed on 2024-05-05 04:40:51
0001 /* 0002 SPDX-FileCopyrightText: 2009 Aleix Pol <aleixpol@kde.org> 0003 SPDX-FileCopyrightText: 2009 David Nolden <david.nolden.kdevelop@art-master.de> 0004 SPDX-FileCopyrightText: 2010 Benjamin Port <port.benjamin@gmail.com> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #ifndef QTHELPPROVIDERABSTRACT_H 0010 #define QTHELPPROVIDERABSTRACT_H 0011 0012 #include <interfaces/idocumentationprovider.h> 0013 #include <QObject> 0014 #include <QVariantList> 0015 #include <QHelpEngine> 0016 0017 class HelpNetworkAccessManager; 0018 0019 class QtHelpProviderAbstract : public QObject, public KDevelop::IDocumentationProvider 0020 { 0021 Q_OBJECT 0022 Q_INTERFACES( KDevelop::IDocumentationProvider ) 0023 public: 0024 QtHelpProviderAbstract(QObject *parent, const QString &collectionFileName, const QVariantList & args); 0025 ~QtHelpProviderAbstract() override; 0026 KDevelop::IDocumentation::Ptr documentationForDeclaration (KDevelop::Declaration*) const override; 0027 KDevelop::IDocumentation::Ptr documentation(const QUrl& url) const override; 0028 0029 KDevelop::IDocumentation::Ptr documentationForIndex(const QModelIndex& idx) const override; 0030 QAbstractItemModel* indexModel() const override; 0031 0032 KDevelop::IDocumentation::Ptr homePage() const override; 0033 0034 /// @return False in case we failed to load any documentation files, else true 0035 bool isValid() const; 0036 0037 QHelpEngine* engine() { return &m_engine; } 0038 0039 HelpNetworkAccessManager* networkAccess() const; 0040 public Q_SLOTS: 0041 void jumpedTo(const QUrl& newUrl); 0042 protected: 0043 QHelpEngine m_engine; 0044 HelpNetworkAccessManager* const m_nam; 0045 }; 0046 0047 #endif // QTHELPPROVIDERABSTRACT_H