File indexing completed on 2024-05-05 04:39:25
0001 /* 0002 SPDX-FileCopyrightText: 2009 Aleix Pol <aleixpol@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "cmakehelpdocumentation.h" 0008 #include <QTreeView> 0009 #include <KLocalizedString> 0010 #include "cmakedoc.h" 0011 #include "icmakedocumentation.h" 0012 #include "cmakedocumentation.h" 0013 #include "cmakecommandscontents.h" 0014 #include <QEvent> 0015 #include <QHeaderView> 0016 #include <interfaces/icore.h> 0017 #include <interfaces/idocumentationcontroller.h> 0018 0019 QString CMakeHomeDocumentation::name() const 0020 { 0021 return i18n("CMake Content Page"); 0022 } 0023 0024 KDevelop::IDocumentationProvider* CMakeHomeDocumentation::provider() const 0025 { 0026 return CMakeDoc::s_provider; 0027 } 0028 0029 QWidget* CMakeHomeDocumentation::documentationWidget(KDevelop::DocumentationFindWidget*, QWidget* parent) 0030 { 0031 auto* contents=new QTreeView(parent); 0032 contents->viewport()->installEventFilter(this); 0033 contents->header()->setVisible(false); 0034 0035 contents->setModel(CMakeDoc::s_provider->model()); 0036 QObject::connect(contents, &QTreeView::clicked, CMakeDoc::s_provider->model(), &CMakeCommandsContents::showItemAt); 0037 return contents; 0038 } 0039 0040 bool CMakeHomeDocumentation::eventFilter(QObject* watched, QEvent* event) 0041 { 0042 if (event->type() == QEvent::MouseButtonPress) 0043 event->ignore(); // Propagate to DocumentationView 0044 return QObject::eventFilter(watched, event); 0045 } 0046 0047 #include "moc_cmakehelpdocumentation.cpp"