diff --git a/src/plugins/debugger/breakwindow.cpp b/src/plugins/debugger/breakwindow.cpp
index 8f3b533f581c3fa7bb536e59cb090b17942a768a..69cb492bf96354f8a6e3e00507d95e549c7a489e 100644
--- a/src/plugins/debugger/breakwindow.cpp
+++ b/src/plugins/debugger/breakwindow.cpp
@@ -101,7 +101,7 @@ void BreakWindow::contextMenuEvent(QContextMenuEvent *ev)
     menu.addAction(act1);
     menu.addAction(act2);
     menu.addAction(act4);
-    menu.addAction(theDebuggerSetting(SettingsDialog)->action());
+    menu.addAction(theDebuggerAction(SettingsDialog)->action());
 
     QAction *act = menu.exec(ev->globalPos());
 
diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp
index a70170607551564a1277bf9cb2bcff14b39069d4..3c81dbdab8c055e357b9862dbf963372e424b2ac 100644
--- a/src/plugins/debugger/debuggeractions.cpp
+++ b/src/plugins/debugger/debuggeractions.cpp
@@ -44,23 +44,23 @@ namespace Internal {
 
 //////////////////////////////////////////////////////////////////////////
 //
-// QtcSettingsItem
+// DebuggerAction
 //
 //////////////////////////////////////////////////////////////////////////
 
-QtcSettingsItem::QtcSettingsItem(QObject *parent)
+DebuggerAction::DebuggerAction(QObject *parent)
   : QObject(parent)
 {
     m_action = new QAction(this);
     connect(m_action, SIGNAL(triggered(bool)), this, SLOT(actionTriggered(bool)));
 }
 
-QVariant QtcSettingsItem::value() const
+QVariant DebuggerAction::value() const
 {
     return m_value;
 }
 
-void QtcSettingsItem::setValue(const QVariant &value, bool doemit)
+void DebuggerAction::setValue(const QVariant &value, bool doemit)
 {
     if (value != m_value) {
         m_value = value;
@@ -74,63 +74,63 @@ void QtcSettingsItem::setValue(const QVariant &value, bool doemit)
     }
 }
 
-QVariant QtcSettingsItem::defaultValue() const
+QVariant DebuggerAction::defaultValue() const
 {
     return m_defaultValue;
 }
 
-void QtcSettingsItem::setDefaultValue(const QVariant &value)
+void DebuggerAction::setDefaultValue(const QVariant &value)
 {
     m_defaultValue = value;
 }
 
-QString QtcSettingsItem::settingsKey() const
+QString DebuggerAction::settingsKey() const
 {
     return m_settingsKey;
 }
 
-void QtcSettingsItem::setSettingsKey(const QString &key)
+void DebuggerAction::setSettingsKey(const QString &key)
 {
     m_settingsKey = key;
 }
 
-void QtcSettingsItem::setSettingsKey(const QString &group, const QString &key)
+void DebuggerAction::setSettingsKey(const QString &group, const QString &key)
 {
     m_settingsKey = key;
     m_settingsGroup = group;
 }
 
-QString QtcSettingsItem::settingsGroup() const
+QString DebuggerAction::settingsGroup() const
 {
     return m_settingsGroup;
 }
 
-void QtcSettingsItem::setSettingsGroup(const QString &group)
+void DebuggerAction::setSettingsGroup(const QString &group)
 {
     m_settingsGroup = group;
 }
 
-QString QtcSettingsItem::text() const
+QString DebuggerAction::text() const
 {
     return m_action->text();
 }
 
-void QtcSettingsItem::setText(const QString &value)
+void DebuggerAction::setText(const QString &value)
 {
     m_action->setText(value);
 }
 
-QString QtcSettingsItem::textPattern() const
+QString DebuggerAction::textPattern() const
 {
     return m_textPattern;
 }
 
-void QtcSettingsItem::setTextPattern(const QString &value)
+void DebuggerAction::setTextPattern(const QString &value)
 {
     m_textPattern = value;
 }
 
-QAction *QtcSettingsItem::updatedAction(const QString &text0)
+QAction *DebuggerAction::updatedAction(const QString &text0)
 {
     QString text = text0;
     bool enabled = true;
@@ -150,7 +150,7 @@ QAction *QtcSettingsItem::updatedAction(const QString &text0)
     return m_action;
 }
 
-void QtcSettingsItem::readSettings(QSettings *settings)
+void DebuggerAction::readSettings(QSettings *settings)
 {
     if (m_settingsGroup.isEmpty() || m_settingsKey.isEmpty())
         return;
@@ -160,7 +160,7 @@ void QtcSettingsItem::readSettings(QSettings *settings)
     settings->endGroup();
 }
 
-void QtcSettingsItem::writeSettings(QSettings *settings)
+void DebuggerAction::writeSettings(QSettings *settings)
 {
     if (m_settingsGroup.isEmpty() || m_settingsKey.isEmpty())
         return;
@@ -170,12 +170,12 @@ void QtcSettingsItem::writeSettings(QSettings *settings)
     settings->endGroup();
 }
    
-QAction *QtcSettingsItem::action()
+QAction *DebuggerAction::action()
 {
     return m_action;
 }
  
-void QtcSettingsItem::connectWidget(QWidget *widget, ApplyMode applyMode)
+void DebuggerAction::connectWidget(QWidget *widget, ApplyMode applyMode)
 {
     using namespace Core::Utils;
     //qDebug() << "CONNECT WIDGET " << widget << " TO " << m_settingsKey;
@@ -206,14 +206,14 @@ void QtcSettingsItem::connectWidget(QWidget *widget, ApplyMode applyMode)
     }
 }
 
