From b5a6f851a3d42ec0fb9ff4cffbb3e65fe0540035 Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Fri, 1 Mar 2024 06:37:04 +0100 Subject: [PATCH] CompilerExplorer: Adjust Terminal font size Adjust the output Terminal font size based on the text editor font size settings. Change-Id: Id1047f0fce0ac781cbc51b01f0df9657b179d71a Reviewed-by: David Schulz --- src/libs/solutions/terminal/terminalview.h | 4 ++-- .../compilerexplorereditor.cpp | 24 +++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/src/libs/solutions/terminal/terminalview.h b/src/libs/solutions/terminal/terminalview.h index 4079eb7ddca..c69fbcd14e6 100644 --- a/src/libs/solutions/terminal/terminalview.h +++ b/src/libs/solutions/terminal/terminalview.h @@ -32,8 +32,8 @@ struct SearchHit bool operator==(const SearchHit &other) const { return !operator!=(other); } }; -QString defaultFontFamily(); -int defaultFontSize(); +QString TERMINAL_EXPORT defaultFontFamily(); +int TERMINAL_EXPORT defaultFontSize(); class TERMINAL_EXPORT TerminalView : public QAbstractScrollArea { diff --git a/src/plugins/compilerexplorer/compilerexplorereditor.cpp b/src/plugins/compilerexplorer/compilerexplorereditor.cpp index c39b594d486..651ee596205 100644 --- a/src/plugins/compilerexplorer/compilerexplorereditor.cpp +++ b/src/plugins/compilerexplorer/compilerexplorereditor.cpp @@ -446,6 +446,22 @@ Core::SearchableTerminal *CompilerWidget::createTerminal() m_resultTerminal->setColors(colors); + auto setFontSize = [this](const TextEditor::FontSettings &fontSettings) { + QFont f; + f.setFixedPitch(true); + f.setFamily(TerminalSolution::defaultFontFamily()); + f.setPointSize(TerminalSolution::defaultFontSize() * (fontSettings.fontZoom() / 100.0f)); + + m_resultTerminal->setFont(f); + }; + + setFontSize(TextEditorSettings::instance()->fontSettings()); + + connect(TextEditorSettings::instance(), + &TextEditorSettings::fontSettingsChanged, + this, + setFontSize); + return m_resultTerminal; } @@ -924,6 +940,14 @@ EditorFactory::EditorFactory() m_actionHandler.setUnhandledCallback( [undoStackFromEditor](Utils::Id cmdId, Core::IEditor *editor) { + if (cmdId == TextEditor::Constants::INCREASE_FONT_SIZE) { + TextEditor::TextEditorSettings::instance()->increaseFontZoom(); + return true; + } else if (cmdId == TextEditor::Constants::DECREASE_FONT_SIZE) { + TextEditor::TextEditorSettings::instance()->decreaseFontZoom(); + return true; + } + if (cmdId != Core::Constants::UNDO && cmdId != Core::Constants::REDO) return false;