From 35c035570f5ec63968c0ed429c678c2fda8f20c0 Mon Sep 17 00:00:00 2001 From: Klaus Basan Date: Tue, 25 Sep 2018 21:12:05 +0200 Subject: [PATCH] Ref T369, replace font style in style sheet from font dialog --- .../components/settingstextmessagestyle.cpp | 20 +++++++++++++++++++ .../components/settingstextmessagestyle.h | 3 +++ 2 files changed, 23 insertions(+) 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