parent
776519a0b3
commit
dbfaedd515
6 changed files with 183 additions and 3 deletions
@ -0,0 +1,105 @@ |
||||
/*
|
||||
Copyright (C) 2019 Montel Laurent <montel@kde.org> |
||||
|
||||
This program is free software; you can redistribute it and/or |
||||
modify it under the terms of the GNU General Public |
||||
License as published by the Free Software Foundation; either |
||||
version 2 of the License, or (at your option) any later version. |
||||
|
||||
This program is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
||||
General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with this program; see the file COPYING. If not, write to |
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
||||
Boston, MA 02110-1301, USA. |
||||
*/ |
||||
|
||||
#include "kmailplugingrammareditormanagerinterface.h" |
||||
#include "kmail_debug.h" |
||||
#include <PimCommon/CustomToolsWidgetng> |
||||
#include <PimCommon/CustomToolsPlugin> |
||||
#include <MessageComposer/PluginEditorGrammarManager> |
||||
#include <MessageComposer/PluginEditorGrammarCustomToolsViewInterface> |
||||
|
||||
KMailPluginGrammarEditorManagerInterface::KMailPluginGrammarEditorManagerInterface(QObject *parent) |
||||
: QObject(parent) |
||||
{ |
||||
} |
||||
|
||||
KPIMTextEdit::RichTextComposer *KMailPluginGrammarEditorManagerInterface::richTextEditor() const |
||||
{ |
||||
return mRichTextEditor; |
||||
} |
||||
|
||||
void KMailPluginGrammarEditorManagerInterface::setRichTextEditor(KPIMTextEdit::RichTextComposer *richTextEditor) |
||||
{ |
||||
mRichTextEditor = richTextEditor; |
||||
} |
||||
|
||||
QWidget *KMailPluginGrammarEditorManagerInterface::parentWidget() const |
||||
{ |
||||
return mParentWidget; |
||||
} |
||||
|
||||
void KMailPluginGrammarEditorManagerInterface::setParentWidget(QWidget *parentWidget) |
||||
{ |
||||
mParentWidget = parentWidget; |
||||
} |
||||
|
||||
KActionCollection *KMailPluginGrammarEditorManagerInterface::actionCollection() const |
||||
{ |
||||
return mActionCollection; |
||||
} |
||||
|
||||
void KMailPluginGrammarEditorManagerInterface::setActionCollection(KActionCollection *actionCollection) |
||||
{ |
||||
mActionCollection = actionCollection; |
||||
} |
||||
|
||||
PimCommon::CustomToolsWidgetNg *KMailPluginGrammarEditorManagerInterface::customToolsWidget() const |
||||
{ |
||||
return mCustomToolsWidget; |
||||
} |
||||
|
||||
void KMailPluginGrammarEditorManagerInterface::setCustomToolsWidget(PimCommon::CustomToolsWidgetNg *customToolsWidget) |
||||
{ |
||||
mCustomToolsWidget = customToolsWidget; |
||||
} |
||||
|
||||
void KMailPluginGrammarEditorManagerInterface::initializePlugins() |
||||
{ |
||||
if (mWasInitialized) { |
||||
qCDebug(KMAIL_LOG) << "KMailPluginGrammarEditorManagerInterface : Plugin was already initialized. This is a bug"; |
||||
return; |
||||
} |
||||
if (!mRichTextEditor) { |
||||
qCDebug(KMAIL_LOG) << "KMailPluginGrammarEditorManagerInterface : Richtexteditor is null. This is a bug"; |
||||
return; |
||||
} |
||||
if (!mParentWidget) { |
||||
qCDebug(KMAIL_LOG) << "KMailPluginGrammarEditorManagerInterface : Parent is null. This is a bug"; |
||||
} |
||||
if (!mCustomToolsWidget) { |
||||
qCDebug(KMAIL_LOG) << "KMailPluginGrammarEditorManagerInterface : mCustomToolsWidget is null. This is a bug"; |
||||
return; |
||||
} |
||||
|
||||
const QVector<PimCommon::CustomToolsPlugin *> lstPlugin = MessageComposer::PluginEditorGrammarManager::self()->pluginsList(); |
||||
qDebug() << "lstPlugin " << lstPlugin.count(); |
||||
for (PimCommon::CustomToolsPlugin *plugin : lstPlugin) { |
||||
if (plugin->isEnabled()) { |
||||
MessageComposer::PluginEditorGrammarCustomToolsViewInterface *interface = static_cast<MessageComposer::PluginEditorGrammarCustomToolsViewInterface*>(plugin->createView(mActionCollection, mCustomToolsWidget)); |
||||
mCustomToolsWidget->addCustomToolViewInterface(interface); |
||||
interface->setParentWidget(mParentWidget); |
||||
interface->setRichTextEditor(mRichTextEditor); |
||||
// interface->reloadConfig();
|
||||
// if (!interface->exec()) {
|
||||
// qCWarning(KMAIL_LOG) << "KMailPluginGrammarEditorManagerInterface::initializePlugins: error during execution of plugin:" << interface;
|
||||
// }
|
||||
} |
||||
} |
||||
mWasInitialized = true; |
||||
} |
||||
@ -0,0 +1,60 @@ |
||||
/*
|
||||
Copyright (C) 2019 Montel Laurent <montel@kde.org> |
||||
|
||||
This program is free software; you can redistribute it and/or |
||||
modify it under the terms of the GNU General Public |
||||
License as published by the Free Software Foundation; either |
||||
version 2 of the License, or (at your option) any later version. |
||||
|
||||
This program is distributed in the hope that it will be useful, |
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
||||
General Public License for more details. |
||||
|
||||
You should have received a copy of the GNU General Public License |
||||
along with this program; see the file COPYING. If not, write to |
||||
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
||||
Boston, MA 02110-1301, USA. |
||||
*/ |
||||
|
||||
#ifndef KMAILPLUGINGrammarEDITORMANAGERINTERFACE_H |
||||
#define KMAILPLUGINGrammarEDITORMANAGERINTERFACE_H |
||||
|
||||
#include <QObject> |
||||
namespace KPIMTextEdit { |
||||
class RichTextComposer; |
||||
} |
||||
namespace PimCommon { |
||||
class CustomToolsWidgetNg; |
||||
} |
||||
class KActionCollection; |
||||
class KMailPluginGrammarEditorManagerInterface : public QObject |
||||
{ |
||||
Q_OBJECT |
||||
public: |
||||
explicit KMailPluginGrammarEditorManagerInterface(QObject *parent = nullptr); |
||||
~KMailPluginGrammarEditorManagerInterface() = default; |
||||
|
||||
KPIMTextEdit::RichTextComposer *richTextEditor() const; |
||||
void setRichTextEditor(KPIMTextEdit::RichTextComposer *richTextEditor); |
||||
|
||||
QWidget *parentWidget() const; |
||||
void setParentWidget(QWidget *parentWidget); |
||||
|
||||
void initializePlugins(); |
||||
KActionCollection *actionCollection() const; |
||||
void setActionCollection(KActionCollection *actionCollection); |
||||
|
||||
PimCommon::CustomToolsWidgetNg *customToolsWidget() const; |
||||
void setCustomToolsWidget(PimCommon::CustomToolsWidgetNg *customToolsWidget); |
||||
|
||||
private: |
||||
Q_DISABLE_COPY(KMailPluginGrammarEditorManagerInterface) |
||||
KPIMTextEdit::RichTextComposer *mRichTextEditor = nullptr; |
||||
PimCommon::CustomToolsWidgetNg *mCustomToolsWidget = nullptr; |
||||
QWidget *mParentWidget = nullptr; |
||||
KActionCollection *mActionCollection = nullptr; |
||||
bool mWasInitialized = false; |
||||
}; |
||||
|
||||
#endif // KMAILPLUGINGrammarEDITORMANAGERINTERFACE_H
|
||||
Loading…
Reference in new issue