-void QtcSettingsItem::apply(QSettings *s)
+void DebuggerAction::apply(QSettings *s)
 {
     setValue(m_deferedValue);
     if (s)
         writeSettings(s);
 }
 
-void QtcSettingsItem::uncheckableButtonClicked()
+void DebuggerAction::uncheckableButtonClicked()
 {
     QAbstractButton *button = qobject_cast<QAbstractButton *>(sender());
     QTC_ASSERT(button, return);
@@ -221,7 +221,7 @@ void QtcSettingsItem::uncheckableButtonClicked()
     m_action->trigger();
 }
 
-void QtcSettingsItem::checkableButtonClicked(bool)
+void DebuggerAction::checkableButtonClicked(bool)
 {
     QAbstractButton *button = qobject_cast<QAbstractButton *>(sender());
     QTC_ASSERT(button, return);
@@ -232,7 +232,7 @@ void QtcSettingsItem::checkableButtonClicked(bool)
         setValue(button->isChecked());
 }
 
-void QtcSettingsItem::lineEditEditingFinished()
+void DebuggerAction::lineEditEditingFinished()
 {
     QLineEdit *lineEdit = qobject_cast<QLineEdit *>(sender());
     QTC_ASSERT(lineEdit, return);
@@ -243,7 +243,7 @@ void QtcSettingsItem::lineEditEditingFinished()
         setValue(lineEdit->text());
 }
 
-void QtcSettingsItem::pathChooserEditingFinished()
+void DebuggerAction::pathChooserEditingFinished()
 {
     using namespace Core::Utils;
     PathChooser *pathChooser = qobject_cast<PathChooser *>(sender());
@@ -255,7 +255,7 @@ void QtcSettingsItem::pathChooserEditingFinished()
         setValue(pathChooser->path());
 }
 
-void QtcSettingsItem::actionTriggered(bool on)
+void DebuggerAction::actionTriggered(bool on)
 {
     Q_UNUSED(on);
     if (QAction *action = qobject_cast<QAction *>(sender())) {
@@ -264,7 +264,7 @@ void QtcSettingsItem::actionTriggered(bool on)
     }
 }
 
