File indexing completed on 2025-02-16 04:49:26
0001 /* 0002 SPDX-FileCopyrightText: 2018-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "markdownplugin.h" 0008 #include "markdownconfiguredialog.h" 0009 #include "markdowninterface.h" 0010 #include <KLocalizedString> 0011 #include <KPluginFactory> 0012 0013 #include <QPointer> 0014 0015 K_PLUGIN_CLASS_WITH_JSON(MarkdownPlugin, "kmail_markdownplugin.json") 0016 0017 MarkdownPlugin::MarkdownPlugin(QObject *parent, const QList<QVariant> &) 0018 : MessageComposer::PluginEditorConvertText(parent) 0019 { 0020 } 0021 0022 MarkdownPlugin::~MarkdownPlugin() = default; 0023 0024 MessageComposer::PluginEditorConvertTextInterface *MarkdownPlugin::createInterface(QObject *parent) 0025 { 0026 auto interface = new MarkdownInterface(parent); 0027 connect(this, &MarkdownPlugin::configChanged, interface, &MarkdownInterface::reloadConfig); 0028 return interface; 0029 } 0030 0031 bool MarkdownPlugin::hasConfigureDialog() const 0032 { 0033 return true; 0034 } 0035 0036 void MarkdownPlugin::showConfigureDialog(QWidget *parent) 0037 { 0038 Q_UNUSED(parent) 0039 QPointer<MarkdownConfigureDialog> dlg = new MarkdownConfigureDialog(parent); 0040 if (dlg->exec()) { 0041 Q_EMIT configChanged(); 0042 } 0043 delete dlg; 0044 } 0045 0046 QString MarkdownPlugin::description() const 0047 { 0048 return i18n("Generate HTML from markdown language."); 0049 } 0050 0051 bool MarkdownPlugin::canWorkOnHtml() const 0052 { 0053 return false; 0054 } 0055 0056 bool MarkdownPlugin::hasStatusBarSupport() const 0057 { 0058 return true; 0059 } 0060 0061 bool MarkdownPlugin::hasPopupMenuSupport() const 0062 { 0063 return true; 0064 } 0065 0066 bool MarkdownPlugin::hasToolBarSupport() const 0067 { 0068 return false; 0069 } 0070 0071 #include "markdownplugin.moc" 0072 0073 #include "moc_markdownplugin.cpp"