diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp index 61d0ba1ce74279e749b4277c921f20dd375b9c1b..06fad14ba01e86788a830746074a0a831eb57f9a 100644 --- a/src/plugins/debugger/debuggermanager.cpp +++ b/src/plugins/debugger/debuggermanager.cpp @@ -68,6 +68,7 @@ #include <cplusplus/CppDocument.h> #include <cpptools/cppmodelmanagerinterface.h> #include <qt4projectmanager/qt4projectmanagerconstants.h> +#include <texteditor/fontsettings.h> #include <texteditor/itexteditor.h> #include <QtCore/QDebug> @@ -1877,6 +1878,27 @@ QDebug operator<<(QDebug d, DebuggerState state) return d << DebuggerManager::stateName(state) << '(' << int(state) << ')'; } +static void changeFontSize(QWidget *widget, int size) +{ + QFont font = widget->font(); + font.setPointSize(size); + widget->setFont(font); +} + +void DebuggerManager::fontSettingsChanged(const TextEditor::FontSettings &settings) +{ + int size = settings.fontZoom() * settings.fontSize() / 100; + changeFontSize(d->m_localsWindow, size); + changeFontSize(d->m_watchersWindow, size); + changeFontSize(d->m_breakWindow, size); + changeFontSize(d->m_modulesWindow, size); + changeFontSize(d->m_outputWindow, size); + changeFontSize(d->m_registerWindow, size); + changeFontSize(d->m_stackWindow, size); + changeFontSize(d->m_sourceFilesWindow, size); + changeFontSize(d->m_threadsWindow, size); +} + ////////////////////////////////////////////////////////////////////// // // AbstractDebuggerEngine diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h index 782dec318f3e024c1094f9d5e8fc3015498f00b3..55f03a055f614658adaa69c36f9bb655d200bbfc 100644 --- a/src/plugins/debugger/debuggermanager.h +++ b/src/plugins/debugger/debuggermanager.h @@ -59,6 +59,7 @@ class FancyMainWindow; namespace TextEditor { class ITextEditor; +class FontSettings; } namespace CPlusPlus { @@ -321,6 +322,7 @@ private: Q_SLOT void loadSessionData(); Q_SLOT void saveSessionData(); Q_SLOT void dumpLog(); + Q_SLOT void fontSettingsChanged(const TextEditor::FontSettings &settings); public: // stuff in this block should be made private by moving it to diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 54a70bbbee7a760519ce3cc0374b92cf6dbb850c..67788f74ed96c2533c93c016e2599badd0eba0f3 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -72,6 +72,7 @@ #include <texteditor/basetextmark.h> #include <texteditor/itexteditor.h> #include <texteditor/texteditorconstants.h> +#include <texteditor/texteditorplugin.h> #include <utils/qtcassert.h> #include <utils/styledbar.h> @@ -994,6 +995,11 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess // Connections // + // TextEditor + connect(TextEditor::TextEditorPlugin::instance(), + SIGNAL(fontSettingsChanged(TextEditor::FontSettings)), + m_manager, SLOT(fontSettingsChanged(TextEditor::FontSettings))); + // ProjectExplorer connect(sessionManager(), SIGNAL(sessionLoaded()), m_manager, SLOT(sessionLoaded()));