File indexing completed on 2024-05-05 16:45:57
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