diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro
index 3d67e19c6aae2337f008e5416c5d18d99ba5c729..7308fb441c2da8c38ec4cd3d69599896bd44843e 100644
--- a/src/plugins/debugger/debugger.pro
+++ b/src/plugins/debugger/debugger.pro
@@ -58,7 +58,6 @@ SOURCES += attachexternaldialog.cpp \
     gdbengine.cpp \
     gdbmi.cpp \
     gdboptionpage.cpp \
-    gdbtypemacros.cpp \
     gdbengine.h \
     moduleshandler.cpp \
     moduleswindow.cpp \
@@ -79,7 +78,6 @@ FORMS += attachexternaldialog.ui \
     breakcondition.ui \
     mode.ui \
     gdboptionpage.ui \
-    gdbtypemacros.ui \
     startexternaldialog.ui \
 
 RESOURCES += debugger.qrc
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 37406f70cc1a6678e9506c75d320adea5711d544..d9217069c6849858e9737a54d2f20a7f6b3394df 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -183,7 +183,6 @@ DebuggerPlugin::DebuggerPlugin()
 {
     m_pm = 0;
     m_generalOptionPage = 0;
-    m_typeMacroPage = 0;
     m_locationMark = 0;
     m_manager = 0;
 }
@@ -202,7 +201,6 @@ void DebuggerPlugin::shutdown()
     //qDebug() << "DebuggerPlugin::~DebuggerPlugin";
     removeObject(m_debugMode);
     removeObject(m_generalOptionPage);
-    removeObject(m_typeMacroPage);
 
     // FIXME: when using the line below, BreakWindow etc gets deleted twice.
     // so better leak for now...
@@ -212,9 +210,6 @@ void DebuggerPlugin::shutdown()
     delete m_generalOptionPage;
     m_generalOptionPage = 0;
 
-    delete m_typeMacroPage;
-    m_typeMacroPage = 0;
-
     delete m_locationMark;
     m_locationMark = 0;
 
@@ -409,13 +404,10 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *error_mes
     mdebug->addAction(cmd);
 
     m_generalOptionPage = 0;
-    m_typeMacroPage = 0;
 
     // FIXME:
     m_generalOptionPage = new GdbOptionPage(&theGdbSettings());
     addObject(m_generalOptionPage);
-    m_typeMacroPage = new TypeMacroPage(&theGdbSettings());
-    addObject(m_typeMacroPage);
 
     m_locationMark = 0;
 
diff --git a/src/plugins/debugger/debuggerplugin.h b/src/plugins/debugger/debuggerplugin.h
index 91ffe4dbf770a43fa839f9d27e4c49818c373d2a..ebf12b5e12331b2fdb1827ec3252299b19ffe0e8 100644
--- a/src/plugins/debugger/debuggerplugin.h
+++ b/src/plugins/debugger/debuggerplugin.h
@@ -54,7 +54,6 @@ namespace Internal {
 class DebuggerManager;
 class DebugMode;
 class GdbOptionPage;
-class TypeMacroPage;
 class LocationMark;
 
 class DebuggerPlugin : public ExtensionSystem::IPlugin
@@ -103,7 +102,6 @@ private:
 
     ExtensionSystem::PluginManager *m_pm;
     GdbOptionPage *m_generalOptionPage;
-    TypeMacroPage *m_typeMacroPage;
 
     QString m_previousMode;
     LocationMark *m_locationMark;
diff --git a/src/plugins/debugger/gdbengine.h b/src/plugins/debugger/gdbengine.h
index 56106a7524468e7270340462f80df9e1a88a02ff..6b3cbb15fee9b0883386513d048939d8d7fe9b7b 100644
--- a/src/plugins/debugger/gdbengine.h
+++ b/src/plugins/debugger/gdbengine.h
@@ -80,7 +80,7 @@ enum DataDumperState
     DataDumperUnavailable,
 };
 
