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

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 MANPAGEDOCUMENTATION_H
0009 #define MANPAGEDOCUMENTATION_H
0010 
0011 #include "manpagemodel.h"
0012 
0013 #include <interfaces/idocumentation.h>
0014 
0015 #include <QUrl>
0016 #include <QObject>
0017 #include <QString>
0018 #include <QIODevice>
0019 
0020 class QWidget;
0021 
0022 class ManPagePlugin;
0023 
0024 class ManPageDocumentation : public KDevelop::IDocumentation
0025 {
0026     Q_OBJECT
0027     public:
0028         ManPageDocumentation(const QString& name, const QUrl& url);
0029         QString name() const override { return m_name; }
0030         QString description() const override;
0031         virtual bool providesWidget() const;
0032         QWidget* documentationWidget(KDevelop::DocumentationFindWidget* findWidget, QWidget* parent = nullptr) override;
0033         KDevelop::IDocumentationProvider* provider() const override;
0034         static ManPagePlugin* s_provider;
0035 
0036     private Q_SLOTS:
0037         void finished(KJob*);
0038 
0039     private:
0040         const QUrl m_url;
0041         const QString m_name;
0042         QString m_description;
0043 
0044 };
0045 
0046 class ManPageHomeDocumentation : public KDevelop::IDocumentation
0047 {
0048     Q_OBJECT
0049     public:
0050         KDevelop::IDocumentationProvider* provider() const override;
0051         QString name() const override;
0052         QString description() const override { return name(); }
0053         QWidget* documentationWidget ( KDevelop::DocumentationFindWidget* findWidget, QWidget* parent = nullptr ) override;
0054 };
0055 
0056 
0057 #endif // MANPAGEDOCUMENTATION_H