File indexing completed on 2024-05-19 04:35:18
0001 /* 0002 SPDX-FileCopyrightText: 2017 Julian Wolff <wolff@julianwolff.de> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #include "generator_md.h" 0008 0009 #include "converter.h" 0010 #include "debug_md.h" 0011 0012 #include <KAboutData> 0013 #include <KConfigDialog> 0014 #include <KLocalizedString> 0015 0016 #include <QCheckBox> 0017 0018 OKULAR_EXPORT_PLUGIN(MarkdownGenerator, "libokularGenerator_md.json") 0019 0020 MarkdownGenerator::MarkdownGenerator(QObject *parent, const QVariantList &args) 0021 : Okular::TextDocumentGenerator(new Markdown::Converter, QStringLiteral("okular_markdown_generator_settings"), parent, args) 0022 { 0023 Okular::TextDocumentSettings *mdSettings = generalSettings(); 0024 0025 mdSettings->addItemBool(QStringLiteral("SmartyPants"), m_isFancyPantsConfigEnabled, true); 0026 mdSettings->load(); 0027 m_wasFancyPantsConfigEnabled = m_isFancyPantsConfigEnabled; 0028 Markdown::Converter *c = static_cast<Markdown::Converter *>(converter()); 0029 c->setFancyPantsEnabled(m_isFancyPantsConfigEnabled); 0030 } 0031 0032 bool MarkdownGenerator::reparseConfig() 0033 { 0034 const bool textDocumentGeneratorChangedConfig = Okular::TextDocumentGenerator::reparseConfig(); 0035 0036 if (m_wasFancyPantsConfigEnabled != m_isFancyPantsConfigEnabled) { 0037 m_wasFancyPantsConfigEnabled = m_isFancyPantsConfigEnabled; 0038 0039 Markdown::Converter *c = static_cast<Markdown::Converter *>(converter()); 0040 c->setFancyPantsEnabled(m_isFancyPantsConfigEnabled); 0041 if (c->document()) { 0042 c->convertAgain(); 0043 setTextDocument(c->document()); 0044 } 0045 0046 return true; 0047 } 0048 0049 return textDocumentGeneratorChangedConfig; 0050 } 0051 0052 void MarkdownGenerator::addPages(KConfigDialog *dlg) 0053 { 0054 Okular::TextDocumentSettingsWidget *widget = new Okular::TextDocumentSettingsWidget(); 0055 0056 QCheckBox *enableSmartyPants = new QCheckBox(dlg); 0057 enableSmartyPants->setObjectName(QStringLiteral("kcfg_SmartyPants")); 0058 widget->addRow(i18n("Enable SmartyPants formatting"), enableSmartyPants); 0059 0060 dlg->addPage(widget, generalSettings(), i18n("Markdown"), QStringLiteral("text-markdown"), i18n("Markdown Backend Configuration")); 0061 } 0062 0063 Q_LOGGING_CATEGORY(OkularMdDebug, "org.kde.okular.generators.md", QtWarningMsg) 0064 0065 #include "generator_md.moc"