diff --git a/qrenderdoc/Code/QRDUtils.cpp b/qrenderdoc/Code/QRDUtils.cpp index a0f7e52e3..721d3c04d 100644 --- a/qrenderdoc/Code/QRDUtils.cpp +++ b/qrenderdoc/Code/QRDUtils.cpp @@ -2075,8 +2075,10 @@ int Formatter::m_minFigures = 2, Formatter::m_maxFigures = 5, Formatter::m_expNe double Formatter::m_expNegValue = 0.00001; // 10^(-5) double Formatter::m_expPosValue = 10000000.0; // 10^7 QFont *Formatter::m_Font = NULL; +QFont *Formatter::m_FixedFont = NULL; float Formatter::m_FontBaseSize = 10.0f; // this should always be overridden below, but just in // case let's pick a sensible value +float Formatter::m_FixedFontBaseSize = 10.0f; QColor Formatter::m_DarkChecker, Formatter::m_LightChecker; void Formatter::setParams(const PersistantConfig &config) @@ -2093,6 +2095,8 @@ void Formatter::setParams(const PersistantConfig &config) { m_Font = new QFont(); m_FontBaseSize = QApplication::font().pointSizeF(); + m_FixedFont = new QFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + m_FixedFontBaseSize = m_FixedFont->pointSizeF(); } *m_Font = @@ -2103,6 +2107,8 @@ void Formatter::setParams(const PersistantConfig &config) f.setPointSizeF(m_FontBaseSize * config.Font_GlobalScale); QApplication::setFont(f); + m_FixedFont->setPointSizeF(m_FixedFontBaseSize * config.Font_GlobalScale); + Formatter::setPalette(QApplication::palette()); } diff --git a/qrenderdoc/Code/QRDUtils.h b/qrenderdoc/Code/QRDUtils.h index 1e5453a94..0d670f2b2 100644 --- a/qrenderdoc/Code/QRDUtils.h +++ b/qrenderdoc/Code/QRDUtils.h @@ -256,13 +256,14 @@ struct Formatter static QString Format(int32_t i, bool hex = false) { return QString::number(i); } static QString Format(int64_t i, bool hex = false) { return QString::number(i); } static const QFont &PreferredFont() { return *m_Font; } + static const QFont &FixedFont() { return *m_FixedFont; } static const QColor DarkCheckerColor() { return m_DarkChecker; } static const QColor LightCheckerColor() { return m_LightChecker; } private: static int m_minFigures, m_maxFigures, m_expNegCutoff, m_expPosCutoff; static double m_expNegValue, m_expPosValue; - static QFont *m_Font; - static float m_FontBaseSize; + static QFont *m_Font, *m_FixedFont; + static float m_FontBaseSize, m_FixedFontBaseSize; static QColor m_DarkChecker, m_LightChecker; }; diff --git a/qrenderdoc/Code/ScintillaSyntax.cpp b/qrenderdoc/Code/ScintillaSyntax.cpp index 302360975..f086c2270 100644 --- a/qrenderdoc/Code/ScintillaSyntax.cpp +++ b/qrenderdoc/Code/ScintillaSyntax.cpp @@ -245,7 +245,6 @@ void ConfigureSyntax(ScintillaEdit *scintilla, int language) } scintilla->setLexer(language); - scintilla->styleSetSize(STYLE_DEFAULT, 10); #define SC_COL(qcol) SCINTILLA_COLOUR(qcol.red(), qcol.green(), qcol.blue()) diff --git a/qrenderdoc/Widgets/BufferFormatSpecifier.cpp b/qrenderdoc/Widgets/BufferFormatSpecifier.cpp index e4760409d..49da76400 100644 --- a/qrenderdoc/Widgets/BufferFormatSpecifier.cpp +++ b/qrenderdoc/Widgets/BufferFormatSpecifier.cpp @@ -36,7 +36,7 @@ BufferFormatSpecifier::BufferFormatSpecifier(QWidget *parent) setErrors(QString()); - ui->formatText->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + ui->formatText->setFont(Formatter::FixedFont()); } BufferFormatSpecifier::~BufferFormatSpecifier() diff --git a/qrenderdoc/Windows/BufferViewer.cpp b/qrenderdoc/Windows/BufferViewer.cpp index 588bf2d5a..f81662df1 100644 --- a/qrenderdoc/Windows/BufferViewer.cpp +++ b/qrenderdoc/Windows/BufferViewer.cpp @@ -2008,12 +2008,12 @@ BufferViewer::BufferViewer(ICaptureContext &ctx, bool meshview, QWidget *parent) ui->outputTabs->setCurrentIndex(0); m_CurStage = MeshDataStage::VSIn; - ui->vsinData->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); - ui->vsoutData->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); - ui->gsoutData->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + ui->vsinData->setFont(Formatter::FixedFont()); + ui->vsoutData->setFont(Formatter::FixedFont()); + ui->gsoutData->setFont(Formatter::FixedFont()); - ui->minBoundsLabel->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); - ui->maxBoundsLabel->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + ui->minBoundsLabel->setFont(Formatter::FixedFont()); + ui->maxBoundsLabel->setFont(Formatter::FixedFont()); ui->rowOffset->setFont(Formatter::PreferredFont()); ui->instance->setFont(Formatter::PreferredFont()); diff --git a/qrenderdoc/Windows/CommentView.cpp b/qrenderdoc/Windows/CommentView.cpp index cb4b0c2c5..ed3cb677f 100644 --- a/qrenderdoc/Windows/CommentView.cpp +++ b/qrenderdoc/Windows/CommentView.cpp @@ -25,6 +25,7 @@ #include "CommentView.h" #include #include +#include "Code/QRDUtils.h" #include "Code/ScintillaSyntax.h" #include "scintilla/include/SciLexer.h" #include "scintilla/include/qt/ScintillaEdit.h" @@ -39,8 +40,7 @@ CommentView::CommentView(ICaptureContext &ctx, QWidget *parent) m_commentsEditor = new ScintillaEdit(this); - m_commentsEditor->styleSetFont( - STYLE_DEFAULT, QFontDatabase::systemFont(QFontDatabase::FixedFont).family().toUtf8().data()); + m_commentsEditor->styleSetFont(STYLE_DEFAULT, Formatter::FixedFont().family().toUtf8().data()); m_commentsEditor->setTabWidth(4); m_commentsEditor->setWrapMode(SC_WRAP_WORD); diff --git a/qrenderdoc/Windows/ConstantBufferPreviewer.cpp b/qrenderdoc/Windows/ConstantBufferPreviewer.cpp index 4e008ce7a..8602c1ad2 100644 --- a/qrenderdoc/Windows/ConstantBufferPreviewer.cpp +++ b/qrenderdoc/Windows/ConstantBufferPreviewer.cpp @@ -25,6 +25,7 @@ #include "ConstantBufferPreviewer.h" #include #include +#include "Code/QRDUtils.h" #include "toolwindowmanager/ToolWindowManager.h" #include "ui_ConstantBufferPreviewer.h" @@ -56,7 +57,7 @@ ConstantBufferPreviewer::ConstantBufferPreviewer(ICaptureContext &ctx, const Sha ui->variables->header()->setSectionResizeMode(2, QHeaderView::Interactive); } - ui->variables->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + ui->variables->setFont(Formatter::FixedFont()); m_Previews.push_back(this); m_Ctx.AddCaptureViewer(this); diff --git a/qrenderdoc/Windows/Dialogs/AnalyticsConfirmDialog.cpp b/qrenderdoc/Windows/Dialogs/AnalyticsConfirmDialog.cpp index 63f8d6c8c..2fe4b3e48 100644 --- a/qrenderdoc/Windows/Dialogs/AnalyticsConfirmDialog.cpp +++ b/qrenderdoc/Windows/Dialogs/AnalyticsConfirmDialog.cpp @@ -28,6 +28,7 @@ #include #include #include "Code/Interface/QRDInterface.h" +#include "Code/QRDUtils.h" #include "ui_AnalyticsConfirmDialog.h" AnalyticsConfirmDialog::AnalyticsConfirmDialog(QString report, QWidget *parent) @@ -37,7 +38,7 @@ AnalyticsConfirmDialog::AnalyticsConfirmDialog(QString report, QWidget *parent) setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); - ui->analyticsReport->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + ui->analyticsReport->setFont(Formatter::FixedFont()); ui->analyticsReport->setText(report); QObject::connect(ui->buttonBox->button(QDialogButtonBox::Discard), &QPushButton::clicked, this, diff --git a/qrenderdoc/Windows/Dialogs/EnvironmentEditor.cpp b/qrenderdoc/Windows/Dialogs/EnvironmentEditor.cpp index 82eb424c9..2edb24e72 100644 --- a/qrenderdoc/Windows/Dialogs/EnvironmentEditor.cpp +++ b/qrenderdoc/Windows/Dialogs/EnvironmentEditor.cpp @@ -88,7 +88,7 @@ EnvironmentEditor::EnvironmentEditor(QWidget *parent) ui->variables->sortByColumn(0, Qt::DescendingOrder); - ui->variables->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + ui->variables->setFont(Formatter::FixedFont()); } EnvironmentEditor::~EnvironmentEditor() diff --git a/qrenderdoc/Windows/LogView.cpp b/qrenderdoc/Windows/LogView.cpp index 8f4e9914f..21385cb2d 100644 --- a/qrenderdoc/Windows/LogView.cpp +++ b/qrenderdoc/Windows/LogView.cpp @@ -290,7 +290,7 @@ LogView::LogView(ICaptureContext &ctx, QWidget *parent) ui->messages->setMouseTracking(true); - ui->messages->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + ui->messages->setFont(Formatter::FixedFont()); m_TypeModel = new QStandardItemModel(0, 1, this); diff --git a/qrenderdoc/Windows/PythonShell.cpp b/qrenderdoc/Windows/PythonShell.cpp index 047f70a5f..7c486dc2e 100644 --- a/qrenderdoc/Windows/PythonShell.cpp +++ b/qrenderdoc/Windows/PythonShell.cpp @@ -27,6 +27,7 @@ #include #include #include +#include "Code/QRDUtils.h" #include "Code/ScintillaSyntax.h" #include "Code/pyrenderdoc/PythonContext.h" #include "scintilla/include/SciLexer.h" @@ -823,17 +824,16 @@ PythonShell::PythonShell(ICaptureContext &ctx, QWidget *parent) QObject::connect(ui->lineInput, &RDLineEdit::keyPress, this, &PythonShell::interactive_keypress); QObject::connect(ui->helpSearch, &RDLineEdit::keyPress, this, &PythonShell::helpSearch_keypress); - ui->lineInput->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); - ui->interactiveOutput->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); - ui->scriptOutput->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); - ui->helpText->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + ui->lineInput->setFont(Formatter::FixedFont()); + ui->interactiveOutput->setFont(Formatter::FixedFont()); + ui->scriptOutput->setFont(Formatter::FixedFont()); + ui->helpText->setFont(Formatter::FixedFont()); ui->lineInput->setAcceptTabCharacters(true); scriptEditor = new ScintillaEdit(this); - scriptEditor->styleSetFont( - STYLE_DEFAULT, QFontDatabase::systemFont(QFontDatabase::FixedFont).family().toUtf8().data()); + scriptEditor->styleSetFont(STYLE_DEFAULT, Formatter::FixedFont().family().toUtf8().data()); scriptEditor->setMarginLeft(4.0 * devicePixelRatioF()); scriptEditor->setMarginWidthN(0, 32.0 * devicePixelRatioF()); diff --git a/qrenderdoc/Windows/ShaderViewer.cpp b/qrenderdoc/Windows/ShaderViewer.cpp index b8a7f2c35..f7c5cb714 100644 --- a/qrenderdoc/Windows/ShaderViewer.cpp +++ b/qrenderdoc/Windows/ShaderViewer.cpp @@ -1175,8 +1175,8 @@ ScintillaEdit *ShaderViewer::MakeEditor(const QString &name, const QString &text ret->setMarginWidthN(2, 16.0 * devicePixelRatioF()); ret->setObjectName(name); - ret->styleSetFont(STYLE_DEFAULT, - QFontDatabase::systemFont(QFontDatabase::FixedFont).family().toUtf8().data()); + ret->styleSetFont(STYLE_DEFAULT, Formatter::FixedFont().family().toUtf8().data()); + ret->styleSetSize(STYLE_DEFAULT, Formatter::FixedFont().pointSize()); // C# DarkGreen ret->indicSetFore(INDICATOR_REGHIGHLIGHT, SCINTILLA_COLOUR(0, 100, 0)); diff --git a/qrenderdoc/Windows/StatisticsViewer.cpp b/qrenderdoc/Windows/StatisticsViewer.cpp index e06f722f1..859c3e980 100644 --- a/qrenderdoc/Windows/StatisticsViewer.cpp +++ b/qrenderdoc/Windows/StatisticsViewer.cpp @@ -820,7 +820,7 @@ StatisticsViewer::StatisticsViewer(ICaptureContext &ctx, QWidget *parent) { ui->setupUi(this); - ui->statistics->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + ui->statistics->setFont(Formatter::FixedFont()); m_Ctx.AddCaptureViewer(this); } diff --git a/qrenderdoc/Windows/TextureViewer.cpp b/qrenderdoc/Windows/TextureViewer.cpp index 23b2a6879..beba4b5c1 100644 --- a/qrenderdoc/Windows/TextureViewer.cpp +++ b/qrenderdoc/Windows/TextureViewer.cpp @@ -610,11 +610,11 @@ TextureViewer::TextureViewer(ICaptureContext &ctx, QWidget *parent) statusflow->addWidget(ui->hoverText); statusflow->addWidget(ui->pickedText); - ui->texStatusName->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); - ui->texStatusDim->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); - ui->texStatusFormat->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); - ui->hoverText->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); - ui->pickedText->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); + ui->texStatusName->setFont(Formatter::FixedFont()); + ui->texStatusDim->setFont(Formatter::FixedFont()); + ui->texStatusFormat->setFont(Formatter::FixedFont()); + ui->hoverText->setFont(Formatter::FixedFont()); + ui->pickedText->setFont(Formatter::FixedFont()); ui->renderLayout->removeItem(ui->statusbar); ui->renderLayout->addItem(statusflow);