File indexing completed on 2025-05-04 04:51:07

0001 /*
0002    SPDX-FileCopyrightText: 2015-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "viewerpluginexternalscript.h"
0008 #include "configuredialog/viewerpluginexternalconfiguredialog.h"
0009 #include "viewerpluginexternalscriptinterface.h"
0010 #include <KActionCollection>
0011 #include <KPluginFactory>
0012 #include <QPointer>
0013 
0014 using namespace MessageViewer;
0015 K_PLUGIN_CLASS_WITH_JSON(ViewerPluginExternalscript, "messageviewer_externalscriptplugin.json")
0016 
0017 ViewerPluginExternalscript::ViewerPluginExternalscript(QObject *parent, const QList<QVariant> &)
0018     : MessageViewer::ViewerPlugin(parent)
0019 {
0020 }
0021 
0022 ViewerPluginInterface *ViewerPluginExternalscript::createView(QWidget *parent, KActionCollection *ac)
0023 {
0024     auto view = new MessageViewer::ViewerPluginExternalscriptInterface(ac, parent);
0025     connect(view, &MessageViewer::ViewerPluginExternalscriptInterface::configChanged, this, &ViewerPluginExternalscript::configChanged);
0026     return view;
0027 }
0028 
0029 QString ViewerPluginExternalscript::viewerPluginName() const
0030 {
0031     return QStringLiteral("external script");
0032 }
0033 
0034 void ViewerPluginExternalscript::showConfigureDialog(QWidget *parent)
0035 {
0036     QPointer<ViewerPluginExternalConfigureDialog> dlg = new ViewerPluginExternalConfigureDialog(parent);
0037     if (dlg->exec()) {
0038         Q_EMIT configChanged();
0039     }
0040     delete dlg;
0041 }
0042 
0043 bool ViewerPluginExternalscript::hasConfigureDialog() const
0044 {
0045     return true;
0046 }
0047 
0048 #include "viewerpluginexternalscript.moc"
0049 
0050 #include "moc_viewerpluginexternalscript.cpp"