File indexing completed on 2024-04-28 05:48:45
0001 /* 0002 SPDX-FileCopyrightText: 2021 Ilia Kats <ilia-kats@gmx.net> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "completionmodel.h" 0008 0009 #include <KPluginFactory> 0010 #include <KTextEditor/MainWindow> 0011 #include <KTextEditor/Plugin> 0012 #include <KTextEditor/View> 0013 0014 class LatexCompletionPlugin : public KTextEditor::Plugin 0015 { 0016 Q_OBJECT 0017 public: 0018 LatexCompletionPlugin(QObject *parent, const QVariantList &) 0019 : KTextEditor::Plugin(parent) 0020 , m_model(new LatexCompletionModel(this)) 0021 { 0022 } 0023 0024 QObject *createView(KTextEditor::MainWindow *mainWindow) override 0025 { 0026 const auto views = mainWindow->views(); 0027 for (auto view : views) 0028 viewCreated(view); 0029 connect(mainWindow, &KTextEditor::MainWindow::viewCreated, this, &LatexCompletionPlugin::viewCreated); 0030 return nullptr; 0031 } 0032 0033 private Q_SLOTS: 0034 void viewCreated(KTextEditor::View *view) 0035 { 0036 view->registerCompletionModel(m_model); 0037 } 0038 0039 private: 0040 LatexCompletionModel *m_model; 0041 }; 0042 K_PLUGIN_FACTORY_WITH_JSON(TextFilterPluginFactory, "latexcompletionplugin.json", registerPlugin<LatexCompletionPlugin>();) 0043 0044 #include "latexcompletionplugin.moc"