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