File indexing completed on 2024-05-05 04:40:05

0001 /*
0002     SPDX-FileCopyrightText: 2010 Yannick Motta <yannick.motta@gmail.com>
0003     SPDX-FileCopyrightText: 2010 Benjamin Port <port.benjamin@gmail.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-or-later
0006 */
0007 
0008 #ifndef MANPAGEPLUGIN_H
0009 #define MANPAGEPLUGIN_H
0010 
0011 #include "manpagemodel.h"
0012 
0013 #include <interfaces/iplugin.h>
0014 #include <interfaces/idocumentationprovider.h>
0015 
0016 #include <QVariantList>
0017 #include <QProgressBar>
0018 
0019 class ManPageDocumentation;
0020 
0021 class ManPagePlugin : public KDevelop::IPlugin, public KDevelop::IDocumentationProvider
0022 {
0023     Q_OBJECT
0024     Q_INTERFACES( KDevelop::IDocumentationProvider )
0025 public:
0026     explicit ManPagePlugin(QObject *parent, const QVariantList & args= QVariantList());
0027     ~ManPagePlugin() override;
0028     KDevelop::IDocumentation::Ptr documentationForDeclaration (KDevelop::Declaration* dec) const override;
0029     KDevelop::IDocumentation::Ptr documentation(const QUrl& url) const override;
0030     QAbstractItemModel* indexModel() const override;
0031     KDevelop::IDocumentation::Ptr documentationForIndex(const QModelIndex& index) const override;
0032     QIcon icon() const override;
0033     QString name() const override;
0034     KDevelop::IDocumentation::Ptr homePage() const override;
0035     void deleteProgressBar();
0036 
0037     ManPageModel* model() const;
0038     QProgressBar* progressBar() const;
0039 
0040 private:
0041     KDevelop::IDocumentation::Ptr documentationForIdentifier(const QString& identifier) const;
0042 
0043     ManPageModel *m_model;
0044 };
0045 
0046 #endif // MANPAGEPLUGIN_H