diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp index 7b0e6c24273b37bf50216f8b1d113fa56396dec0..8180c7cfd106d0a41d3ce4dd5f2d8aa87c7358a8 100644 --- a/src/plugins/debugger/debuggermanager.cpp +++ b/src/plugins/debugger/debuggermanager.cpp @@ -888,7 +888,9 @@ void DebuggerManager::executeDebuggerCommand(const QString &command) void DebuggerManager::sessionLoaded() { - exitDebugger(); + cleanupViews(); + setStatus(DebuggerProcessNotReady); + setBusyCursor(false); loadSessionData(); } @@ -1092,6 +1094,28 @@ bool DebuggerManager::useFastStart() const return 0; // && m_settings.m_useFastStart; } +void DebuggerManager::setUseCustomDumpers(bool on) +{ + m_settings.m_useCustomDumpers = on; + engine()->setUseCustomDumpers(on); +} + +void DebuggerManager::setUseFastStart(bool on) +{ + m_settings.m_useFastStart = on; +} + +void DebuggerManager::setDebugDumpers(bool on) +{ + m_settings.m_debugDumpers = on; + engine()->setDebugDumpers(on); +} + +void DebuggerManager::setSkipKnownFrames(bool on) +{ + m_settings.m_skipKnownFrames = on; +} + void DebuggerManager::queryCurrentTextEditor(QString *fileName, int *lineNumber, QObject **object) { diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h index 5d5e7abd0da7f5e475fde605698004d4d4aa9cd0..493f2e8cb42685e57c1ccdd98d8c9498d0f6387f 100644 --- a/src/plugins/debugger/debuggermanager.h +++ b/src/plugins/debugger/debuggermanager.h @@ -167,8 +167,6 @@ private: virtual WatchHandler *watchHandler() = 0; virtual void showApplicationOutput(const QString &data) = 0; - //virtual QAction *useCustomDumpersAction() const = 0; - //virtual QAction *debugDumpersAction() const = 0; virtual bool skipKnownFrames() const = 0; virtual bool debugDumpers() const = 0; virtual bool useCustomDumpers() const = 0; @@ -283,6 +281,12 @@ public slots: void showStatusMessage(const QString &msg, int timeout = -1); // -1 forever + void setUseCustomDumpers(bool on); + void setUseToolTips(bool on); + void setDebugDumpers(bool on); + void setSkipKnownFrames(bool on); + void setUseFastStart(bool on); + private slots: void showDebuggerOutput(const QString &prefix, const QString &msg); void showDebuggerInput(const QString &prefix, const QString &msg); @@ -312,9 +316,7 @@ private: StackHandler *stackHandler() { return m_stackHandler; } ThreadsHandler *threadsHandler() { return m_threadsHandler; } WatchHandler *watchHandler() { return m_watchHandler; } - //QAction *useCustomDumpersAction() const { return m_useCustomDumpersAction; } - //QAction *useToolTipsAction() const { return m_useToolTipsAction; } - //QAction *debugDumpersAction() const { return m_debugDumpersAction; } + bool skipKnownFrames() const; bool debugDumpers() const; bool useCustomDumpers() const; diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 4f7e0b1a897d750d3270e60f598056aa8ffcc726..f8bb4a86b75e2c3a97fdee9752be967092b4106e 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -251,6 +251,7 @@ public: void finish() {} // automatically calls "apply" private: + friend class DebuggerPlugin; Ui::GdbOptionPage m_ui; DebuggerSettings m_settings; @@ -300,6 +301,10 @@ 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)), + m_plugin->m_manager, SLOT(setUseCustomDumpers(bool))); + return w; } diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp index 4b84c88cb7f239946978bbff2db487de492a2cd0..cff7be0df07cb7c431cddcb5af6502ed7207b59e 100644 --- a/src/plugins/debugger/gdbengine.cpp +++ b/src/plugins/debugger/gdbengine.cpp @@ -1760,14 +1760,6 @@ void GdbEngine::setDebugDumpers(bool on) } } -//QByteArray GdbEngine::dumperChannel() const -//{ -// return m_dumperServer->serverName().toLatin1(); -// //QByteArray ba; -// //ba.setNum(m_dumperServer->serverPort()); -// //return ba; -//} - ////////////////////////////////////////////////////////////////////// // @@ -2889,11 +2881,10 @@ static QString sizeofTypeExpression(const QString &type) return "sizeof(" + gdbQuoteTypes(type) + ")"; } -void GdbEngine::setCustomDumpersWanted(bool on) +void GdbEngine::setUseCustomDumpers(bool on) { Q_UNUSED(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 //m_expandedINames.clear(); updateLocals(); } diff --git a/src/plugins/debugger/gdbengine.h b/src/plugins/debugger/gdbengine.h index 60493a53e582233c19efbd7cd42e3b95f82cf17b..a603aee375dc5732cbd066b79fb06f97ef8f36b2 100644 --- a/src/plugins/debugger/gdbengine.h +++ b/src/plugins/debugger/gdbengine.h @@ -134,6 +134,9 @@ private: void loadSymbols(const QString &moduleName); void loadAllSymbols(); + void setDebugDumpers(bool on); + void setUseCustomDumpers(bool on); + // // Own stuff // @@ -167,9 +170,6 @@ private: void updateLocals(); private slots: - void setDebugDumpers(bool on); - void setCustomDumpersWanted(bool on); - void handleResponse(); void gdbProcError(QProcess::ProcessError error); diff --git a/src/plugins/debugger/idebuggerengine.h b/src/plugins/debugger/idebuggerengine.h index 50fbafda5593731781a1b273c5be506a3de38b2e..1558d140ee62ed6d4a467c15d24b0243a7e1d19e 100644 --- a/src/plugins/debugger/idebuggerengine.h +++ b/src/plugins/debugger/idebuggerengine.h @@ -86,6 +86,8 @@ public: virtual void loadAllSymbols() = 0; virtual void reloadRegisters() = 0; + virtual void setDebugDumpers(bool on) = 0; + virtual void setUseCustomDumpers(bool on) = 0; }; } // namespace Internal diff --git a/src/plugins/debugger/scriptengine.h b/src/plugins/debugger/scriptengine.h index 0f7cc47ac1feafc66ee24a924064de345aa44c57..b7f37f2cc67b8a8372ec959e35c08dd219583cd3 100644 --- a/src/plugins/debugger/scriptengine.h +++ b/src/plugins/debugger/scriptengine.h @@ -101,6 +101,9 @@ private: void loadSessionData() {} void saveSessionData() {} + void setDebugDumpers(bool) {} + void setUseCustomDumpers(bool) {} + void assignValueInDebugger(const QString &expr, const QString &value); void executeDebuggerCommand(const QString & command);