From 1bb1589225cd8d849458dd44c198a7a60a7fa45b Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Tue, 13 Jan 2009 18:15:24 +0100
Subject: [PATCH] debugger: some code reorganization

---
 src/plugins/debugger/debugger.pro        |   2 -
 src/plugins/debugger/debuggermanager.cpp |   5 -
 src/plugins/debugger/debuggermanager.h   |  23 +--
 src/plugins/debugger/debuggerplugin.cpp  | 184 +++++++++++++++++--
 src/plugins/debugger/debuggerplugin.h    |   4 +
 src/plugins/debugger/mode.cpp            | 217 -----------------------
 src/plugins/debugger/mode.h              |  84 ---------
 7 files changed, 179 insertions(+), 340 deletions(-)
 delete mode 100644 src/plugins/debugger/mode.cpp
 delete mode 100644 src/plugins/debugger/mode.h

diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro
index b47e7d5ee02..c9256caaa5f 100644
--- a/src/plugins/debugger/debugger.pro
+++ b/src/plugins/debugger/debugger.pro
@@ -22,7 +22,6 @@ HEADERS += attachexternaldialog.h \
     debuggeroutputwindow.h \
     debuggerplugin.h \
     debuggerrunner.h \
-    mode.h \
     disassemblerhandler.h \
     disassemblerwindow.h \
     gdbengine.h \
@@ -52,7 +51,6 @@ SOURCES += attachexternaldialog.cpp \
     debuggeroutputwindow.cpp \
     debuggerplugin.cpp \
     debuggerrunner.cpp \
-    mode.cpp \
     disassemblerhandler.cpp \
     disassemblerwindow.cpp \
     gdbengine.cpp \
diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index 2d6def04da4..a415709819f 100644
--- a/src/plugins/debugger/debuggermanager.cpp
+++ b/src/plugins/debugger/debuggermanager.cpp
@@ -483,11 +483,6 @@ IDebuggerManagerAccessForEngines *DebuggerManager::engineInterface()
     return dynamic_cast<IDebuggerManagerAccessForEngines *>(this);
 }
 
-IDebuggerManagerAccessForDebugMode *DebuggerManager::debugModeInterface()
-{
-    return dynamic_cast<IDebuggerManagerAccessForDebugMode *>(this);
-}
-
 void DebuggerManager::createDockWidgets()
 {
     QSplitter *localsAndWatchers = new QSplitter(Qt::Vertical, 0);
diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h
index 4ae7e66a87d..e60b441a6c4 100644
--- a/src/plugins/debugger/debuggermanager.h
+++ b/src/plugins/debugger/debuggermanager.h
@@ -180,32 +180,12 @@ private:
 };
 
 
-//
-// IDebuggerManagerAccessForDebugMode
-//
-
-class IDebuggerManagerAccessForDebugMode
-{
-public:
-    virtual ~IDebuggerManagerAccessForDebugMode() {}
-
-private:
-    friend class DebugMode;
-
-    virtual QWidget *threadsWindow() const = 0;
-    virtual QLabel *statusLabel() const = 0;
-    virtual QList<QDockWidget*> dockWidgets() const = 0;
-    virtual void createDockWidgets() = 0;
-};
-
-
 //
 // DebuggerManager
 //
 
 class DebuggerManager : public QObject,
