debugger: remove reference to dumper build step from debugger UI

This commit is contained in:
hjk
2009-03-27 12:25:58 +01:00
parent b3f620e514
commit a2c68a538d
7 changed files with 54 additions and 68 deletions

View File

@@ -64,6 +64,7 @@ DebuggerSettings::~DebuggerSettings()
void DebuggerSettings::insertItem(int code, SavedAction *item) void DebuggerSettings::insertItem(int code, SavedAction *item)
{ {
QTC_ASSERT(!m_items.contains(code), return);
m_items[code] = item; m_items[code] = item;
} }
@@ -240,11 +241,6 @@ DebuggerSettings *theDebuggerSettings()
item->setText(QObject::tr("Use tooltips when debugging")); item->setText(QObject::tr("Use tooltips when debugging"));
item->setCheckable(true); item->setCheckable(true);
item = new SavedAction(instance);
instance->insertItem(ListSourceFiles, item);
item->setText(QObject::tr("List source files"));
item->setCheckable(true);
// //
// Settings // Settings
@@ -272,30 +268,30 @@ DebuggerSettings *theDebuggerSettings()
item->setSettingsKey("DebugMode", "UseToolTips"); item->setSettingsKey("DebugMode", "UseToolTips");
item = new SavedAction(instance); item = new SavedAction(instance);
instance->insertItem(UseDumpers, item); instance->insertItem(DisplayRawData, item);
item->setSettingsKey("DebugMode", "UseCustomDumpers"); item->setSettingsKey("DebugMode", "DisplayRawData");
item->setText(QObject::tr("Use custom dumpers")); item->setText(QObject::tr("Display raw data"));
item->setCheckable(true); item->setCheckable(true);
item = new SavedAction(instance); item = new SavedAction(instance);
instance->insertItem(BuildDumpersOnTheFly, item); instance->insertItem(UseDefaultDumperLocation, item);
item->setDefaultValue(true); item->setDefaultValue(true);
item->setSettingsKey("DebugMode", "BuildDumpersOnTheFly"); item->setSettingsKey("DebugMode", "UseDefaultDumperLocation");
item->setCheckable(true); item->setCheckable(true);
item = new SavedAction(instance); item = new SavedAction(instance);
instance->insertItem(UseQtDumpers, item); instance->insertItem(UseCustomDumperLocation, item);
item->setSettingsKey("DebugMode", "UseQtDumpers"); item->setSettingsKey("DebugMode", "CustomDumperLocation");
item->setCheckable(true); item->setCheckable(true);
item = new SavedAction(instance); item = new SavedAction(instance);
instance->insertItem(UsePrebuiltDumpers, item); instance->insertItem(DisplayRawData, item);
item->setSettingsKey("DebugMode", "UsePrebuiltDumpers"); item->setSettingsKey("DebugMode", "DisplayRawData");
item->setCheckable(true); item->setCheckable(true);
item = new SavedAction(instance); item = new SavedAction(instance);
instance->insertItem(PrebuiltDumpersLocation, item); instance->insertItem(CustomDumperLocation, item);
item->setSettingsKey("DebugMode", "PrebuiltDumpersLocation"); item->setSettingsKey("DebugMode", "CustomDumperLocation");
item = new SavedAction(instance); item = new SavedAction(instance);
instance->insertItem(TerminalApplication, item); instance->insertItem(TerminalApplication, item);
@@ -305,6 +301,8 @@ DebuggerSettings *theDebuggerSettings()
item = new SavedAction(instance); item = new SavedAction(instance);
instance->insertItem(ListSourceFiles, item); instance->insertItem(ListSourceFiles, item);
item->setSettingsKey("DebugMode", "ListSourceFiles"); item->setSettingsKey("DebugMode", "ListSourceFiles");
item->setText(QObject::tr("List source files"));
item->setCheckable(true);
item = new SavedAction(instance); item = new SavedAction(instance);
instance->insertItem(SkipKnownFrames, item); instance->insertItem(SkipKnownFrames, item);

View File

@@ -87,11 +87,10 @@ enum DebuggerActionCode
CollapseItem, CollapseItem,
RecheckDumpers, RecheckDumpers,
UsePrebuiltDumpers, DisplayRawData,
UseQtDumpers, UseCustomDumperLocation,
PrebuiltDumpersLocation, UseDefaultDumperLocation,
BuildDumpersOnTheFly, CustomDumperLocation,
UseDumpers,
DebugDumpers, DebugDumpers,
// Source List // Source List

View File

