Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+143
@@ -0,0 +1,143 @@
|
||||
/**
|
||||
* @RDE_HEADER@
|
||||
* LtsTextEditDialog
|
||||
* $Id$
|
||||
* $HeadURL$
|
||||
* $Author$
|
||||
* Created by Norbert Thoden, SLSE, 2023-06-14
|
||||
*/
|
||||
|
||||
#include "lts_text_edit_dialog.h"
|
||||
#include "lts_text_editor.h"
|
||||
|
||||
#include <QHBoxLayout>
|
||||
|
||||
#if 1
|
||||
#define USE_TEXT_EDITOR_2
|
||||
#else
|
||||
#define USE_TEXT_EDITOR
|
||||
#endif
|
||||
|
||||
namespace LtsWidgets
|
||||
{
|
||||
|
||||
LtsTextEditDialog::LtsTextEditDialog(QWidget *parent)
|
||||
: LtsDialog(parent, ButtonCombination::OkApplyCancel)
|
||||
#ifdef USE_TEXT_EDITOR
|
||||
, m_textEditor(new LtsTextEditor(this))
|
||||
#else
|
||||
, m_textEditor2(new LtsTextEditor2(this))
|
||||
#endif
|
||||
{
|
||||
QHBoxLayout *hbox = new QHBoxLayout(this);
|
||||
#ifdef USE_TEXT_EDITOR
|
||||
hbox->addWidget(m_textEditor);
|
||||
connect(m_textEditor->textEdit(), &QTextEdit::textChanged, this, [this]() {
|
||||
emit signalTextChanged(this->getHtmlText());
|
||||
});
|
||||
connect(m_textEditor, &LtsTextEditor::backgroundColorChanged,
|
||||
this, &LtsTextEditDialog::onBackgroundColorChanged);
|
||||
#else
|
||||
hbox->addWidget(m_textEditor2);
|
||||
connect(m_textEditor2->textEdit(), &QTextEdit::textChanged, this, [this]() {
|
||||
emit signalTextChanged(this->getHtmlText());
|
||||
});
|
||||
connect(m_textEditor2, &LtsTextEditor2::backgroundColorChanged,
|
||||
this, &LtsTextEditDialog::onBackgroundColorChanged);
|
||||
#endif
|
||||
|
||||
|
||||
enableBackgroundColor(false);
|
||||
}
|
||||
|
||||
LtsTextEditDialog::~LtsTextEditDialog()
|
||||
{}
|
||||
|
||||
void LtsTextEditDialog::enableBackgroundColor(bool onOff)
|
||||
{
|
||||
#ifdef USE_TEXT_EDITOR
|
||||
m_textEditor->enableBackgroundColor(onOff);
|
||||
#else
|
||||
m_textEditor2->enableBackgroundColor(onOff);
|
||||
#endif
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// PUBLIC
|
||||
|
||||
void LtsTextEditDialog::retranslate()
|
||||
{
|
||||
// in correct translation context
|
||||
QString name = tr("Edit Text");
|
||||
translate(name);
|
||||
}
|
||||
|
||||
bool LtsTextEditDialog::apply()
|
||||
{
|
||||
#ifdef USE_TEXT_EDITOR
|
||||
QString textHtml = m_textEditor->textEdit()->document()->toHtml();
|
||||
const QString backGroundColor = QLatin1String("background-color:'%1'; ").arg(m_textEditor->backgroundColor().name());
|
||||
|
||||
#else
|
||||
QString textHtml = m_textEditor2->textEdit()->document()->toHtml();
|
||||
const QString backGroundColor = QLatin1String("background-color:'%1'; ").arg(m_textEditor2->backgroundColor().name());
|
||||
#endif
|
||||
|
||||
emit signalTextApplied(textHtml);
|
||||
|
||||
const int insertBackGroundColorIndex = textHtml.indexOf(QLatin1String("font-family"));
|
||||
textHtml.insert(insertBackGroundColorIndex, backGroundColor);
|
||||
|
||||
emit signalTextAppliedWithBackGroundColor(textHtml);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void LtsTextEditDialog::setHtml(const QString &htmlText)
|
||||
{
|
||||
// QTextEdit::textChanged is add via LtsDialog::addChangesMadeSignal()
|
||||
// so setHtml will in turn call slotChangesMade()
|
||||
#ifdef USE_TEXT_EDITOR
|
||||
m_textEditor->textEdit()->document()->setHtml(htmlText);
|
||||
#else
|
||||
m_textEditor2->textEdit()->document()->setHtml(htmlText);
|
||||
#endif
|
||||
}
|
||||
|
||||
QString LtsTextEditDialog::getHtmlText() const
|
||||
{
|
||||
#ifdef USE_TEXT_EDITOR
|
||||
if(m_textEditor && m_textEditor->textEdit() && m_textEditor->textEdit()->document())
|
||||
return m_textEditor->textEdit()->document()->toHtml();
|
||||
#else
|
||||
if(m_textEditor2 && m_textEditor2->textEdit() && m_textEditor2->textEdit()->document())
|
||||
return m_textEditor2->textEdit()->document()->toHtml();
|
||||
#endif
|
||||
return {};
|
||||
}
|
||||
|
||||
void LtsTextEditDialog::setInitialBackgroundColor(const QColor &bgColor)
|
||||
{
|
||||
#ifdef USE_TEXT_EDITOR
|
||||
if (m_textEditor)
|
||||
m_textEditor->setInitialBackgroundColor(bgColor);
|
||||
#else
|
||||
if (m_textEditor2)
|
||||
m_textEditor2->setInitialBackgroundColor(bgColor);
|
||||
#endif
|
||||
}
|
||||
|
||||
void LtsTextEditDialog::dialogCanceled()
|
||||
{
|
||||
emit signalDialogCanceled();
|
||||
BaseClass::dialogCanceled();
|
||||
}
|
||||
|
||||
void LtsTextEditDialog::onBackgroundColorChanged(const QColor &backgroundColor)
|
||||
{
|
||||
slotChangesMade();
|
||||
emit signalBackgroundColorChanged(backgroundColor);
|
||||
}
|
||||
|
||||
} // namespace LtsWidgets
|
||||
|
||||
Reference in new issue
Block a user