diff --git a/src/plugins/debugger/breakwindow.cpp b/src/plugins/debugger/breakwindow.cpp index 91b89f59a7b677ea12b84541743d85c19646af23..1d92e59d39eac88e9f082979bad5c03d92ac7243 100644 --- a/src/plugins/debugger/breakwindow.cpp +++ b/src/plugins/debugger/breakwindow.cpp @@ -29,6 +29,7 @@ #include "breakwindow.h" +#include "debuggeractions.h" #include "ui_breakcondition.h" #include <QAction> @@ -93,7 +94,7 @@ void BreakWindow::contextMenuEvent(QContextMenuEvent *ev) QAction *act3 = new QAction("Edit condition...", &menu); act0->setEnabled(index.isValid()); QAction *act4 = new QAction("Syncronize breakpoints", &menu); - QAction *act5 = new QAction("Debugger properties...", &menu); + QAction *act5 = action(SettingsDialog); menu.addAction(act0); menu.addAction(act3); @@ -116,7 +117,7 @@ void BreakWindow::contextMenuEvent(QContextMenuEvent *ev) else if (act == act4) emit breakpointSynchronizationRequested(); else if (act == act5) - emit settingsDialogRequested(); + act->trigger(); } void BreakWindow::deleteBreakpoint(const QModelIndex &idx) diff --git a/src/plugins/debugger/breakwindow.h b/src/plugins/debugger/breakwindow.h index f6bd9111b9bda38d9f297773781d812544d95468..8b8b9cdd8baf273ed976dddf23094adacddad70a 100644 --- a/src/plugins/debugger/breakwindow.h +++ b/src/plugins/debugger/breakwindow.h @@ -50,7 +50,6 @@ signals: void breakpointDeleted(int index); void breakpointActivated(int index); void breakpointSynchronizationRequested(); - void settingsDialogRequested(); private slots: void rowActivated(const QModelIndex &index); diff --git a/src/plugins/debugger/cdb/cdbdebugengine.cpp b/src/plugins/debugger/cdb/cdbdebugengine.cpp index f4befbc1329dc6239c405cdc334c6faaf2be00e5..efaa12d2b98a8e6b6c8d0a32966d6bced247bf11 100644 --- a/src/plugins/debugger/cdb/cdbdebugengine.cpp +++ b/src/plugins/debugger/cdb/cdbdebugengine.cpp @@ -987,15 +987,6 @@ void CdbDebugEnginePrivate::handleBreakpointEvent(PDEBUG_BREAKPOINT pBP) qDebug() << Q_FUNC_INFO; } -void CdbDebugEngine::setDebugDumpers(bool on) -{ - Q_UNUSED(on) -} - -void CdbDebugEngine::recheckCustomDumperAvailability() -{ -} - void CdbDebugEngine::reloadSourceFiles() { } diff --git a/src/plugins/debugger/cdb/cdbdebugengine.h b/src/plugins/debugger/cdb/cdbdebugengine.h index 8e67a66a7914fd73704145b97f707684cead4a41..59ebeed571efb3145d10240490d6226d9021a626 100644 --- a/src/plugins/debugger/cdb/cdbdebugengine.h +++ b/src/plugins/debugger/cdb/cdbdebugengine.h @@ -89,10 +89,6 @@ public: virtual void loadAllSymbols(); virtual void reloadRegisters(); - - virtual void setDebugDumpers(bool on); - virtual void recheckCustomDumperAvailability(); - virtual void reloadSourceFiles(); protected: diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp index 2c83c78f3733da0b3a0d630120a38530717f6fe1..8dcef6b53a96a60472df29b70fa44ef1ff6d58d1 100644 --- a/src/plugins/debugger/debuggermanager.cpp +++ b/src/plugins/debugger/debuggermanager.cpp @@ -239,8 +239,6 @@ void DebuggerManager::init() m_breakHandler, SLOT(activateBreakpoint(int))); connect(breakView, SIGNAL(breakpointDeleted(int)), m_breakHandler, SLOT(removeBreakpoint(int))); - connect(breakView, SIGNAL(settingsDialogRequested()), - this, SIGNAL(settingsDialogRequested())); connect(breakView, SIGNAL(breakpointSynchronizationRequested()), this, SLOT(attemptBreakpointSynchronization())); connect(m_breakHandler, SIGNAL(gotoLocation(QString,int,bool)), @@ -295,10 +293,6 @@ void DebuggerManager::init() this, SLOT(assignValueInDebugger(QString,QString))); connect(localsView, SIGNAL(requestWatchExpression(QString)), this, SLOT(watchExpression(QString))); - connect(localsView, SIGNAL(settingsDialogRequested()), - this, SIGNAL(settingsDialogRequested())); - connect(localsView, SIGNAL(requestRecheckCustomDumperAvailability()), - this, SLOT(recheckCustomDumperAvailability())); // Watchers QTreeView *watchersView = qobject_cast<QTreeView *>(m_watchersWindow); @@ -317,10 +311,6 @@ void DebuggerManager::init() this, SIGNAL(sessionValueRequested(QString,QVariant*))); connect(m_watchHandler, SIGNAL(setSessionValueRequested(QString,QVariant)), this, SIGNAL(setSessionValueRequested(QString,QVariant))); - connect(watchersView, SIGNAL(settingsDialogRequested()), - this, SIGNAL(settingsDialogRequested())); - connect(watchersView, SIGNAL(requestRecheckCustomDumperAvailability()), - this, SLOT(recheckCustomDumperAvailability())); // Tooltip QTreeView *tooltipView = qobject_cast<QTreeView *>(m_tooltipWindow); @@ -480,6 +470,8 @@ void DebuggerManager::init() connect(action(UseDumpers), SIGNAL(triggered(bool)), this, SLOT(setUseDumpers(bool))); + connect(action(DebugDumpers), SIGNAL(triggered(bool)), + this, SLOT(setDebugDumpers(bool))); } void DebuggerManager::setDebuggerType(DebuggerType type) @@ -1311,7 +1303,6 @@ void DebuggerManager::setDebugDumpers(bool on) { QTC_ASSERT(m_engine, return); m_settings.m_debugDumpers = on; - m_engine->setDebugDumpers(on); } void DebuggerManager::setSkipKnownFrames(bool on) @@ -1424,17 +1415,6 @@ void DebuggerManager::fileOpen(const QString &fileName) } -////////////////////////////////////////////////////////////////////// -// -// Watch specific stuff -// -////////////////////////////////////////////////////////////////////// - -void DebuggerManager::recheckCustomDumperAvailability() -{ - m_engine->recheckCustomDumperAvailability(); -} - ////////////////////////////////////////////////////////////////////// // // Disassembler specific stuff diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h index 919c977ce133349cba5f8efb9803419baa5ae7d1..419f3cb64de57ddba6b6208d0fb4f6dab1ce0bfe 100644 --- a/src/plugins/debugger/debuggermanager.h +++ b/src/plugins/debugger/debuggermanager.h @@ -284,10 +284,10 @@ public slots: void showStatusMessage(const QString &msg, int timeout = -1); // -1 forever - void setDebugDumpers(bool on); void setSkipKnownFrames(bool on); private slots: + void setDebugDumpers(bool on); void setUseDumpers(bool on); void showDebuggerOutput(const QString &prefix, const QString &msg); void showDebuggerInput(const QString &prefix, const QString &msg); @@ -309,7 +309,6 @@ private slots: void setStatus(int status); void clearStatusMessage(); void attemptBreakpointSynchronization(); - void recheckCustomDumperAvailability(); private: // diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 655fd9cd081b15196279a5fc06936ad79a19b637..1e4e1a70df53ae988cd16d74b5bb7027a37bdfb2 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -287,7 +287,7 @@ QWidget *GdbOptionPage::createPage(QWidget *parent) m_ui.checkBoxListSourceFiles->setChecked(m_settings.m_listSourceFiles); m_ui.checkBoxSkipKnownFrames->setChecked(m_settings.m_skipKnownFrames); m_ui.checkBoxDebugDumpers->setChecked(m_settings.m_debugDumpers); - m_ui.checkBoxUseCustomDumpers->setChecked(m_settings.m_useDumpers); + m_ui.checkBoxUseDumpers->setChecked(m_settings.m_useDumpers); m_ui.checkBoxUseToolTips->setChecked(m_settings.m_useToolTips); connect(m_ui.radioButtonSelectedPluginBreakpoints, SIGNAL(toggled(bool)), @@ -310,8 +310,8 @@ QWidget *GdbOptionPage::createPage(QWidget *parent) //m_dumpLogAction = new QAction(this); //m_dumpLogAction->setText(tr("Dump Log File for Debugging Purposes")); // - connect(m_ui.checkBoxUseCustomDumpers, SIGNAL(clicked(bool)), - action(UseDumpers), SLOT(trigger(bool))); + connect(m_ui.checkBoxUseDumpers, SIGNAL(clicked()), + action(UseDumpers), SLOT(trigger())); return w; } @@ -325,7 +325,7 @@ void GdbOptionPage::apply() m_settings.m_skipKnownFrames = m_ui.checkBoxSkipKnownFrames->isChecked(); m_settings.m_listSourceFiles = m_ui.checkBoxListSourceFiles->isChecked(); m_settings.m_debugDumpers = m_ui.checkBoxDebugDumpers->isChecked(); - m_settings.m_useDumpers = m_ui.checkBoxUseCustomDumpers->isChecked(); + m_settings.m_useDumpers = m_ui.checkBoxUseDumpers->isChecked(); m_settings.m_useToolTips = m_ui.checkBoxUseToolTips->isChecked(); m_settings.m_pluginAllBreakpoints = diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index b6a545c15b1b60d30d8875deea224fc34e72eb20..aafc019fd5601c32dee530b6b1b05876caf407f4 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -287,6 +287,10 @@ void GdbEngine::initializeConnections() connect(action(UseDumpers), SIGNAL(triggered(bool)), this, SLOT(setUseDumpers(bool))); + connect(action(DebugDumpers), SIGNAL(triggered(bool)), + this, SLOT(setDebugDumpers(bool))); + connect(action(RecheckDumpers), SIGNAL(triggered()), + this, SLOT(recheckCustomDumperAvailability())); } void GdbEngine::initializeVariables() diff --git a/src/plugins/debugger/gdbengine.h b/src/plugins/debugger/gdbengine.h index 5fc72ccc6702a9556570d221e633f831caa612ff..d0186493972a9ab1d7d32fe81fbb8fe3c22e2c60 100644 --- a/src/plugins/debugger/gdbengine.h +++ b/src/plugins/debugger/gdbengine.h @@ -130,7 +130,7 @@ private: void loadSymbols(const QString &moduleName); void loadAllSymbols(); - void setDebugDumpers(bool on); + Q_SLOT void setDebugDumpers(bool on); Q_SLOT void setUseDumpers(bool on); // diff --git a/src/plugins/debugger/gdboptionpage.ui b/src/plugins/debugger/gdboptionpage.ui index 46ab3dc8212bf3b6b8f38e44818e1c48f69e2d9c..5305559947592bd264d3e5730f5da9968a8fc055 100644 --- a/src/plugins/debugger/gdboptionpage.ui +++ b/src/plugins/debugger/gdboptionpage.ui @@ -132,7 +132,7 @@ </widget> </item> <item row="2" column="0"> - <widget class="QCheckBox" name="checkBoxUseCustomDumpers"> + <widget class="QCheckBox" name="checkBoxUseDumpers"> <property name="toolTip"> <string>Checking this will make the debugger try to use code to format certain data (QObject, QString, std::string etc.) nicely.</string> </property> diff --git a/src/plugins/debugger/idebuggerengine.h b/src/plugins/debugger/idebuggerengine.h index de7bece9ca1a16d5d4280b40ba18aecb59d04bc0..2bb44f8e47bd851695d0a844c90ebd97d3e74a61 100644 --- a/src/plugins/debugger/idebuggerengine.h +++ b/src/plugins/debugger/idebuggerengine.h @@ -81,8 +81,6 @@ public: virtual void loadAllSymbols() = 0; virtual void reloadRegisters() = 0; - virtual void setDebugDumpers(bool on) = 0; - virtual void recheckCustomDumperAvailability() = 0; virtual void reloadSourceFiles() = 0; }; diff --git a/src/plugins/debugger/scriptengine.h b/src/plugins/debugger/scriptengine.h index f18750818cbc253ab49fa51a687159cf152361cd..e42e8d63a9325b0a6de29a27efd8eeedda8af2f7 100644 --- a/src/plugins/debugger/scriptengine.h +++ b/src/plugins/debugger/scriptengine.h @@ -97,9 +97,6 @@ private: void loadSessionData() {} void saveSessionData() {} - void setDebugDumpers(bool) {} - void recheckCustomDumperAvailability() {} - void assignValueInDebugger(const QString &expr, const QString &value); void executeDebuggerCommand(const QString & command); diff --git a/src/plugins/debugger/watchwindow.cpp b/src/plugins/debugger/watchwindow.cpp index 824c032d71d036629392e14d7fe5ecb16389e972..4f8c4fed5f73b4529df5103629527516173ccd47 100644 --- a/src/plugins/debugger/watchwindow.cpp +++ b/src/plugins/debugger/watchwindow.cpp @@ -106,9 +106,9 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev) act2->setChecked(m_alwaysResizeColumnsToContents); QAction *act3 = 0; QAction *act4 = 0; - QAction *act5 = new QAction("Debugger properties...", &menu); - QAction *act6 = new QAction("Re-check availability of custom dumpers", &menu); - QAction *act7 = action(UseDumpers); + QAction *act5 = action(RecheckDumpers); + QAction *act6 = action(UseDumpers); + QAction *act7 = action(SettingsDialog); menu.addAction(act1); menu.addAction(act2); @@ -134,9 +134,10 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev) // FIXME: menu.addAction(act4); } menu.addSeparator(); + menu.addAction(act5); menu.addAction(act6); + menu.addSeparator(); menu.addAction(act7); - menu.addAction(act5); QAction *act = menu.exec(ev->globalPos()); @@ -153,10 +154,8 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev) emit requestRemoveWatchExpression(exp); else if (act == act4) model()->setData(mi0, !visual, VisualRole); - else if (act == act5) - emit settingsDialogRequested(); - else if (act == act6) - emit requestRecheckCustomDumperAvailability(); + else + act->trigger(); } void WatchWindow::resizeColumnsToContents() diff --git a/src/plugins/debugger/watchwindow.h b/src/plugins/debugger/watchwindow.h index 27a622494ef4d7d10e8ec654d56f51ff1020e47d..db1718f0348d484180bf1fcc28cfb2e9867594c0 100644 --- a/src/plugins/debugger/watchwindow.h +++ b/src/plugins/debugger/watchwindow.h @@ -63,8 +63,6 @@ signals: void requestAssignValue(const QString &exp, const QString &value); void requestExpandChildren(const QModelIndex &idx); void requestCollapseChildren(const QModelIndex &idx); - void requestRecheckCustomDumperAvailability(); - void settingsDialogRequested(); private slots: void handleChangedItem(QWidget *);