@@ -362,26 +362,24 @@ QWidget *DumperOptionPage::createPage(QWidget *parent)
m_ui.dumperLocationChooser->setInitialBrowsePathBackup( m_ui.dumperLocationChooser->setInitialBrowsePathBackup(
Core::ICore::instance()->resourcePath() + "../../lib"); Core::ICore::instance()->resourcePath() + "../../lib");
connect(m_ui.radioButtonUsePrebuiltDumpers, SIGNAL(toggled(bool)), connect(m_ui.radioButtonUseCustomDumperLocation, SIGNAL(toggled(bool)),
m_ui.dumperLocationChooser, SLOT(setEnabled(bool))); m_ui.dumperLocationChooser, SLOT(setEnabled(bool)));
m_group.clear(); m_group.clear();
m_group.insert(theDebuggerAction(UseQtDumpers), m_group.insert(theDebuggerAction(DisplayRawData),
m_ui.radioButtonUseQtDumpers); m_ui.radioButtonDisplayRawData);
m_group.insert(theDebuggerAction(UsePrebuiltDumpers), m_group.insert(theDebuggerAction(UseCustomDumperLocation),
m_ui.radioButtonUsePrebuiltDumpers); m_ui.radioButtonUseCustomDumperLocation);
m_group.insert(theDebuggerAction(BuildDumpersOnTheFly), m_group.insert(theDebuggerAction(UseDefaultDumperLocation),
m_ui.radioButtonBuildDumpersOnTheFly); m_ui.radioButtonUseDefaultDumperLocation);
m_group.insert(theDebuggerAction(PrebuiltDumpersLocation), m_group.insert(theDebuggerAction(CustomDumperLocation),
m_ui.dumperLocationChooser); m_ui.dumperLocationChooser);
m_group.insert(theDebuggerAction(UseDumpers),
m_ui.checkBoxUseDumpers);
m_group.insert(theDebuggerAction(DebugDumpers), m_group.insert(theDebuggerAction(DebugDumpers),
m_ui.checkBoxDebugDumpers); m_ui.checkBoxDebugDumpers);
m_ui.dumperLocationChooser-> m_ui.dumperLocationChooser->
setEnabled(theDebuggerAction(UsePrebuiltDumpers)->value().toBool()); setEnabled(theDebuggerAction(UseCustomDumperLocation)->value().toBool());
#ifndef QT_DEBUG #ifndef QT_DEBUG
#if 0 #if 0

View File

@@ -20,27 +20,20 @@
<string>Location of data dumper helper library</string> <string>Location of data dumper helper library</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QRadioButton" name="radioButtonUseQtDumpers">
<property name="text">
<string>Use Qt dumpers</string>
</property>
</widget>
</item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QRadioButton" name="radioButtonBuildDumpersOnTheFly"> <widget class="QRadioButton" name="radioButtonUseDefaultDumperLocation">
<property name="toolTip"> <property name="toolTip">
<string>This is the slowest but safest option.</string> <string>This will load a dumper library</string>
</property> </property>
<property name="text"> <property name="text">
<string>Build and load data dumpers on-the-fly</string> <string>Use dumpers from default location</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QRadioButton" name="radioButtonUsePrebuiltDumpers"> <widget class="QRadioButton" name="radioButtonUseCustomDumperLocation">
<property name="text"> <property name="text">
<string>Load pre-built data dumpers</string> <string>Use dumpers from custom location</string>
</property> </property>
</widget> </widget>
</item> </item>
@@ -74,6 +67,16 @@
</item> </item>
</layout> </layout>
</item> </item>
<item row="0" column="0">
<widget class="QRadioButton" name="radioButtonDisplayRawData">
<property name="toolTip">
<string>This will disable nice display of Qt and Standard Library objects in the Locals&amp;Watchers view</string>
</property>
<property name="text">
<string>Do not use data dumpers</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@@ -100,13 +103,6 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0">
<widget class="QCheckBox" name="checkBoxUseDumpers">
<property name="text">
<string>Use data dumpers</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<customwidgets> <customwidgets>

View File