-    public IDebuggerManagerAccessForEngines,
-    public IDebuggerManagerAccessForDebugMode
+    public IDebuggerManagerAccessForEngines
 {
     Q_OBJECT
 
@@ -214,7 +194,6 @@ public:
     ~DebuggerManager();
 
     IDebuggerManagerAccessForEngines *engineInterface();
-    IDebuggerManagerAccessForDebugMode *debugModeInterface();
     QMainWindow *mainWindow() const { return m_mainWindow; }
     QLabel *statusLabel() const { return m_statusLabel; }
 
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index abc581d4f08..9381d693558 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -38,14 +38,19 @@
 #include "debuggerrunner.h"
 #include "gdboptionpage.h"
 #include "gdbengine.h"
-#include "mode.h"
 
 #include <coreplugin/actionmanager/actionmanager.h>
+#include <coreplugin/basemode.h>
 #include <coreplugin/coreconstants.h>
 #include <coreplugin/editormanager/editormanager.h>
+#include <coreplugin/findplaceholder.h>
 #include <coreplugin/icore.h>
 #include <coreplugin/messagemanager.h>
+#include <coreplugin/minisplitter.h>
 #include <coreplugin/modemanager.h>
+#include <coreplugin/navigationwidget.h>
+#include <coreplugin/outputpane.h>
+#include <coreplugin/rightpane.h>
 #include <coreplugin/uniqueidmanager.h>
 
 #include <cplusplus/ExpressionUnderCursor.h>
@@ -69,17 +74,17 @@
 #include <QtCore/QtPlugin>
 
 #include <QtGui/QDockWidget>
+#include <QtGui/QMainWindow>
 #include <QtGui/QPlainTextEdit>
 #include <QtGui/QTextBlock>
 #include <QtGui/QTextCursor>
 
 
-using namespace Debugger::Internal;
-using namespace Debugger::Constants;
-using namespace TextEditor;
 using namespace Core;
+using namespace Debugger::Constants;
+using namespace Debugger::Internal;
 using namespace ProjectExplorer;
-using namespace CPlusPlus;
+using namespace TextEditor;
 
 
 namespace Debugger {
@@ -138,6 +143,39 @@ const char * const ADD_TO_WATCH_KEY         = "Ctrl+Alt+Q";
 } // namespace Debugger
 
 
+namespace Debugger {
+namespace Internal {
+
+class DebugMode : public Core::BaseMode
+{
+    Q_OBJECT
+
+public:
+    DebugMode(QObject *parent = 0);
+    ~DebugMode();
+
+    // IMode
+    void activated() {}
+    void shutdown() {}
+};
+
+} // namespace Internal
+} // namespace Debugger
+
+DebugMode::DebugMode(QObject *parent)
+  : BaseMode(tr("Debug"), Constants::MODE_DEBUG,
+             QIcon(":/fancyactionbar/images/mode_Debug.png"),
+             Constants::P_MODE_DEBUG, 0, parent)
+{
+}
+
+DebugMode::~DebugMode()
+{
+    // Make sure the editor manager does not get deleted
+    EditorManager::instance()->setParent(0);
+}
+
+
 ///////////////////////////////////////////////////////////////////////
 //
 // LocationMark
@@ -172,6 +210,7 @@ QIcon LocationMark::icon() const
     return icon;
 }
 
+
 ///////////////////////////////////////////////////////////////////////
 //
 // DebuggerPlugin
@@ -184,11 +223,17 @@ DebuggerPlugin::DebuggerPlugin()
     m_generalOptionPage = 0;
     m_locationMark = 0;
     m_manager = 0;
+    m_debugMode = 0;
 }
 
 DebuggerPlugin::~DebuggerPlugin()
 {}
 