-void QtcSettingsItem::trigger(const QVariant &data) const
+void DebuggerAction::trigger(const QVariant &data) const
 {
     m_action->setData(data);
     m_action->trigger();
@@ -272,49 +272,49 @@ void QtcSettingsItem::trigger(const QVariant &data) const
 
 //////////////////////////////////////////////////////////////////////////
 //
-// QtcSettingsPool
+// DebuggerSettings
 //
 //////////////////////////////////////////////////////////////////////////
 
 
-QtcSettingsPool::QtcSettingsPool(QObject *parent)
+DebuggerSettings::DebuggerSettings(QObject *parent)
     : QObject(parent)
 {}
 
-QtcSettingsPool::~QtcSettingsPool()
+DebuggerSettings::~DebuggerSettings()
 {
     qDeleteAll(m_items);
 }
     
-void QtcSettingsPool::insertItem(int code, QtcSettingsItem *item)
+void DebuggerSettings::insertItem(int code, DebuggerAction *item)
 {
     m_items[code] = item;
 }
 
-void QtcSettingsPool::readSettings(QSettings *settings)
+void DebuggerSettings::readSettings(QSettings *settings)
 {
-    foreach (QtcSettingsItem *item, m_items)
+    foreach (DebuggerAction *item, m_items)
         item->readSettings(settings);
 }
 
-void QtcSettingsPool::writeSettings(QSettings *settings)
+void DebuggerSettings::writeSettings(QSettings *settings)
 {
-    foreach (QtcSettingsItem *item, m_items)
+    foreach (DebuggerAction *item, m_items)
         item->writeSettings(settings);
 }
    
-QtcSettingsItem *QtcSettingsPool::item(int code)
+DebuggerAction *DebuggerSettings::item(int code)
 {
     QTC_ASSERT(m_items.value(code, 0), return 0);
     return m_items.value(code, 0);
 }
 
-QString QtcSettingsPool::dump()
+QString DebuggerSettings::dump()
 {
     QString out;
     QTextStream ts(&out);
     ts  << "Debugger settings: ";
-    foreach (QtcSettingsItem *item, m_items)
+    foreach (DebuggerAction *item, m_items)
         ts << "\n" << item->value().toString();
     return out;
 }
@@ -323,107 +323,85 @@ QString QtcSettingsPool::dump()
 
 //////////////////////////////////////////////////////////////////////////
 //
-// Debugger specific stuff
+// Debugger specific actions and settings
 //
 //////////////////////////////////////////////////////////////////////////
 
-#if 0
-    QString dump();
 
-    QString m_gdbCmd;
-    QString m_gdbEnv;
-    bool m_autoRun;
-    bool m_autoQuit;
-
-    bool m_useDumpers;
-    bool m_skipKnownFrames;
-    bool m_debugDumpers;
-    bool m_useToolTips;
-    bool m_listSourceFiles;
-
-    QString m_scriptFile;
-
-    bool m_pluginAllBreakpoints;
-    bool m_pluginSelectedBreakpoints;
-    bool m_pluginNoBreakpoints;
-    QString m_pluginSelectedBreakpointsPattern;
-#endif
-
-
-QtcSettingsPool *theDebuggerSettings()
+DebuggerSettings *theDebuggerSettings()
 {
-    static QtcSettingsPool *instance = 0;
+    static DebuggerSettings *instance = 0;
     if (instance)
         return instance;
 
-    instance = new QtcSettingsPool;
+    instance = new DebuggerSettings;
 
-    QtcSettingsItem *item = 0;
+    DebuggerAction *item = 0;
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(AdjustColumnWidths, item);
     item->setText(QObject::tr("Adjust column widths to contents"));
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(AlwaysAdjustColumnWidths, item);
     item->setText(QObject::tr("Always adjust column widths to contents"));
     item->action()->setCheckable(true);
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(WatchExpression, item);
     item->setTextPattern(QObject::tr("Watch expression \"%1\""));
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(RemoveWatchExpression, item);
     item->setTextPattern(QObject::tr("Remove watch expression \"%1\""));
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(WatchExpressionInWindow, item);
     item->setTextPattern(QObject::tr("Watch expression \"%1\" in separate window"));
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(AssignValue, item);
 
     //
     // Dumpers
     //
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(SettingsDialog, item);
     item->setText(QObject::tr("Debugger properties..."));
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(DebugDumpers, item);
     item->setText(QObject::tr("Debug custom dumpers"));
     item->action()->setCheckable(true);
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(RecheckDumpers, item);
     item->setText(QObject::tr("Recheck custom dumper availability"));
 
     //
     // Breakpoints
     //
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(SynchronizeBreakpoints, item);
     item->setText(QObject::tr("Syncronize breakpoints"));
 
     //
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(AutoQuit, item);
     item->setText(QObject::tr("Automatically quit debugger"));
     item->action()->setCheckable(true);
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(SkipKnownFrames, item);
     item->setText(QObject::tr("Skip known frames"));
     item->action()->setCheckable(true);
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(UseToolTips, item);
     item->setText(QObject::tr("Use tooltips when debugging"));
     item->action()->setCheckable(true);
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(ListSourceFiles, item);
     item->setText(QObject::tr("List source files"));
     item->action()->setCheckable(true);
@@ -432,69 +410,69 @@ QtcSettingsPool *theDebuggerSettings()
     //
     // Settings
     //
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(GdbLocation, item);
     item->setSettingsKey("DebugMode", "Location");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(GdbEnvironment, item);
     item->setSettingsKey("DebugMode", "Environment");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(GdbScriptFile, item);
     item->setSettingsKey("DebugMode", "ScriptFile");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(GdbAutoQuit, item);
     item->setSettingsKey("DebugMode", "AutoQuit");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(GdbAutoRun, item);
     item->setSettingsKey("DebugMode", "AutoRun");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(UseToolTips, item);
     item->setSettingsKey("DebugMode", "UseToolTips");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(UseDumpers, item);
     item->setSettingsKey("DebugMode", "UseCustomDumpers");
     item->setText(QObject::tr("Use custom dumpers"));
     item->action()->setCheckable(true);
 
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(ListSourceFiles, item);
     item->setSettingsKey("DebugMode", "ListSourceFiles");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(SkipKnownFrames, item);
     item->setSettingsKey("DebugMode", "SkipKnownFrames");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(DebugDumpers, item);
     item->setSettingsKey("DebugMode", "DebugDumpers");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(AllPluginBreakpoints, item);
     item->setSettingsKey("DebugMode", "AllPluginBreakpoints");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(SelectedPluginBreakpoints, item);
     item->setSettingsKey("DebugMode", "SelectedPluginBreakpoints");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(NoPluginBreakpoints, item);
     item->setSettingsKey("DebugMode", "NoPluginBreakpoints");
 
-    item = new QtcSettingsItem(instance);
+    item = new DebuggerAction(instance);
     instance->insertItem(SelectedPluginBreakpointsPattern, item);
     item->setSettingsKey("DebugMode", "SelectedPluginBreakpointsPattern");
 
     return instance;
 }
 
-QtcSettingsItem *theDebuggerSetting(int code)
+DebuggerAction *theDebuggerAction(int code)
 {
     return theDebuggerSettings()->item(code);
 }
diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h
index 513c683d696b45bfc7ebeea60c6f1425c694fffb..0075b1508ede28a285c6b3a237e63412f3e84ca5 100644
--- a/src/plugins/debugger/debuggeractions.h
+++ b/src/plugins/debugger/debuggeractions.h
@@ -46,12 +46,12 @@ namespace Internal {
 
 enum ApplyMode { ImmediateApply, DeferedApply };
 
-class QtcSettingsItem : public QObject
+class DebuggerAction : public QObject
 {
     Q_OBJECT
 
 public:
-    QtcSettingsItem(QObject *parent = 0);
+    DebuggerAction(QObject *parent = 0);
 
     virtual QVariant value() const;
     Q_SLOT virtual void setValue(const QVariant &value, bool doemit = true);
@@ -106,16 +106,16 @@ private:
     QHash<QObject *, ApplyMode> m_applyModes;
 };
 
-class QtcSettingsPool : public QObject
+class DebuggerSettings : public QObject
 {
     Q_OBJECT
 
 public:
-    QtcSettingsPool(QObject *parent = 0);
-    ~QtcSettingsPool();
+    DebuggerSettings(QObject *parent = 0);
+    ~DebuggerSettings();
     
-    void insertItem(int code, QtcSettingsItem *item);
-    QtcSettingsItem *item(int code);
+    void insertItem(int code, DebuggerAction *item);
+    DebuggerAction *item(int code);
 
     QString dump();
 
@@ -124,13 +124,13 @@ public slots:
     void writeSettings(QSettings *settings);
 
 private:
-    QHash<int, QtcSettingsItem *> m_items; 
+    QHash<int, DebuggerAction *> m_items; 
 };
 
 
 ///////////////////////////////////////////////////////////
 
-enum DebuggerSettingsCode
+enum DebuggerActionCode
 {
     // General
     SettingsDialog,
@@ -174,8 +174,8 @@ enum DebuggerSettingsCode
 };
 
 // singleton access
-QtcSettingsPool *theDebuggerSettings();
-QtcSettingsItem *theDebuggerSetting(int code);
+DebuggerSettings *theDebuggerSettings();
+DebuggerAction *theDebuggerAction(int code);
 
 // convienience
 bool theDebuggerBoolSetting(int code);
diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp
index 2c16981558d99e40e160dfe689aaaa3bdf337f51..3228308727a1245d35df1985c295f67ad0bca033 100644
--- a/src/plugins/debugger/debuggermanager.cpp
+++ b/src/plugins/debugger/debuggermanager.cpp
@@ -267,7 +267,7 @@ void DebuggerManager::init()
         this, SIGNAL(sessionValueRequested(QString,QVariant*)));
     connect(m_watchHandler, SIGNAL(setSessionValueRequested(QString,QVariant)),
         this, SIGNAL(setSessionValueRequested(QString,QVariant)));
-    connect(theDebuggerSetting(AssignValue)->action(), SIGNAL(triggered()),
+    connect(theDebuggerAction(AssignValue)->action(), SIGNAL(triggered()),
         this, SLOT(assignValueInDebugger()));
 
     // Tooltip
@@ -1099,7 +1099,7 @@ void DebuggerManager::addToWatchWindow()
     if (!editor)
         return;
     QTextCursor tc = editor->textCursor();
-    theDebuggerSetting(WatchExpression)->setValue(tc.selectedText());
+    theDebuggerAction(WatchExpression)->setValue(tc.selectedText());
 }
 
 void DebuggerManager::setBreakpoint(const QString &fileName, int lineNumber)
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index ff3d08e50d14fcbb88bb92a654751a5337aeaf1c..5d3ecdcd914362ad959ec1e801402dbb3d8363d9 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -269,35 +269,35 @@ QWidget *GdbOptionPage::createPage(QWidget *parent)
     m_ui.scriptFileChooser->setExpectedKind(Core::Utils::PathChooser::File);
     m_ui.scriptFileChooser->setPromptDialogTitle(tr("Choose Location of Startup Script File"));
 
-    theDebuggerSetting(GdbLocation)
+    theDebuggerAction(GdbLocation)
         ->connectWidget(m_ui.gdbLocationChooser);
-    theDebuggerSetting(GdbScriptFile)
+    theDebuggerAction(GdbScriptFile)
         ->connectWidget(m_ui.scriptFileChooser);
-    theDebuggerSetting(GdbEnvironment)
+    theDebuggerAction(GdbEnvironment)
         ->connectWidget(m_ui.environmentEdit);
 
-    theDebuggerSetting(AllPluginBreakpoints)
+    theDebuggerAction(AllPluginBreakpoints)
         ->connectWidget(m_ui.radioButtonAllPluginBreakpoints);
-    theDebuggerSetting(SelectedPluginBreakpoints)
+    theDebuggerAction(SelectedPluginBreakpoints)
         ->connectWidget(m_ui.radioButtonSelectedPluginBreakpoints);
-    theDebuggerSetting(NoPluginBreakpoints)
+    theDebuggerAction(NoPluginBreakpoints)
         ->connectWidget(m_ui.radioButtonNoPluginBreakpoints);
-    theDebuggerSetting(SelectedPluginBreakpointsPattern)
+    theDebuggerAction(SelectedPluginBreakpointsPattern)
         ->connectWidget(m_ui.lineEditSelectedPluginBreakpointsPattern);
 
-    theDebuggerSetting(UseDumpers)
+    theDebuggerAction(UseDumpers)
         ->connectWidget(m_ui.checkBoxUseDumpers);
-    theDebuggerSetting(SkipKnownFrames)
+    theDebuggerAction(SkipKnownFrames)
         ->connectWidget(m_ui.checkBoxSkipKnownFrames);
-    theDebuggerSetting(UseToolTips)
+    theDebuggerAction(UseToolTips)
         ->connectWidget(m_ui.checkBoxUseToolTips);
-    theDebuggerSetting(DebugDumpers)
+    theDebuggerAction(DebugDumpers)
         ->connectWidget(m_ui.checkBoxDebugDumpers);
-    theDebuggerSetting(SelectedPluginBreakpointsPattern)
+    theDebuggerAction(SelectedPluginBreakpointsPattern)
         ->connectWidget(m_ui.lineEditSelectedPluginBreakpointsPattern);
 
     m_ui.lineEditSelectedPluginBreakpointsPattern->
-        setEnabled(theDebuggerSetting(SelectedPluginBreakpoints)->value().toBool());
+        setEnabled(theDebuggerAction(SelectedPluginBreakpoints)->value().toBool());
     connect(m_ui.radioButtonSelectedPluginBreakpoints, SIGNAL(toggled(bool)),
         m_ui.lineEditSelectedPluginBreakpointsPattern, SLOT(setEnabled(bool)));
 
@@ -325,20 +325,20 @@ void GdbOptionPage::apply()
 {
     QSettings *s = ICore::instance()->settings();
 
-    theDebuggerSetting(GdbLocation)->apply(s);
-    theDebuggerSetting(GdbScriptFile)->apply(s);
-    theDebuggerSetting(GdbEnvironment)->apply(s);
+    theDebuggerAction(GdbLocation)->apply(s);
+    theDebuggerAction(GdbScriptFile)->apply(s);
+    theDebuggerAction(GdbEnvironment)->apply(s);
 
-    theDebuggerSetting(AllPluginBreakpoints)->apply(s);
-    theDebuggerSetting(SelectedPluginBreakpoints)->apply(s);
-    theDebuggerSetting(NoPluginBreakpoints)->apply(s);
-    theDebuggerSetting(SelectedPluginBreakpointsPattern)->apply(s);
+    theDebuggerAction(AllPluginBreakpoints)->apply(s);
+    theDebuggerAction(SelectedPluginBreakpoints)->apply(s);
+    theDebuggerAction(NoPluginBreakpoints)->apply(s);
+    theDebuggerAction(SelectedPluginBreakpointsPattern)->apply(s);
 
-    theDebuggerSetting(UseDumpers)->apply(s);
-    theDebuggerSetting(SkipKnownFrames)->apply(s);
-    theDebuggerSetting(UseToolTips)->apply(s);
-    theDebuggerSetting(DebugDumpers)->apply(s);
-    theDebuggerSetting(SelectedPluginBreakpointsPattern)->apply(s);
+    theDebuggerAction(UseDumpers)->apply(s);
+    theDebuggerAction(SkipKnownFrames)->apply(s);
+    theDebuggerAction(UseToolTips)->apply(s);
+    theDebuggerAction(DebugDumpers)->apply(s);
+    theDebuggerAction(SelectedPluginBreakpointsPattern)->apply(s);
 }
 
 } // namespace Internal
