1 /* 2 SPDX-FileCopyrightText: 2019-2021 Laurent Montel <montel@kde.org> 3 4 SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #pragma once 8 9 #include <QObject> 10 namespace KPIMTextEdit 11 { 12 class RichTextComposer; 13 } 14 namespace PimCommon 15 { 16 class CustomToolsWidgetNg; 17 } 18 class KActionCollection; 19 class KMailPluginGrammarEditorManagerInterface : public QObject 20 { 21 Q_OBJECT 22 public: 23 explicit KMailPluginGrammarEditorManagerInterface(QObject *parent = nullptr); 24 ~KMailPluginGrammarEditorManagerInterface() override = default; 25 26 KPIMTextEdit::RichTextComposer *richTextEditor() const; 27 void setRichTextEditor(KPIMTextEdit::RichTextComposer *richTextEditor); 28 29 QWidget *parentWidget() const; 30 void setParentWidget(QWidget *parentWidget); 31 32 void initializePlugins(); 33 KActionCollection *actionCollection() const; 34 void setActionCollection(KActionCollection *actionCollection); 35 36 PimCommon::CustomToolsWidgetNg *customToolsWidget() const; 37 void setCustomToolsWidget(PimCommon::CustomToolsWidgetNg *customToolsWidget); 38 39 private: 40 Q_DISABLE_COPY(KMailPluginGrammarEditorManagerInterface) 41 KPIMTextEdit::RichTextComposer *mRichTextEditor = nullptr; 42 PimCommon::CustomToolsWidgetNg *mCustomToolsWidget = nullptr; 43 QWidget *mParentWidget = nullptr; 44 KActionCollection *mActionCollection = nullptr; 45 bool mWasInitialized = false; 46 }; 47 48