+static QSettings *settings()
+{
+    return ExtensionSystem::PluginManager::instance()->getObject<ICore>()->settings();
+}
+
 void DebuggerPlugin::shutdown()
 {
     if (m_debugMode)
@@ -197,6 +242,8 @@ void DebuggerPlugin::shutdown()
     if (m_manager)
         m_manager->shutdown();
 
+    writeSettings();
+
     //qDebug() << "DebuggerPlugin::~DebuggerPlugin";
     removeObject(m_debugMode);
     removeObject(m_generalOptionPage);
@@ -435,12 +482,98 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *error_mes
 
     m_locationMark = 0;
 
-    m_debugMode = new DebugMode(m_manager, this);
+
+    //
+    // Debug mode setup
+    //
+    m_debugMode = new DebugMode(this);
     //addAutoReleasedObject(m_debugMode);
-    addObject(m_debugMode);
 
     addAutoReleasedObject(new DebuggerRunner(m_manager));
 
+    QList<int> context;
+    context.append(uidm->uniqueIdentifier(Core::Constants::C_EDITORMANAGER));
+    context.append(uidm->uniqueIdentifier(Debugger::Constants::C_GDBDEBUGGER));
+    context.append(uidm->uniqueIdentifier(Core::Constants::C_NAVIGATION_PANE));
+    m_debugMode->setContext(context);
+
+    QBoxLayout *editorHolderLayout = new QVBoxLayout;
+    editorHolderLayout->setMargin(0);
+    editorHolderLayout->setSpacing(0);
+    editorHolderLayout->addWidget(new EditorManagerPlaceHolder(m_debugMode));
+    editorHolderLayout->addWidget(new FindToolBarPlaceHolder(m_debugMode));
+
+    QWidget *editorAndFindWidget = new QWidget;
+    editorAndFindWidget->setLayout(editorHolderLayout);
+
+    MiniSplitter *rightPaneSplitter = new MiniSplitter;
+    rightPaneSplitter->addWidget(editorAndFindWidget);
+    rightPaneSplitter->addWidget(new RightPanePlaceHolder(m_debugMode));
+    rightPaneSplitter->setStretchFactor(0, 1);
+    rightPaneSplitter->setStretchFactor(1, 0);
+
+    QWidget *centralWidget = new QWidget;
+
+    m_manager->mainWindow()->setCentralWidget(centralWidget);
+
+    MiniSplitter *splitter = new MiniSplitter;
+    splitter->addWidget(m_manager->mainWindow());
+    splitter->addWidget(new OutputPanePlaceHolder(m_debugMode));
+    splitter->setStretchFactor(0, 10);
+    splitter->setStretchFactor(1, 0);
+    splitter->setOrientation(Qt::Vertical);
+
+    MiniSplitter *splitter2 = new MiniSplitter;
+    splitter2 = new MiniSplitter;
+    splitter2->addWidget(new NavigationWidgetPlaceHolder(m_debugMode));
+    splitter2->addWidget(splitter);
+    splitter2->setStretchFactor(0, 0);
+    splitter2->setStretchFactor(1, 1);
+
+    m_debugMode->setWidget(splitter2);
+
+    QToolBar *debugToolBar = new QToolBar;
+    debugToolBar->addAction(am->command(ProjectExplorer::Constants::DEBUG)->action());
+    debugToolBar->addAction(am->command(Constants::INTERRUPT)->action());
+    debugToolBar->addAction(am->command(Constants::NEXT)->action());
+    debugToolBar->addAction(am->command(Constants::STEP)->action());
+    debugToolBar->addAction(am->command(Constants::STEPOUT)->action());
+    debugToolBar->addSeparator();
+    debugToolBar->addAction(am->command(Constants::STEPI)->action());
+    debugToolBar->addAction(am->command(Constants::NEXTI)->action());
+    debugToolBar->addSeparator();
+    debugToolBar->addWidget(new QLabel(tr("Threads:")));
+
+    QComboBox *threadBox = new QComboBox;
+    threadBox->setModel(m_manager->threadsModel());
+    connect(threadBox, SIGNAL(activated(int)),
+        m_manager->threadsWindow(), SIGNAL(threadSelected(int)));
+    debugToolBar->addWidget(threadBox);
+    debugToolBar->addWidget(m_manager->statusLabel());
+
+    QWidget *stretch = new QWidget;
+    stretch->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
+    debugToolBar->addWidget(stretch);
+
+    QBoxLayout *toolBarAddingLayout = new QVBoxLayout(centralWidget);
+    toolBarAddingLayout->setMargin(0);
+    toolBarAddingLayout->setSpacing(0);
+    toolBarAddingLayout->addWidget(rightPaneSplitter);
+    toolBarAddingLayout->addWidget(debugToolBar);
+
+    m_manager->createDockWidgets();
+    m_manager->setSimpleDockWidgetArrangement();
+    readSettings();
+
+    connect(ModeManager::instance(), SIGNAL(currentModeChanged(Core::IMode*)),
+            this, SLOT(focusCurrentEditor(Core::IMode*)));
+    m_debugMode->widget()->setFocusProxy(EditorManager::instance());
+    addObject(m_debugMode);
+
+    //
+    //  Connections
+    //
+
     // ProjectExplorer
     connect(projectExplorer()->session(), SIGNAL(sessionLoaded()),
        m_manager, SLOT(sessionLoaded()));
@@ -593,7 +726,7 @@ void DebuggerPlugin::showToolTip(TextEditor::ITextEditor *editor,
             tc.movePosition(QTextCursor::EndOfWord);
 
         // Fetch the expression's code.
-        ExpressionUnderCursor expressionUnderCursor;
+        CPlusPlus::ExpressionUnderCursor expressionUnderCursor;
         expr = expressionUnderCursor(tc);
     }
     //qDebug() << " TOOLTIP  EXPR " << expr;
@@ -621,13 +754,13 @@ void DebuggerPlugin::querySessionValue(const QString &name, QVariant *value)
 void DebuggerPlugin::setConfigValue(const QString &name, const QVariant &value)
 {
     QTC_ASSERT(m_debugMode, return);
-    m_debugMode->settings()->setValue(name, value);
+    settings()->setValue(name, value);
 }
 
 void DebuggerPlugin::queryConfigValue(const QString &name, QVariant *value)
 {
     QTC_ASSERT(m_debugMode, return);
-    *value = m_debugMode->settings()->value(name);
+    *value = settings()->value(name);
 }
 
 void DebuggerPlugin::resetLocation()
@@ -662,6 +795,37 @@ void DebuggerPlugin::changeStatus(int status)
     }
 }
 