@@ -715,7 +715,7 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess
     connect(m_manager, SIGNAL(debugModeRequested()),
         this, SLOT(activateDebugMode()));
 
-    connect(theDebuggerSetting(SettingsDialog)->action(), SIGNAL(triggered()),
+    connect(theDebuggerAction(SettingsDialog)->action(), SIGNAL(triggered()),
         this, SLOT(showSettingsDialog()));
 
     return true;
@@ -809,7 +809,7 @@ void DebuggerPlugin::requestMark(TextEditor::ITextEditor *editor, int lineNumber
 void DebuggerPlugin::showToolTip(TextEditor::ITextEditor *editor,
     const QPoint &point, int pos)
 {
-    if (!theDebuggerSetting(UseToolTips)->value().toBool())
+    if (!theDebuggerBoolSetting(UseToolTips))
         return;
 
     QPlainTextEdit *plaintext = qobject_cast<QPlainTextEdit*>(editor->widget());
diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp
index f6cb80deb5052fbe95ca2096db05935ef13c4f45..5de54f53613bbdb2f9d8b54e3079f07fc6f7a89f 100644
--- a/src/plugins/debugger/gdbengine.cpp
+++ b/src/plugins/debugger/gdbengine.cpp
@@ -285,11 +285,11 @@ void GdbEngine::initializeConnections()
         q, SLOT(showApplicationOutput(QString)),
         Qt::QueuedConnection);
 
-    connect(theDebuggerSetting(UseDumpers), SIGNAL(boolValueChanged(bool)),
+    connect(theDebuggerAction(UseDumpers), SIGNAL(boolValueChanged(bool)),
         this, SLOT(setUseDumpers(bool)));
-    connect(theDebuggerSetting(DebugDumpers), SIGNAL(boolValueChanged(bool)),
+    connect(theDebuggerAction(DebugDumpers), SIGNAL(boolValueChanged(bool)),
         this, SLOT(setDebugDumpers(bool)));
-    connect(theDebuggerSetting(RecheckDumpers)->action(), SIGNAL(triggered()),
+    connect(theDebuggerAction(RecheckDumpers)->action(), SIGNAL(triggered()),
         this, SLOT(recheckCustomDumperAvailability()));
 }
 
@@ -320,7 +320,7 @@ void GdbEngine::gdbProcError(QProcess::ProcessError error)
             msg = QString(tr("The Gdb process failed to start. Either the "
                 "invoked program '%1' is missing, or you may have insufficient "
                 "permissions to invoke the program."))
-                .arg(theDebuggerSetting(GdbLocation)->value().toString());
+                .arg(theDebuggerStringSetting(GdbLocation));
             break;
         case QProcess::Crashed:
             msg = tr("The Gdb process crashed some time after starting "
@@ -1235,12 +1235,11 @@ void GdbEngine::handleAsyncOutput(const GdbMi &data)
 
     QString msg = data.findChild("consolestreamoutput").data();
     if (msg.contains("Stopped due to shared library event") || reason.isEmpty()) {
-        if (theDebuggerSetting(SelectedPluginBreakpoints)->value().toBool()) {
+        if (theDebuggerBoolSetting(SelectedPluginBreakpoints)) {
             debugMessage("SHARED LIBRARY EVENT: " + data.toString());
-            QString pattern = theDebuggerSetting(SelectedPluginBreakpointsPattern)
-                ->value().toString();
-            debugMessage("PATTERN: " + pattern);
-            sendCommand("sharedlibrary " + pattern);
+            QString pat = theDebuggerStringSetting(SelectedPluginBreakpointsPattern);
+            debugMessage("PATTERN: " + pat);
+            sendCommand("sharedlibrary " + pat);
             continueInferior();
             q->showStatusMessage(tr("Loading %1...").arg(QString(data.toString())));
             return;
@@ -1306,7 +1305,7 @@ void GdbEngine::handleAsyncOutput(const GdbMi &data)
                  frame.findChild("func").data() + '%';
 
             QApplication::alert(q->mainWindow(), 3000);
-            if (theDebuggerSetting(ListSourceFiles)->value().toBool())
+            if (theDebuggerAction(ListSourceFiles)->value().toBool())
                 reloadSourceFiles();
             sendCommand("-break-list", BreakList);
             QVariant var = QVariant::fromValue<GdbMi>(data);
diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp
index 355417d81ed650cecae5f9599cc1edcc2c969197..84d8a33f189be951cd8729582a203a91d5749e2c 100644
--- a/src/plugins/debugger/watchhandler.cpp
+++ b/src/plugins/debugger/watchhandler.cpp
@@ -368,10 +368,10 @@ WatchHandler::WatchHandler()
     m_incompleteSet.clear();
     m_displaySet = m_completeSet;
 
-    connect(theDebuggerSetting(WatchExpression)->action(),
+    connect(theDebuggerAction(WatchExpression)->action(),
         SIGNAL(triggered()), this, SLOT(watchExpression()));
 
-    connect(theDebuggerSetting(RemoveWatchExpression)->action(),
+    connect(theDebuggerAction(RemoveWatchExpression)->action(),
         SIGNAL(triggered()), this, SLOT(removeWatchExpression()));
 }
 
diff --git a/src/plugins/debugger/watchwindow.cpp b/src/plugins/debugger/watchwindow.cpp
index 70f32cd48cb13207eef29c07724b14423aa94327..b752e2d5ff71d7430221b94acbcac2e68d6aba57 100644
--- a/src/plugins/debugger/watchwindow.cpp
+++ b/src/plugins/debugger/watchwindow.cpp
@@ -86,11 +86,11 @@ public:
         QString exp = index.model()->data(index, ExpressionRole).toString();
         if (index.column() == 1) {
             // the value column
-            theDebuggerSetting(AssignValue)->trigger(exp + '=' + value);
+            theDebuggerAction(AssignValue)->trigger(exp + '=' + value);
         } else if (index.column() == 0) {
             // the watcher name column
-            theDebuggerSetting(RemoveWatchExpression)->trigger(exp);
-            theDebuggerSetting(WatchExpression)->trigger(lineEdit->text());
+            theDebuggerAction(RemoveWatchExpression)->trigger(exp);
+            theDebuggerAction(WatchExpression)->trigger(lineEdit->text());
         }
     }
 
@@ -146,7 +146,7 @@ void WatchWindow::keyPressEvent(QKeyEvent *ev)
         QModelIndex idx = currentIndex();
         QModelIndex idx1 = idx.sibling(idx.row(), 0);
         QString exp = model()->data(idx1).toString();
-        theDebuggerSetting(RemoveWatchExpression)->setValue(exp);
+        theDebuggerAction(RemoveWatchExpression)->setValue(exp);
     }
     QTreeView::keyPressEvent(ev);
 }
@@ -173,10 +173,10 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev)
 
     menu.addSeparator();
     int type = (m_type == LocalsType) ? WatchExpression : RemoveWatchExpression;
-    menu.addAction(theDebuggerSetting(type)->updatedAction(exp));
+    menu.addAction(theDebuggerAction(type)->updatedAction(exp));
 
     visual = model()->data(mi0, VisualRole).toBool();
-    //act4 = theDebuggerSetting(WatchExpressionInWindow)->action();
+    //act4 = theDebuggerAction(WatchExpressionInWindow)->action();
     //act4->setCheckable(true);
     //act4->setChecked(visual);
     //menu.addAction(act4);
@@ -185,10 +185,10 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev)
     //menu.addAction(act3);
 
     menu.addSeparator();
-    menu.addAction(theDebuggerSetting(RecheckDumpers)->action());
-    menu.addAction(theDebuggerSetting(UseDumpers)->action());
+    menu.addAction(theDebuggerAction(RecheckDumpers)->action());
+    menu.addAction(theDebuggerAction(UseDumpers)->action());
     menu.addSeparator();
-    menu.addAction(theDebuggerSetting(SettingsDialog)->action());
+    menu.addAction(theDebuggerAction(SettingsDialog)->action());
 
     QAction *act = menu.exec(ev->globalPos());