You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

68 lines
2.5 KiB

/***************************************************************************
* Copyright (C) 2017 by Julian Wolff <wolff@julianwolff.de> *
* *
* 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. *
***************************************************************************/
#include "generator_md.h"
#include "converter.h"
#include "debug_md.h"
#include <KAboutData>
#include <KLocalizedString>
#include <kconfigdialog.h>
#include <QCheckBox>
OKULAR_EXPORT_PLUGIN(MarkdownGenerator, "libokularGenerator_md.json")
bool MarkdownGenerator::s_isFancyPantsEnabled = true;
bool MarkdownGenerator::s_wasFancyPantsEnabled = true;
MarkdownGenerator::MarkdownGenerator( QObject *parent, const QVariantList &args )
: Okular::TextDocumentGenerator( new Markdown::Converter, QStringLiteral("okular_markdown_generator_settings"), parent, args )
{
Okular::TextDocumentSettings *mdSettings = generalSettings();
mdSettings->addItemBool( QStringLiteral("SmartyPants"), s_isFancyPantsEnabled, true );
mdSettings->load();
s_wasFancyPantsEnabled = s_isFancyPantsEnabled;
}
bool MarkdownGenerator::reparseConfig()
{
const bool textDocumentGeneratorChangedConfig = Okular::TextDocumentGenerator::reparseConfig();
if (s_wasFancyPantsEnabled != s_isFancyPantsEnabled) {
s_wasFancyPantsEnabled = s_isFancyPantsEnabled;
Markdown::Converter *c = static_cast<Markdown::Converter*>( converter() );
c->convertAgain();
setTextDocument( c->document() );
return true;
}
return textDocumentGeneratorChangedConfig;
}
void MarkdownGenerator::addPages( KConfigDialog* dlg )
{
Okular::TextDocumentSettingsWidget *widget = new Okular::TextDocumentSettingsWidget();
QCheckBox *enableSmartyPants = new QCheckBox( dlg );
enableSmartyPants->setObjectName( QStringLiteral( "kcfg_SmartyPants" ) );
widget->addRow( i18n("Enable SmartyPants formatting"), enableSmartyPants );
dlg->addPage( widget, generalSettings(), i18n("Markdown"), QStringLiteral("text-markdown"), i18n("Markdown Backend Configuration") );
}
Q_LOGGING_CATEGORY(OkularMdDebug, "org.kde.okular.generators.md", QtWarningMsg)
#include "generator_md.moc"