@@ -210,8 +210,8 @@ void GdbEngine::initializeConnections()
q, SLOT(showApplicationOutput(QString)), q, SLOT(showApplicationOutput(QString)),
Qt::QueuedConnection); Qt::QueuedConnection);
connect(theDebuggerAction(UseDumpers), SIGNAL(valueChanged(QVariant)), connect(theDebuggerAction(DisplayRawData), SIGNAL(valueChanged(QVariant)),
this, SLOT(setUseDumpers(QVariant))); this, SLOT(setDisplayRawData(QVariant)));
connect(theDebuggerAction(DebugDumpers), SIGNAL(valueChanged(QVariant)), connect(theDebuggerAction(DebugDumpers), SIGNAL(valueChanged(QVariant)),
this, SLOT(setDebugDumpers(QVariant))); this, SLOT(setDebugDumpers(QVariant)));
connect(theDebuggerAction(RecheckDumpers), SIGNAL(triggered()), connect(theDebuggerAction(RecheckDumpers), SIGNAL(triggered()),
@@ -1077,7 +1077,7 @@ void GdbEngine::handleAqcuiredInferior()
#if defined(Q_OS_MAC) #if defined(Q_OS_MAC)
sendCommand("info pid", GdbInfoProc, QVariant(), NeedsStop); sendCommand("info pid", GdbInfoProc, QVariant(), NeedsStop);
#endif #endif
if (theDebuggerBoolSetting(UseDumpers)) if (theDebuggerBoolSetting(ListSourceFiles))
reloadSourceFiles(); reloadSourceFiles();
tryLoadCustomDumpers(); tryLoadCustomDumpers();
@@ -2849,7 +2849,7 @@ static void setWatchDataSAddress(WatchData &data, const GdbMi &mi)
data.saddr = mi.data(); data.saddr = mi.data();
} }
void GdbEngine::setUseDumpers(const QVariant &on) void GdbEngine::setDisplayRawData(const QVariant &on)
{ {
qDebug() << "SWITCHING ON/OFF DUMPER DEBUGGING:" << on; qDebug() << "SWITCHING ON/OFF DUMPER DEBUGGING:" << on;
// FIXME: a bit too harsh, but otherwise the treeview sometimes look funny // FIXME: a bit too harsh, but otherwise the treeview sometimes look funny
@@ -2860,7 +2860,7 @@ void GdbEngine::setUseDumpers(const QVariant &on)
bool GdbEngine::isCustomValueDumperAvailable(const QString &type) const bool GdbEngine::isCustomValueDumperAvailable(const QString &type) const
{ {
if (!theDebuggerBoolSetting(UseDumpers)) if (theDebuggerBoolSetting(DisplayRawData))
return false; return false;
if (q->startMode() == AttachCore) { if (q->startMode() == AttachCore) {
@@ -3989,17 +3989,12 @@ void GdbEngine::assignValueInDebugger(const QString &expression, const QString &
QString GdbEngine::dumperLibraryName() const QString GdbEngine::dumperLibraryName() const
{ {
if (theDebuggerAction(UsePrebuiltDumpers)->value().toBool()) if (theDebuggerAction(UseCustomDumperLocation)->value().toBool())
return theDebuggerAction(PrebuiltDumpersLocation)->value().toString(); return theDebuggerAction(CustomDumperLocation)->value().toString();
if (theDebuggerAction(UseQtDumpers)->value().toBool()) if (theDebuggerAction(UseDefaultDumperLocation)->value().toBool())
return q->m_dumperLib; return q->m_dumperLib;
#if defined(Q_OS_WIN) QTC_ASSERT(false, /**/);
return q->m_buildDir + "/qtc-gdbmacros/debug/gdbmacros.dll"; return QString();
#elif defined(Q_OS_MAC)
return q->m_buildDir + "/qtc-gdbmacros/libgdbmacros.dylib";
#else // generic UNIX
return q->m_buildDir + "/qtc-gdbmacros/libgdbmacros.so";
#endif
} }
void GdbEngine::tryLoadCustomDumpers() void GdbEngine::tryLoadCustomDumpers()

View File

@@ -131,7 +131,7 @@ private:
void loadAllSymbols(); void loadAllSymbols();
Q_SLOT void setDebugDumpers(const QVariant &on); Q_SLOT void setDebugDumpers(const QVariant &on);
Q_SLOT void setUseDumpers(const QVariant &on); Q_SLOT void setDisplayRawData(const QVariant &on);
// //
// Own stuff // Own stuff

View File

@@ -177,7 +177,7 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev)
menu.addSeparator(); menu.addSeparator();
menu.addAction(theDebuggerAction(RecheckDumpers)); menu.addAction(theDebuggerAction(RecheckDumpers));
menu.addAction(theDebuggerAction(UseDumpers)); menu.addAction(theDebuggerAction(DisplayRawData));
menu.addSeparator(); menu.addSeparator();
menu.addAction(theDebuggerAction(SettingsDialog)); menu.addAction(theDebuggerAction(SettingsDialog));