From da1492cf28a3a3f3d4ed4828e60ac96fa9cd8886 Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Wed, 18 Mar 2009 09:03:47 +0100 Subject: [PATCH] debugger: start action handling refactoring --- src/plugins/debugger/breakwindow.cpp | 5 +++-- src/plugins/debugger/breakwindow.h | 1 - src/plugins/debugger/cdb/cdbdebugengine.cpp | 9 -------- src/plugins/debugger/cdb/cdbdebugengine.h | 4 ---- src/plugins/debugger/debuggermanager.cpp | 24 ++------------------- src/plugins/debugger/debuggermanager.h | 3 +-- src/plugins/debugger/debuggerplugin.cpp | 8 +++---- src/plugins/debugger/gdbengine.cpp | 4 ++++ src/plugins/debugger/gdbengine.h | 2 +- src/plugins/debugger/gdboptionpage.ui | 2 +- src/plugins/debugger/idebuggerengine.h | 2 -- src/plugins/debugger/scriptengine.h | 3 --- src/plugins/debugger/watchwindow.cpp | 15 ++++++------- src/plugins/debugger/watchwindow.h | 2 -- 14 files changed, 23 insertions(+), 61 deletions(-) diff --git a/src/plugins/debugger/breakwindow.cpp b/src/plugins/debugger/breakwindow.cpp index 91b89f59a7b..1d92e59d39e 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 f6bd9111b9b..8b8b9cdd8ba 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 f4befbc1329..efaa12d2b98 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 8e67a66a791..59ebeed571e 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 2c83c78f373..8dcef6b53a9 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 919c977ce13..419f3cb64de 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 655fd9cd081..1e4e1a70df5 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 b6a545c15b1..aafc019fd56 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 5fc72ccc670..d0186493972 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 46ab3dc8212..53055599475 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 de7bece9ca1..2bb44f8e47b 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 f18750818cb..e42e8d63a93 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 824c032d71d..4f8c4fed5f7 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 27a622494ef..db1718f0348 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 *); -- GitLab