-// FIXME: Move to extra file?
+
 class GdbSettings
 {
 public:
diff --git a/src/plugins/debugger/gdboptionpage.cpp b/src/plugins/debugger/gdboptionpage.cpp
index e05b811889abf12094d267a823b45f70716a9ed9..8bf1b22a0fc8dceee15ff5d4ec099fd65d7b7b9a 100644
--- a/src/plugins/debugger/gdboptionpage.cpp
+++ b/src/plugins/debugger/gdboptionpage.cpp
@@ -58,7 +58,11 @@ GdbOptionPage::GdbOptionPage(GdbSettings *settings)
 #if defined(Q_OS_WIN32)
     defaultCommand.append(".exe");
 #endif
+    QString defaultScript = coreIFace->resourcePath() +
+        QLatin1String("/gdb/qt4macros");
+
     m_settings->m_gdbCmd   = s->value("Location", defaultCommand).toString();
+    m_settings->m_scriptFile= s->value("ScriptFile", defaultScript).toString();
     m_settings->m_gdbEnv   = s->value("Environment", "").toString();
     m_settings->m_autoRun  = s->value("AutoRun", true).toBool();
     m_settings->m_autoQuit = s->value("AutoQuit", true).toBool();
@@ -72,36 +76,56 @@ QString GdbOptionPage::name() const
 
 QString GdbOptionPage::category() const
 {
-    return "Debugger|Gdb";
+    return "Debugger";
 }
 
 QString GdbOptionPage::trCategory() const
 {
-    return tr("Debugger|Gdb");
+    return tr("Debugger");
 }
 
 QWidget *GdbOptionPage::createPage(QWidget *parent)
 {
     QWidget *w = new QWidget(parent);
     m_ui.setupUi(w);
-    m_ui.gdbEdit->setText(m_settings->m_gdbCmd);
-    m_ui.envEdit->setText(m_settings->m_gdbEnv);
+    m_ui.gdbLocationEdit->setText(m_settings->m_gdbCmd);
+    m_ui.environmentEdit->setText(m_settings->m_gdbEnv);
     m_ui.autoStartBox->setChecked(m_settings->m_autoRun);
     m_ui.autoQuitBox->setChecked(m_settings->m_autoQuit);
-    connect(m_ui.pushButtonBrowse, SIGNAL(clicked()),
-        this, SLOT(browse()));
+    m_ui.gdbStartupScriptEdit->setText(m_settings->m_scriptFile);
+
+    // FIXME
+    m_ui.autoStartBox->hide();
+    m_ui.autoQuitBox->hide();
+    m_ui.environmentEdit->hide();
+    m_ui.labelEnvironment->hide();
+
+    connect(m_ui.browseForGdbButton, SIGNAL(clicked()),
+        this, SLOT(browseForGdb()));
+    connect(m_ui.browseForScriptButton, SIGNAL(clicked()),
+        this, SLOT(browseForScript()));
 
     return w;
 }
 
-void GdbOptionPage::browse()
+void GdbOptionPage::browseForGdb()
 {
-    QString fileName = QFileDialog::getOpenFileName(m_ui.pushButtonBrowse,
+    QString fileName = QFileDialog::getOpenFileName(m_ui.browseForGdbButton,
             "Browse for gdb executable");
     if (fileName.isEmpty())
         return;
     m_settings->m_gdbCmd = fileName;
-    m_ui.gdbEdit->setText(fileName);
+    m_ui.gdbLocationEdit->setText(fileName);
+}
+
+void GdbOptionPage::browseForScript()
+{
+    QString fileName = QFileDialog::getOpenFileName(m_ui.browseForGdbButton,
+            "Browse for gdb startup script");
+    if (fileName.isEmpty())
+        return;
+    m_settings->m_scriptFile = fileName;
+    m_ui.gdbStartupScriptEdit->setText(fileName);
 }
 
 void GdbOptionPage::finished(bool accepted)
@@ -109,10 +133,11 @@ void GdbOptionPage::finished(bool accepted)
     if (!accepted)
         return;
 
-    m_settings->m_gdbCmd   = m_ui.gdbEdit->text();
-    m_settings->m_gdbEnv   = m_ui.envEdit->text();
+    m_settings->m_gdbCmd   = m_ui.gdbLocationEdit->text();
+    m_settings->m_gdbEnv   = m_ui.environmentEdit->text();
     m_settings->m_autoRun  = m_ui.autoStartBox->isChecked();
     m_settings->m_autoQuit = m_ui.autoQuitBox->isChecked();
+    m_settings->m_scriptFile = m_ui.gdbStartupScriptEdit->text();
 
     Core::ICore *coreIFace = m_pm->getObject<Core::ICore>();
     if (!coreIFace || !coreIFace->settings())
diff --git a/src/plugins/debugger/gdboptionpage.h b/src/plugins/debugger/gdboptionpage.h
index 1d71024bac1b7ef923b9ce577041c0b0266055b8..684bd7897711fb42360a3739005054cddc42ff58 100644
--- a/src/plugins/debugger/gdboptionpage.h
+++ b/src/plugins/debugger/gdboptionpage.h
@@ -35,7 +35,6 @@
 #define GDBOPTIONPAGE_H
 
 #include "ui_gdboptionpage.h"
-#include "ui_gdbtypemacros.h"
 
 #include <coreplugin/dialogs/ioptionspage.h>
 
@@ -63,7 +62,8 @@ public:
     void finished(bool accepted);
 
 public slots:
-    void browse();
+    void browseForGdb();
+    void browseForScript();
 
 private:
     ExtensionSystem::PluginManager *m_pm;
@@ -72,6 +72,7 @@ private:
     GdbSettings *m_settings;
 };
 
+#if 0
 class TypeMacroPage : public Core::IOptionsPage
 {
     Q_OBJECT
@@ -100,6 +101,7 @@ private:
     GdbSettings *m_settings;
     QWidget *m_widget;
 };
+#endif
 
 } // namespace Internal
 } // namespace Debugger
