File indexing completed on 2024-05-19 05:21:47
0001 /* 0002 SPDX-FileCopyrightText: 2020-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "testgenerateplaintextbuildergui.h" 0008 #include <KPIMTextEdit/MarkupDirector> 0009 #include <KPIMTextEdit/PlainTextMarkupBuilder> 0010 #include <QApplication> 0011 #include <QLabel> 0012 #include <QPushButton> 0013 #include <QTextEdit> 0014 #include <QVBoxLayout> 0015 0016 TestGeneratePlainTextBuilderGui::TestGeneratePlainTextBuilderGui(QWidget *parent) 0017 : QWidget(parent) 0018 { 0019 auto mainLayout = new QVBoxLayout(this); 0020 auto lab = new QLabel(QStringLiteral("html text"), this); 0021 mainLayout->addWidget(lab); 0022 0023 auto htmlEdit = new QTextEdit(this); 0024 htmlEdit->setAcceptRichText(false); 0025 mainLayout->addWidget(htmlEdit); 0026 0027 auto generateHtmlFromQTextEditButton = new QPushButton(QStringLiteral("Generate HTML"), this); 0028 mainLayout->addWidget(generateHtmlFromQTextEditButton); 0029 0030 lab = new QLabel(QStringLiteral("Generate Html"), this); 0031 mainLayout->addWidget(lab); 0032 0033 auto generatedHtml = new QTextEdit(this); 0034 generatedHtml->setAcceptRichText(false); 0035 generatedHtml->setReadOnly(true); 0036 mainLayout->addWidget(generatedHtml); 0037 0038 lab = new QLabel(QStringLiteral("Plaintext from Grantlee to TextEdit"), this); 0039 mainLayout->addWidget(lab); 0040 0041 auto generatedPlainTextFromGrantleeToTextEdit = new QTextEdit(this); 0042 generatedPlainTextFromGrantleeToTextEdit->setAcceptRichText(false); 0043 generatedPlainTextFromGrantleeToTextEdit->setReadOnly(true); 0044 mainLayout->addWidget(generatedPlainTextFromGrantleeToTextEdit); 0045 0046 connect(generateHtmlFromQTextEditButton, &QPushButton::clicked, this, [=] { 0047 generatedHtml->setHtml(htmlEdit->toPlainText()); 0048 0049 auto hb = new KPIMTextEdit::PlainTextMarkupBuilder(); 0050 auto md = new KPIMTextEdit::MarkupDirector(hb); 0051 md->processDocument(generatedHtml->document()); 0052 auto result = hb->getResult(); 0053 delete md; 0054 delete hb; 0055 generatedPlainTextFromGrantleeToTextEdit->setPlainText(result); 0056 }); 0057 } 0058 0059 TestGeneratePlainTextBuilderGui::~TestGeneratePlainTextBuilderGui() = default; 0060 0061 int main(int argc, char *argv[]) 0062 { 0063 QApplication app(argc, argv); 0064 TestGeneratePlainTextBuilderGui window; 0065 0066 window.show(); 0067 return app.exec(); 0068 } 0069 0070 #include "moc_testgenerateplaintextbuildergui.cpp"