+void DebuggerPlugin::writeSettings() const
+{
+    QSettings *s = settings();
+    QTC_ASSERT(m_manager, return);
+    QTC_ASSERT(m_manager->mainWindow(), return);
+    s->beginGroup(QLatin1String("DebugMode"));
+    s->setValue(QLatin1String("State"), m_manager->mainWindow()->saveState());
+    s->setValue(QLatin1String("Locked"), m_toggleLockedAction->isChecked());
+    s->endGroup();
+}
+
+void DebuggerPlugin::readSettings()
+{
+    QSettings *s = settings();
+    s->beginGroup(QLatin1String("DebugMode"));
+    m_manager->mainWindow()->restoreState(s->value(QLatin1String("State"), QByteArray()).toByteArray());
+    m_toggleLockedAction->setChecked(s->value(QLatin1String("Locked"), true).toBool());
+    s->endGroup();
+}
+
+void DebuggerPlugin::focusCurrentEditor(IMode *mode)
+{
+    if (mode != m_debugMode)
+        return;
+
+    EditorManager *editorManager = EditorManager::instance();
+
+    if (editorManager->currentEditor())
+        editorManager->currentEditor()->widget()->setFocus();
+}
+
 #include "debuggerplugin.moc"
 
 Q_EXPORT_PLUGIN(DebuggerPlugin)
diff --git a/src/plugins/debugger/debuggerplugin.h b/src/plugins/debugger/debuggerplugin.h
index 41ed5c64bdc..841c2f62cb2 100644
--- a/src/plugins/debugger/debuggerplugin.h
+++ b/src/plugins/debugger/debuggerplugin.h
@@ -90,8 +90,12 @@ private slots:
     void gotoLocation(const QString &fileName, int line, bool setMarker);
 
     void breakpointMarginActionTriggered();
+    void focusCurrentEditor(Core::IMode *mode);
 
 private:
+    void readSettings();
+    void writeSettings() const;
+
     friend class DebuggerManager;
     friend class DebugMode; // FIXME: Just a hack now so that it can access the views
 
