File indexing completed on 2025-02-16 04:49:31

0001 /*
0002    SPDX-FileCopyrightText: 2019-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "languagetoolplugin.h"
0008 #include "languagetoolinterface.h"
0009 #include <KLocalizedString>
0010 #include <KPluginFactory>
0011 #include <PimCommon/CustomToolsWidgetng>
0012 #include <TextGrammarCheck/LanguageToolConfigDialog>
0013 #include <TextGrammarCheck/LanguageToolManager>
0014 
0015 K_PLUGIN_CLASS_WITH_JSON(LanguageToolPlugin, "kmail_languagetoolplugin.json")
0016 LanguageToolPlugin::LanguageToolPlugin(QObject *parent, const QList<QVariant> &)
0017     : PimCommon::CustomToolsPlugin(parent)
0018 {
0019 }
0020 
0021 LanguageToolPlugin::~LanguageToolPlugin() = default;
0022 
0023 PimCommon::CustomToolsViewInterface *LanguageToolPlugin::createView(KActionCollection *ac, PimCommon::CustomToolsWidgetNg *parent)
0024 {
0025     auto view = new LanguageToolInterface(ac, parent);
0026 
0027     connect(view, &LanguageToolInterface::toolsWasClosed, parent, &PimCommon::CustomToolsWidgetNg::slotToolsWasClosed);
0028     connect(view, &LanguageToolInterface::insertText, parent, &PimCommon::CustomToolsWidgetNg::insertText);
0029     connect(view, &LanguageToolInterface::activateView, parent, &PimCommon::CustomToolsWidgetNg::slotActivateView);
0030     connect(view, &LanguageToolInterface::configure, this, &LanguageToolPlugin::showConfigureDialog);
0031     return view;
0032 }
0033 
0034 QString LanguageToolPlugin::customToolName() const
0035 {
0036     return i18n("LanguageTool Plugin");
0037 }
0038 
0039 bool LanguageToolPlugin::hasConfigureDialog() const
0040 {
0041     return true;
0042 }
0043 
0044 void LanguageToolPlugin::showConfigureDialog(QWidget *parent)
0045 {
0046     TextGrammarCheck::LanguageToolConfigDialog dlg(parent);
0047     if (dlg.exec()) {
0048         TextGrammarCheck::LanguageToolManager::self()->loadSettings();
0049     }
0050 }
0051 
0052 #include "languagetoolplugin.moc"
0053 
0054 #include "moc_languagetoolplugin.cpp"