From 2ba777415b3b1222adb4b7d1633f1ec993aa90c9 Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Fri, 12 Feb 2010 14:15:20 +0100
Subject: [PATCH] debugger/texteditor:  Add font and size option to debugger
 panels, QTCREATORBUG-189

---
 src/plugins/debugger/debuggermanager.cpp | 22 ++++++++++++++++++++++
 src/plugins/debugger/debuggermanager.h   |  2 ++
 src/plugins/debugger/debuggerplugin.cpp  |  6 ++++++
 3 files changed, 30 insertions(+)

diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index 61d0ba1ce74..06fad14ba01 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 782dec318f3..55f03a055f6 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 54a70bbbee7..67788f74ed9 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()));
-- 
GitLab