diff --git a/src/plugins/debugger/mode.cpp b/src/plugins/debugger/mode.cpp
deleted file mode 100644
index f27340a791a..00000000000
--- a/src/plugins/debugger/mode.cpp
+++ /dev/null
@@ -1,217 +0,0 @@
-/***************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact:  Qt Software Information (qt-info@nokia.com)
-**
-**
-** Non-Open Source Usage
-**
-** Licensees may use this file in accordance with the Qt Beta Version
-** License Agreement, Agreement version 2.2 provided with the Software or,
-** alternatively, in accordance with the terms contained in a written
-** agreement between you and Nokia.
-**
-** GNU General Public License Usage
-**
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the packaging
-** of this file.  Please review the following information to ensure GNU
-** General Public Licensing requirements will be met:
-**
-** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt GPL Exception
-** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
-**
-***************************************************************************/
-
-#include "mode.h"
-
-#include "debuggerconstants.h"
-#include "debuggermanager.h"
-
-#include <coreplugin/coreconstants.h>
-#include <coreplugin/icore.h>
-#include <coreplugin/modemanager.h>
-#include <coreplugin/uniqueidmanager.h>
-#include <coreplugin/actionmanager/actionmanager.h>
-#include <coreplugin/editormanager/editormanager.h>
-#include <coreplugin/minisplitter.h>
-#include <coreplugin/findplaceholder.h>
-#include <coreplugin/outputpane.h>
-#include <coreplugin/navigationwidget.h>
-#include <coreplugin/rightpane.h>
-
-#include <projectexplorer/projectexplorerconstants.h>
-
-#include <utils/qtcassert.h>
-
-#include <QtCore/QDebug>
-#include <QtCore/QSettings>
-
-#include <QtGui/QLabel>
-#include <QtGui/QMainWindow>
-#include <QtGui/QVBoxLayout>
-#include <QtGui/QWidget>
-
-using namespace Core;
-using namespace ExtensionSystem;
-using namespace Debugger;
-using namespace Debugger::Internal;
-using namespace Debugger::Constants;
-
-
-DebugMode::DebugMode(DebuggerManager *manager, QObject *parent)
-  : BaseMode(tr("Debug"), Constants::MODE_DEBUG,
-             QIcon(":/fancyactionbar/images/mode_Debug.png"),
-             Constants::P_MODE_DEBUG, 0, parent),
-    m_manager(manager)
-{
-    IDebuggerManagerAccessForDebugMode *managerAccess =
-        m_manager->debugModeInterface();
-    UniqueIDManager *uidm =
-        PluginManager::instance()->getObject<ICore>()->uniqueIDManager();
-    QList<int> context;
-    context.append(uidm->uniqueIdentifier(Core::Constants::C_EDITORMANAGER));
-    context.append(uidm->uniqueIdentifier(Constants::C_GDBDEBUGGER));
-    context.append(uidm->uniqueIdentifier(Core::Constants::C_NAVIGATION_PANE));
-    setContext(context);
-
-    QBoxLayout *editorHolderLayout = new QVBoxLayout;
-    editorHolderLayout->setMargin(0);
-    editorHolderLayout->setSpacing(0);
-    editorHolderLayout->addWidget(new EditorManagerPlaceHolder(this));
-    editorHolderLayout->addWidget(new FindToolBarPlaceHolder(this));
-
-    QWidget *editorAndFindWidget = new QWidget;
-    editorAndFindWidget->setLayout(editorHolderLayout);
-
-    MiniSplitter *rightPaneSplitter = new MiniSplitter;
-    rightPaneSplitter->addWidget(editorAndFindWidget);
-    rightPaneSplitter->addWidget(new RightPanePlaceHolder(this));
-    rightPaneSplitter->setStretchFactor(0, 1);
-    rightPaneSplitter->setStretchFactor(1, 0);
-
-    QWidget *centralWidget = new QWidget;
-    QBoxLayout *toolBarAddingLayout = new QVBoxLayout(centralWidget);
-    toolBarAddingLayout->setMargin(0);
-    toolBarAddingLayout->setSpacing(0);
-    toolBarAddingLayout->addWidget(rightPaneSplitter);
-
-    m_manager->mainWindow()->setCentralWidget(centralWidget);
-
-    MiniSplitter *splitter = new MiniSplitter;
-    splitter->addWidget(m_manager->mainWindow());
-    splitter->addWidget(new OutputPanePlaceHolder(this));
-    splitter->setStretchFactor(0, 10);
-    splitter->setStretchFactor(1, 0);
-    splitter->setOrientation(Qt::Vertical);
-
-    MiniSplitter *splitter2 = new MiniSplitter;
-    splitter2 = new MiniSplitter;
-    splitter2->addWidget(new NavigationWidgetPlaceHolder(this));
-    splitter2->addWidget(splitter);
-    splitter2->setStretchFactor(0, 0);
-    splitter2->setStretchFactor(1, 1);
-
-    setWidget(splitter2);
-
-    QToolBar *toolBar = createToolBar();
-    toolBarAddingLayout->addWidget(toolBar);
-
-    managerAccess->createDockWidgets();
-    m_manager->setSimpleDockWidgetArrangement();
-    readSettings();
-
-    connect(ModeManager::instance(), SIGNAL(currentModeChanged(Core::IMode*)),
-            this, SLOT(focusCurrentEditor(Core::IMode*)));
-    widget()->setFocusProxy(EditorManager::instance());
-}
-
-DebugMode::~DebugMode()
-{
-    // Make sure the editor manager does not get deleted
-    EditorManager::instance()->setParent(0);
-}
-
-void DebugMode::shutdown()
-{
-    writeSettings();
-}
-
-QToolBar *DebugMode::createToolBar()
-{
-    IDebuggerManagerAccessForDebugMode *managerAccess =
-        m_manager->debugModeInterface();
-
-    Core::ActionManager *am =
-            ExtensionSystem::PluginManager::instance()
-            ->getObject<Core::ICore>()->actionManager();
-    QToolBar *debugToolBar = new QToolBar;
-    debugToolBar->addAction(am->command(ProjectExplorer::Constants::DEBUG)->action());
-    debugToolBar->addAction(am->command(Constants::INTERRUPT)->action());
-    debugToolBar->addAction(am->command(Constants::NEXT)->action());
-    debugToolBar->addAction(am->command(Constants::STEP)->action());
-    debugToolBar->addAction(am->command(Constants::STEPOUT)->action());
-    debugToolBar->addSeparator();
-    debugToolBar->addAction(am->command(Constants::STEPI)->action());
-    debugToolBar->addAction(am->command(Constants::NEXTI)->action());
-    debugToolBar->addSeparator();
-    debugToolBar->addWidget(new QLabel(tr("Threads:")));
-
-    QComboBox *threadBox = new QComboBox;
-    threadBox->setModel(m_manager->threadsModel());
-    connect(threadBox, SIGNAL(activated(int)),
-        managerAccess->threadsWindow(), SIGNAL(threadSelected(int)));
-    debugToolBar->addWidget(threadBox);
-
-    debugToolBar->addWidget(managerAccess->statusLabel());
-
-    QWidget *stretch = new QWidget;
-    stretch->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Minimum);
-    debugToolBar->addWidget(stretch);
-
-    return debugToolBar;
-}
-
-void DebugMode::focusCurrentEditor(IMode *mode)
-{
-    if (mode != this)
-        return;
-
-    EditorManager *editorManager = EditorManager::instance();
-
-    if (editorManager->currentEditor())
-        editorManager->currentEditor()->widget()->setFocus();
-}
-
-void DebugMode::writeSettings() const
-{
-    QSettings *s = settings();
-    QTC_ASSERT(m_manager, return);
-    QTC_ASSERT(m_manager->mainWindow(), return);
-    s->beginGroup(QLatin1String("DebugMode"));
-    s->setValue(QLatin1String("State"), m_manager->mainWindow()->saveState());
-    //s->setValue(QLatin1String("Locked"), m_toggleLockedAction->isChecked());
-    s->endGroup();
-}
-
-void DebugMode::readSettings()
-{
-    QSettings *s = settings();
-    s->beginGroup(QLatin1String("DebugMode"));
-    m_manager->mainWindow()->restoreState(s->value(QLatin1String("State"), QByteArray()).toByteArray());
-    //m_toggleLockedAction->setChecked(s->value(QLatin1String("Locked"), true).toBool());
-    s->endGroup();
-}
-
-QSettings *DebugMode::settings()
-{
-    return PluginManager::instance()->getObject<ICore>()->settings();
-}
diff --git a/src/plugins/debugger/mode.h b/src/plugins/debugger/mode.h
deleted file mode 100644
index cdb912b626f..00000000000
--- a/src/plugins/debugger/mode.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/***************************************************************************
-**
-** This file is part of Qt Creator
-**
-** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
-**
-** Contact:  Qt Software Information (qt-info@nokia.com)
-**
-**
-** Non-Open Source Usage
-**
-** Licensees may use this file in accordance with the Qt Beta Version
-** License Agreement, Agreement version 2.2 provided with the Software or,
-** alternatively, in accordance with the terms contained in a written
-** agreement between you and Nokia.
-**
-** GNU General Public License Usage
-**
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL included in the packaging
-** of this file.  Please review the following information to ensure GNU
-** General Public Licensing requirements will be met:
-**
-** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt GPL Exception
-** version 1.3, included in the file GPL_EXCEPTION.txt in this package.
-**
-***************************************************************************/
-
-#ifndef DEBUGGER_DEBUGMODE_H
-#define DEBUGGER_DEBUGMODE_H
-
-#include <coreplugin/basemode.h>
-
-#include <QtCore/QList>
-#include <QtCore/QPointer>
-
-QT_BEGIN_NAMESPACE
-class QAction;
-class QDockWidget;
-class QMainWindow;
-class QSettings;
-class QSplitter;
-class QToolBar;
-class QWidget;
-QT_END_NAMESPACE
-
-namespace Debugger {
-namespace Internal {
-
-class DebuggerManager;
-
-class DebugMode : public Core::BaseMode
-{
-    Q_OBJECT
-
-public:
-    DebugMode(DebuggerManager *manager, QObject *parent = 0);
-    ~DebugMode();
-
-    // IMode
-    void activated();
-    void shutdown();
-    static QSettings *settings();
-
-private slots:
-    void focusCurrentEditor(Core::IMode *mode);
-
-private:
-    QToolBar *createToolBar();
-    void writeSettings() const;
-    void readSettings();
-
-    QPointer<DebuggerManager> m_manager;
-};
-
-} // namespace Internal
-} // namespace Debugger
-
-#endif // DEBUGGER_DEBUGMODE_H
-- 
GitLab