diff --git a/displaytext.cpp b/displaytext.cpp index d9712f369..003c09d78 100644 --- a/displaytext.cpp +++ b/displaytext.cpp @@ -2,6 +2,9 @@ #include #include #include +#include +#include +#include #include "qt_helpers.hpp" @@ -14,6 +17,20 @@ DisplayText::DisplayText(QWidget *parent) : viewport ()->setCursor (Qt::ArrowCursor); } +void DisplayText::setContentFont(QFont const& font) +{ + document ()->setDefaultFont (font); + QTextCharFormat format; + format.setFont (font); + selectAll (); + auto cursor = textCursor (); + cursor.mergeCharFormat (format); + cursor.clearSelection (); + cursor.movePosition (QTextCursor::End); + setTextCursor (cursor); + ensureCursorVisible (); +} + void DisplayText::mouseDoubleClickEvent(QMouseEvent *e) { bool ctrl = (e->modifiers() & Qt::ControlModifier); @@ -36,6 +53,7 @@ void DisplayText::_insertText(const QString text, const QString bg) moveCursor (QTextCursor::End); append (s); moveCursor (QTextCursor::End); + ensureCursorVisible (); } diff --git a/displaytext.h b/displaytext.h index 24cf619d8..584ec206b 100644 --- a/displaytext.h +++ b/displaytext.h @@ -13,6 +13,7 @@ class DisplayText : public QTextEdit public: explicit DisplayText(QWidget *parent = 0); + void setContentFont (QFont const&); void insertLineSpacer(); void displayDecodedText(DecodedText decodedText, QString myCall, bool displayDXCCEntity, LogBook logBook, QColor color_CQ, QColor color_MyCall, diff --git a/mainwindow.cpp b/mainwindow.cpp index 5e22c9930..ef7950148 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -596,9 +596,9 @@ void MainWindow::readSettings() void MainWindow::setDecodedTextFont (QFont const& font) { + ui->decodedTextBrowser->setContentFont (font); + ui->decodedTextBrowser2->setContentFont (font); auto style_sheet = font_as_stylesheet (font); - ui->decodedTextBrowser->setStyleSheet (ui->decodedTextBrowser->styleSheet () + style_sheet); - ui->decodedTextBrowser2->setStyleSheet (ui->decodedTextBrowser2->styleSheet () + style_sheet); ui->decodedTextLabel->setStyleSheet (ui->decodedTextLabel->styleSheet () + style_sheet); ui->decodedTextLabel2->setStyleSheet (ui->decodedTextLabel2->styleSheet () + style_sheet); }