diff --git a/src/blackgui/components/settingstextmessagestyle.cpp b/src/blackgui/components/settingstextmessagestyle.cpp index ddd0e166c..6ddb7b998 100644 --- a/src/blackgui/components/settingstextmessagestyle.cpp +++ b/src/blackgui/components/settingstextmessagestyle.cpp @@ -11,9 +11,12 @@ #include "ui_settingstextmessagestyle.h" #include "settingsfontdialog.h" #include "texteditdialog.h" +#include "settingstextmessagestyle.h" #include #include +#include +#include namespace BlackGui { @@ -53,6 +56,8 @@ namespace BlackGui const QDialog::DialogCode r = static_cast(m_fontSettingsDialog->exec()); if (r == QDialog::Accepted) { + const QStringList familySizeStyle = this->getFamilySizeStyle(); + this->setFontFamilySizeStyle(familySizeStyle); emit this->changed(); } } @@ -73,5 +78,20 @@ namespace BlackGui emit this->changed(); } } + + bool CSettingsTextMessageStyle::setFontFamilySizeStyle(const QStringList &familySizeStlye) + { + if (familySizeStlye.size() != 3) { return false; } + static const QString f("font-family: \"%1\"; font-size: %2; font-style: %3"); + + QString style = m_style; + const QString tableStyle = QStringLiteral("table { ") % f.arg(familySizeStlye.at(0), familySizeStlye.at(1), familySizeStlye.at(2)) % QStringLiteral(" }"); + + thread_local const QRegularExpression re("table\\s*\\{.*\\}"); + style.replace(re, tableStyle); + + m_style = style; + return true; + } } // ns } // ns diff --git a/src/blackgui/components/settingstextmessagestyle.h b/src/blackgui/components/settingstextmessagestyle.h index 7871d5f14..bae69946c 100644 --- a/src/blackgui/components/settingstextmessagestyle.h +++ b/src/blackgui/components/settingstextmessagestyle.h @@ -63,6 +63,9 @@ namespace BlackGui //! Change style void changeStyle(); + + //! Update the font part + bool setFontFamilySizeStyle(const QStringList &familySizeStlye); }; } // ns } // ns