diff --git a/src/plugins/debugger/gdboptionpage.ui b/src/plugins/debugger/gdboptionpage.ui
index 4b58d5d7140061767fd2ce58a05c3fe1bec6f59c..a7496851188caf2c76a0af3feb5930b508cf731b 100644
--- a/src/plugins/debugger/gdboptionpage.ui
+++ b/src/plugins/debugger/gdboptionpage.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>433</width>
-    <height>216</height>
+    <height>233</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -23,7 +23,7 @@
    <item>
     <widget class="QGroupBox" name="groupBox">
      <property name="title">
-      <string>Gdb Debug Options</string>
+      <string>Locations</string>
      </property>
      <layout class="QGridLayout">
       <property name="margin">
@@ -33,33 +33,36 @@
        <number>6</number>
       </property>
       <item row="0" column="1">
-       <widget class="QLineEdit" name="gdbEdit"/>
+       <widget class="QLineEdit" name="gdbLocationEdit"/>
       </item>
       <item row="1" column="1" colspan="2">
-       <widget class="QLineEdit" name="envEdit"/>
+       <widget class="QLineEdit" name="environmentEdit"/>
       </item>
       <item row="0" column="0">
-       <widget class="QLabel" name="label">
+       <widget class="QLabel" name="labelGdbLocaltion">
+        <property name="toolTip">
+         <string>This is either a full abolute path leading to the gdb binary you intend to use or the name of a gdb binary that wiull be searched in your PATH.</string>
+        </property>
         <property name="text">
          <string>Gdb Location:</string>
         </property>
         <property name="buddy">
-         <cstring>gdbEdit</cstring>
+         <cstring>gdbLocationEdit</cstring>
         </property>
        </widget>
       </item>
       <item row="1" column="0">
-       <widget class="QLabel" name="label_2">
+       <widget class="QLabel" name="labelEnvironment">
         <property name="text">
          <string>Environment:</string>
         </property>
         <property name="buddy">
-         <cstring>envEdit</cstring>
+         <cstring>environmentEdit</cstring>
         </property>
        </widget>
       </item>
       <item row="0" column="2">
-       <widget class="QPushButton" name="pushButtonBrowse">
+       <widget class="QPushButton" name="browseForGdbButton">
         <property name="text">
          <string/>
         </property>
@@ -72,6 +75,36 @@
         </property>
        </widget>
       </item>
