From 714e29d2cb827dfea91a610772af2f1c001dfd5b Mon Sep 17 00:00:00 2001 From: eelke Date: Thu, 22 Oct 2026 19:17:46 +0200 Subject: [PATCH] Fix several fonts. --- pglab/BackupDialog.cpp | 6 ++---- pglab/UserConfiguration.cpp | 19 ++++++++++++++----- pglab/querytool/QueryTool.cpp | 5 +++-- pglab/tuplesresultwidget.cpp | 1 - 4 files changed, 19 insertions(+), 12 deletions(-) diff --git a/pglab/BackupDialog.cpp b/pglab/BackupDialog.cpp index 55a4404..57c92ec 100644 --- a/pglab/BackupDialog.cpp +++ b/pglab/BackupDialog.cpp @@ -2,6 +2,7 @@ #include "BackupFormatModel.h" #include "PgDumpOutputHighlighter.h" +#include "UserConfiguration.h" #include #include #include @@ -51,10 +52,7 @@ QPlainTextEdit* createStdOutput(QWidget *parent) brush3.setStyle(Qt::SolidPattern); palette.setBrush(QPalette::Disabled, QPalette::Base, brush3); stdOutput->setPalette(palette); - QFont font; - font.setFamily(QString::fromUtf8("Source Code Pro")); - font.setPointSize(10); - stdOutput->setFont(font); + stdOutput->setFont(UserConfiguration::instance()->codeFont()); stdOutput->setLineWrapMode(QPlainTextEdit::NoWrap); stdOutput->setReadOnly(true); diff --git a/pglab/UserConfiguration.cpp b/pglab/UserConfiguration.cpp index cea1be2..4ee0aea 100644 --- a/pglab/UserConfiguration.cpp +++ b/pglab/UserConfiguration.cpp @@ -1,5 +1,7 @@ #include "UserConfiguration.h" #include +#include +#include UserConfiguration* UserConfiguration::instance() { @@ -14,12 +16,19 @@ UserConfiguration::UserConfiguration() QFont UserConfiguration::codeFont() const { - QString family = m_settings.value("fonts/code/family", QString("Source Code Pro")).toString(); - int size = m_settings.value("fonts/code/size", 10).toInt(); - QFont font; - font.setFamily(family); + QString family = m_settings.value("fonts/code/family").toString(); + QFont font = QFontDatabase::systemFont(QFontDatabase::FixedFont); + font.setStyleHint(QFont::Monospace); font.setFixedPitch(true); - font.setPointSize(size); + if (!family.isEmpty()) + font.setFamily(family); + else if (!QFontInfo(font).fixedPitch()) + font.setFamilies({ "Source Code Pro", "Consolas", "Courier New", "monospace" }); + + bool ok = false; + int size = m_settings.value("fonts/code/size").toInt(&ok); + if (ok && size > 0) + font.setPointSize(size); return font; } diff --git a/pglab/querytool/QueryTool.cpp b/pglab/querytool/QueryTool.cpp index e116f38..9934977 100644 --- a/pglab/querytool/QueryTool.cpp +++ b/pglab/querytool/QueryTool.cpp @@ -43,9 +43,10 @@ QueryTool::QueryTool(IDatabaseWindow *context, std::shared_ptr docu connect(&m_dbConnection, &ASyncDBConnection::onStateChanged, this, &QueryTool::connectionStateChanged); connect(&m_dbConnection, &ASyncDBConnection::onNotice, this, &QueryTool::receiveNotice); - ui->queryEdit->setFont(UserConfiguration::instance()->codeFont()); - + const QFont codeFont = UserConfiguration::instance()->codeFont(); + m_document->textDocument()->setDefaultFont(codeFont); ui->queryEdit->setDocument(m_document->textDocument()); + ui->queryEdit->setFont(codeFont); m_document->addEditor(this); auto types = m_catalog->types(); if (types) { diff --git a/pglab/tuplesresultwidget.cpp b/pglab/tuplesresultwidget.cpp index 21b090a..f116d29 100644 --- a/pglab/tuplesresultwidget.cpp +++ b/pglab/tuplesresultwidget.cpp @@ -21,7 +21,6 @@ TuplesResultWidget::TuplesResultWidget(QWidget *parent) : m_grid = new DataGridWidget(this); ui->verticalLayout->insertWidget(0, m_grid); - m_grid->view()->setFont(QFont("Source Sans Pro", 10)); m_grid->view()->setAlternatingRowColors(true); m_grid->view()->setWordWrap(false); m_grid->view()->verticalHeader()->setDefaultSectionSize(21);