diff --git a/mainwindow.cpp b/mainwindow.cpp index c7965e4a2..cba74b76e 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -897,6 +897,9 @@ void MainWindow::setDecodedTextFont (QFont const& font) auto style_sheet = "QLabel {" + font_as_stylesheet (font) + '}'; ui->decodedTextLabel->setStyleSheet (ui->decodedTextLabel->styleSheet () + style_sheet); ui->decodedTextLabel2->setStyleSheet (ui->decodedTextLabel2->styleSheet () + style_sheet); + if (m_msgAvgWidget) { + m_msgAvgWidget->changeFont (font); + } updateGeometry (); } @@ -1619,7 +1622,7 @@ void MainWindow::on_actionMessage_averaging_triggered() { if (!m_msgAvgWidget) { - m_msgAvgWidget.reset (new MessageAveraging {m_settings}); + m_msgAvgWidget.reset (new MessageAveraging {m_settings, m_config.decoded_text_font ()}); // Connect signals from Message Averaging window connect (this, &MainWindow::finished, m_msgAvgWidget.data (), &MessageAveraging::close); diff --git a/messageaveraging.cpp b/messageaveraging.cpp index 43a9bedda..7fc5f0522 100644 --- a/messageaveraging.cpp +++ b/messageaveraging.cpp @@ -1,17 +1,22 @@ #include "messageaveraging.h" #include #include +#include + +#include "SettingsGroup.hpp" +#include "qt_helpers.hpp" #include "ui_messageaveraging.h" -#include "commons.h" #include "moc_messageaveraging.cpp" -MessageAveraging::MessageAveraging(QSettings * settings, QWidget *parent) : +MessageAveraging::MessageAveraging(QSettings * settings, QFont const& font, QWidget *parent) : QWidget(parent), settings_ {settings}, ui(new Ui::MessageAveraging) { ui->setupUi(this); setWindowTitle (QApplication::applicationName () + " - " + tr ("Message Averaging")); + ui->msgAvgPlainTextEdit->setReadOnly (true); + changeFont (font); read_settings (); } @@ -21,6 +26,33 @@ MessageAveraging::~MessageAveraging() delete ui; } +void MessageAveraging::changeFont (QFont const& font) +{ + ui->header_label->setStyleSheet (font_as_stylesheet (font)); + ui->msgAvgPlainTextEdit->setStyleSheet (font_as_stylesheet (font)); + setContentFont (font); + updateGeometry (); +} + +void MessageAveraging::setContentFont(QFont const& font) +{ + ui->msgAvgPlainTextEdit->setFont (font); + QTextCharFormat charFormat; + charFormat.setFont (font); + ui->msgAvgPlainTextEdit->selectAll (); + auto cursor = ui->msgAvgPlainTextEdit->textCursor (); + cursor.mergeCharFormat (charFormat); + cursor.clearSelection (); + cursor.movePosition (QTextCursor::End); + + // position so viewport scrolled to left + cursor.movePosition (QTextCursor::Up); + cursor.movePosition (QTextCursor::StartOfLine); + + ui->msgAvgPlainTextEdit->setTextCursor (cursor); + ui->msgAvgPlainTextEdit->ensureCursorVisible (); +} + void MessageAveraging::closeEvent (QCloseEvent * e) { write_settings (); @@ -29,19 +61,17 @@ void MessageAveraging::closeEvent (QCloseEvent * e) void MessageAveraging::read_settings () { - settings_->beginGroup ("MessageAveraging"); + SettingsGroup group {settings_, "MessageAveraging"}; restoreGeometry (settings_->value ("window/geometry").toByteArray ()); - settings_->endGroup (); } void MessageAveraging::write_settings () { - settings_->beginGroup ("MessageAveraging"); + SettingsGroup group {settings_, "MessageAveraging"}; settings_->setValue ("window/geometry", saveGeometry ()); - settings_->endGroup (); } -void MessageAveraging::displayAvg(QString t) +void MessageAveraging::displayAvg(QString const& t) { - ui->msgAvgTextBrowser->setText(t); + ui->msgAvgPlainTextEdit->setPlainText(t); } diff --git a/messageaveraging.h b/messageaveraging.h index e1fece7c5..88d1e90e3 100644 --- a/messageaveraging.h +++ b/messageaveraging.h @@ -8,6 +8,7 @@ #include class QSettings; +class QFont; namespace Ui { class MessageAveraging; @@ -18,9 +19,10 @@ class MessageAveraging : public QWidget Q_OBJECT public: - explicit MessageAveraging(QSettings * settings, QWidget *parent = 0); + explicit MessageAveraging(QSettings *, QFont const&, QWidget * parent = 0); ~MessageAveraging(); - void displayAvg(QString t); + void displayAvg(QString const&); + void changeFont (QFont const&); protected: void closeEvent (QCloseEvent *) override; @@ -28,6 +30,7 @@ protected: private: void read_settings (); void write_settings (); + void setContentFont (QFont const&); QSettings * settings_; Ui::MessageAveraging *ui; diff --git a/messageaveraging.ui b/messageaveraging.ui index 3883f6799..436a63023 100644 --- a/messageaveraging.ui +++ b/messageaveraging.ui @@ -2,14 +2,6 @@ MessageAveraging - - - 0 - 0 - 260 - 287 - - Message Averaging @@ -17,44 +9,19 @@ - - - - 16777215 - 30 - - - - - Courier New - 10 - - + - UTC Sync DT Freq + UTC Sync DT Freq + + + 3 - - - - 240 - 0 - - - - - Courier New - 10 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Courier New'; font-size:10pt; font-weight:400; font-style:normal;"> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> + + + QPlainTextEdit::NoWrap