+      <item row="2" column="1">
+       <widget class="QLineEdit" name="gdbStartupScriptEdit"/>
+      </item>
+      <item row="2" column="2">
+       <widget class="QToolButton" name="browseForScriptButton">
+        <property name="minimumSize">
+         <size>
+          <width>21</width>
+          <height>23</height>
+         </size>
+        </property>
+        <property name="text">
+         <string>...</string>
+        </property>
+        <property name="icon">
+         <iconset resource="../coreplugin/core.qrc">
+          <normaloff>:/qworkbench/images/fileopen.png</normaloff>:/qworkbench/images/fileopen.png</iconset>
+        </property>
+       </widget>
+      </item>
+      <item row="2" column="0">
+       <widget class="QLabel" name="labelGdbStartupScript">
+        <property name="toolTip">
+         <string>This is either empty or points to a file containing gdb commands that will be executed immediately after gdb starts up.</string>
+        </property>
+        <property name="text">
+         <string>Gdb Startup Script:</string>
+        </property>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>
diff --git a/src/plugins/debugger/gdbtypemacros.ui b/src/plugins/debugger/gdbtypemacros.ui
index aa7215577b4d1728cd34c8ec26257c0f71c5f7cf..f42514e4e499eaae2255cffd59dd74ebfa4b803f 100644
--- a/src/plugins/debugger/gdbtypemacros.ui
+++ b/src/plugins/debugger/gdbtypemacros.ui
@@ -1,146 +1,115 @@
-<ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
  <class>TypeMacroPage</class>
- <widget class="QWidget" name="TypeMacroPage" >
-  <property name="geometry" >
+ <widget class="QWidget" name="TypeMacroPage">
+  <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>519</width>
-    <height>238</height>
+    <height>263</height>
    </rect>
   </property>
-  <property name="windowTitle" >
+  <property name="windowTitle">
    <string>Form</string>
   </property>
-  <layout class="QVBoxLayout" >
-   <property name="margin" >
-    <number>9</number>
-   </property>
-   <property name="spacing" >
+  <layout class="QVBoxLayout">
+   <property name="spacing">
     <number>6</number>
    </property>
+   <property name="margin">
+    <number>9</number>
+   </property>
    <item>
-    <widget class="QGroupBox" name="groupBox" >
-     <property name="title" >
-      <string>Script File</string>
-     </property>
-     <layout class="QHBoxLayout" >
-      <property name="margin" >
-       <number>9</number>
-      </property>
-      <property name="spacing" >
-       <number>6</number>
-      </property>
-      <item>
-       <widget class="QLineEdit" name="scriptEdit" />
-      </item>
-      <item>
-       <widget class="QToolButton" name="scriptButton" >
-        <property name="minimumSize" >
-         <size>
-          <width>21</width>
-          <height>23</height>
-         </size>
-        </property>
-        <property name="text" >
-         <string>...</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <layout class="QGridLayout" >
-     <property name="margin" >
+    <layout class="QGridLayout">
+     <property name="margin">
       <number>0</number>
      </property>
-     <property name="spacing" >
+     <property name="spacing">
       <number>6</number>
      </property>
-     <item row="0" column="0" colspan="2" >
-      <widget class="QTreeWidget" name="treeWidget" >
-       <property name="rootIsDecorated" >
+     <item row="0" column="0" colspan="2">
+      <widget class="QTreeWidget" name="treeWidget">
+       <property name="rootIsDecorated">
         <bool>false</bool>
        </property>
        <column>
-        <property name="text" >
+        <property name="text">
          <string>Type</string>
         </property>
        </column>
        <column>
-        <property name="text" >
+        <property name="text">
          <string>Macro</string>
         </property>
        </column>
       </widget>
      </item>
-     <item row="1" column="2" >
-      <widget class="QToolButton" name="addButton" >
-       <property name="minimumSize" >
+     <item row="1" column="2">
+      <widget class="QToolButton" name="addButton">
+       <property name="minimumSize">
         <size>
          <width>21</width>
          <height>23</height>
         </size>
        </property>
-       <property name="text" >
+       <property name="text">
         <string>+</string>
        </property>
-       <property name="icon" >
-        <iconset resource="gdbdebugger.qrc" >:/gdbdebugger/images/newitem.png</iconset>
+       <property name="icon">
+        <iconset>
+         <normaloff>:/gdbdebugger/images/newitem.png</normaloff>:/gdbdebugger/images/newitem.png</iconset>
        </property>
       </widget>
      </item>
