File indexing completed on 2024-05-19 12:25:03
0001 /* 0002 SPDX-FileCopyrightText: 2009 Aleix Pol <aleixpol@kde.org> 0003 SPDX-FileCopyrightText: 2010 Benjamin Port <port.benjamin@gmail.com> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #ifndef QTHELPPLUGIN_H 0009 #define QTHELPPLUGIN_H 0010 0011 #include <interfaces/iplugin.h> 0012 #include <interfaces/idocumentationproviderprovider.h> 0013 0014 class QtHelpProvider; 0015 class QtHelpQtDoc; 0016 class QtHelpDocumentation; 0017 0018 class QtHelpPlugin : public KDevelop::IPlugin, public KDevelop::IDocumentationProviderProvider 0019 { 0020 Q_OBJECT 0021 Q_INTERFACES( KDevelop::IDocumentationProviderProvider ) 0022 public: 0023 QtHelpPlugin(QObject *parent, const QVariantList & args); 0024 ~QtHelpPlugin() override; 0025 0026 static QtHelpPlugin *self() { return s_plugin; } 0027 0028 QList<KDevelop::IDocumentationProvider*> providers() override; 0029 QList<QtHelpProvider*> qtHelpProviderLoaded(); 0030 bool isQtHelpQtDocLoaded() const; 0031 bool isQtHelpAvailable() const; 0032 0033 int configPages() const override; 0034 KDevelop::ConfigPage* configPage(int number, QWidget* parent) override; 0035 0036 public Q_SLOTS: 0037 void readConfig(); 0038 Q_SIGNALS: 0039 void changedProvidersList() override; 0040 private: 0041 void loadQtDocumentation(bool loadQtDoc); 0042 void searchHelpDirectory(QStringList& pathList, QStringList& nameList, QStringList& iconList, const QString& searchDir); 0043 void loadQtHelpProvider(const QStringList& pathList, const QStringList& nameList, const QStringList& iconList); 0044 0045 static QtHelpPlugin *s_plugin; 0046 QList<QtHelpProvider*> m_qtHelpProviders; 0047 QtHelpQtDoc* m_qtDoc; 0048 bool m_loadSystemQtDoc; 0049 }; 0050 0051 #endif // QTHELPPLUGIN_H