-     <item row="2" column="0" >
-      <widget class="QLabel" name="label_2" >
-       <property name="text" >
+     <item row="2" column="0">
+      <widget class="QLabel" name="label_2">
+       <property name="text">
         <string>Macro Name:</string>
        </property>
       </widget>
      </item>
-     <item row="3" column="0" >
-      <widget class="QLabel" name="label_3" >
-       <property name="text" >
+     <item row="3" column="0">
+      <widget class="QLabel" name="label_3">
+       <property name="text">
         <string>Parse as:</string>
        </property>
       </widget>
      </item>
-     <item row="2" column="1" >
-      <widget class="QLineEdit" name="macroEdit" />
+     <item row="2" column="1">
+      <widget class="QLineEdit" name="macroEdit"/>
      </item>
-     <item row="0" column="2" >
-      <layout class="QVBoxLayout" >
-       <property name="margin" >
+     <item row="0" column="2">
+      <layout class="QVBoxLayout">
+       <property name="spacing">
         <number>0</number>
        </property>
-       <property name="spacing" >
+       <property name="margin">
         <number>0</number>
        </property>
        <item>
-        <widget class="QToolButton" name="delButton" >
-         <property name="minimumSize" >
+        <widget class="QToolButton" name="delButton">
+         <property name="minimumSize">
           <size>
            <width>21</width>
            <height>23</height>
           </size>
          </property>
-         <property name="text" >
+         <property name="text">
           <string>-</string>
          </property>
-         <property name="icon" >
-          <iconset resource="gdbdebugger.qrc" >:/gdbdebugger/images/delete.png</iconset>
+         <property name="icon">
+          <iconset>
+           <normaloff>:/gdbdebugger/images/delete.png</normaloff>:/gdbdebugger/images/delete.png</iconset>
          </property>
         </widget>
        </item>
        <item>
         <spacer>
-         <property name="orientation" >
+         <property name="orientation">
           <enum>Qt::Vertical</enum>
          </property>
-         <property name="sizeHint" >
+         <property name="sizeHint" stdset="0">
           <size>
            <width>20</width>
            <height>40</height>
@@ -150,25 +119,25 @@
        </item>
       </layout>
      </item>
-     <item row="1" column="1" >
-      <widget class="QLineEdit" name="typeEdit" />
+     <item row="1" column="1">
+      <widget class="QLineEdit" name="typeEdit"/>
      </item>
-     <item row="1" column="0" >
-      <widget class="QLabel" name="label" >
-       <property name="text" >
+     <item row="1" column="0">
+      <widget class="QLabel" name="label">
+       <property name="text">
         <string>Type:</string>
        </property>
       </widget>
      </item>
-     <item row="3" column="1" >
-      <widget class="QComboBox" name="parseAsBox" >
+     <item row="3" column="1">
+      <widget class="QComboBox" name="parseAsBox">
        <item>
-        <property name="text" >
+        <property name="text">
          <string>ASCII (char *)</string>
         </property>
        </item>
        <item>
-        <property name="text" >
+        <property name="text">
          <string>Unicode (short)</string>
         </property>
        </item>
@@ -178,9 +147,8 @@
    </item>
   </layout>
  </widget>
- <pixmapfunction></pixmapfunction>
  <resources>
-  <include location="gdbdebugger.qrc" />
+  <include location="gdbdebugger.qrc"/>
  </resources>
  <connections/>
 </ui>
diff --git a/src/plugins/git/settingspage.cpp b/src/plugins/git/settingspage.cpp
index e1b14cb9ccc627c31fff00065d560f8f7fa7e31e..7f0581fc3c3a976775b4ffc7213de87dbe0cc13e 100644
--- a/src/plugins/git/settingspage.cpp
+++ b/src/plugins/git/settingspage.cpp
@@ -77,7 +77,7 @@ QString SettingsPage::name() const
     return tr("General");
 }
 
- QString SettingsPage::category() const
+QString SettingsPage::category() const
 {
     return QLatin1String("Git");
 }