diff options
author | hjk <qtc-committer@nokia.com> | 2010-11-08 16:17:59 +0100 |
---|---|---|
committer | hjk <qtc-committer@nokia.com> | 2010-11-08 17:44:01 +0100 |
commit | f02f08167fe3e5c20fa188001b81dd04f2e5c7a5 (patch) | |
tree | cfb69a8e57265dfbaf4e68e58a7fd44217bed54d /src/plugins | |
parent | 71007d2ccb135aad994102a72d74ee40c69de050 (diff) | |
download | qt-creator-f02f08167fe3e5c20fa188001b81dd04f2e5c7a5.tar.gz |
debugger: some cleanup after the model/view reorganization
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/debugger/debuggerengine.cpp | 92 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerengine.h | 5 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerplugin.cpp | 73 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerplugin.h | 1 |
4 files changed, 72 insertions, 99 deletions
diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp index a4ff424c1a..bd76dd128c 100644 --- a/src/plugins/debugger/debuggerengine.cpp +++ b/src/plugins/debugger/debuggerengine.cpp @@ -35,7 +35,6 @@ #include "debuggerplugin.h" #include "debuggerstringutils.h" #include "debuggertooltip.h" -#include "logwindow.h" #include "breakhandler.h" #include "moduleshandler.h" @@ -45,8 +44,6 @@ #include "stackhandler.h" #include "threadshandler.h" #include "watchhandler.h" -#include "watchutils.h" -#include "breakwindow.h" #include <coreplugin/icore.h> #include <coreplugin/ifile.h> @@ -55,8 +52,6 @@ #include <projectexplorer/toolchaintype.h> -#include <qt4projectmanager/qt4projectmanagerconstants.h> - #include <texteditor/itexteditor.h> #include <utils/environment.h> @@ -67,17 +62,9 @@ #include <QtCore/QTimer> #include <QtCore/QFutureInterface> -#include <QtGui/QAbstractItemView> #include <QtGui/QStandardItemModel> #include <QtGui/QAction> -#include <QtGui/QMenu> -#include <QtGui/QMessageBox> -#include <QtGui/QPlainTextEdit> -#include <QtGui/QPushButton> -#include <QtGui/QTextBlock> -#include <QtGui/QTextCursor> #include <QtGui/QTreeWidget> -#include <QtGui/QMainWindow> using namespace Core; using namespace Debugger; @@ -550,57 +537,6 @@ void DebuggerEngine::gotoLocation(const StackFrame &frame, bool setMarker) } } - -void DebuggerEngine::executeRunToLine() -{ - QString fileName; - int lineNumber; - if (currentTextEditorPosition(&fileName, &lineNumber)) { - resetLocation(); - executeRunToLine(fileName, lineNumber); - } -} - -void DebuggerEngine::executeRunToFunction() -{ - ITextEditor *textEditor = currentTextEditor(); - QTC_ASSERT(textEditor, return); - QPlainTextEdit *ed = qobject_cast<QPlainTextEdit*>(textEditor->widget()); - if (!ed) - return; - QTextCursor cursor = ed->textCursor(); - QString functionName = cursor.selectedText(); - if (functionName.isEmpty()) { - const QTextBlock block = cursor.block(); - const QString line = block.text(); - foreach (const QString &str, line.trimmed().split('(')) { - QString a; - for (int i = str.size(); --i >= 0; ) { - if (!str.at(i).isLetterOrNumber()) - break; - a = str.at(i) + a; - } - if (!a.isEmpty()) { - functionName = a; - break; - } - } - } - - if (functionName.isEmpty()) - return; - resetLocation(); - executeRunToFunction(functionName); -} - -void DebuggerEngine::executeJumpToLine() -{ - QString fileName; - int lineNumber; - if (currentTextEditorPosition(&fileName, &lineNumber)) - executeJumpToLine(fileName, lineNumber); -} - // Called from RunControl. void DebuggerEngine::handleStartFailed() { @@ -663,33 +599,7 @@ QStringList DebuggerEngine::qtDumperLibraryLocations() const void DebuggerEngine::showQtDumperLibraryWarning(const QString &details) { - QMessageBox dialog(plugin()->mainWindow()); - QPushButton *qtPref = dialog.addButton(tr("Open Qt4 Options"), - QMessageBox::ActionRole); - QPushButton *helperOff = dialog.addButton(tr("Turn off Helper Usage"), - QMessageBox::ActionRole); - QPushButton *justContinue = dialog.addButton(tr("Continue Anyway"), - QMessageBox::AcceptRole); - dialog.setDefaultButton(justContinue); - dialog.setWindowTitle(tr("Debugging Helper Missing")); - dialog.setText(tr("The debugger could not load the debugging helper library.")); - dialog.setInformativeText(tr( - "The debugging helper is used to nicely format the values of some Qt " - "and Standard Library data types. " - "It must be compiled for each used Qt version separately. " - "On the Qt4 options page, select a Qt installation " - "and click Rebuild.")); - if (!details.isEmpty()) - dialog.setDetailedText(details); - dialog.exec(); - if (dialog.clickedButton() == qtPref) { - Core::ICore::instance()->showOptionsDialog( - _(Qt4ProjectManager::Constants::QT_SETTINGS_CATEGORY), - _(Qt4ProjectManager::Constants::QTVERSION_SETTINGS_PAGE_ID)); - } else if (dialog.clickedButton() == helperOff) { - theDebuggerAction(UseDebuggingHelpers) - ->setValue(qVariantFromValue(false), false); - } + plugin()->showQtDumperLibraryWarning(details); } QString DebuggerEngine::qtDumperLibraryName() const diff --git a/src/plugins/debugger/debuggerengine.h b/src/plugins/debugger/debuggerengine.h index badb9fea31..c5d2fcbab5 100644 --- a/src/plugins/debugger/debuggerengine.h +++ b/src/plugins/debugger/debuggerengine.h @@ -339,11 +339,6 @@ protected: DebuggerRunControl *runControl() const; private: - void executeRunToLine(); - void executeRunToFunction(); - void executeJumpToLine(); - void addToWatchWindow(); - // wrapper engine needs access to state of its subengines friend class QmlCppEngine; diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 618b00654d..024a07eedb 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -91,6 +91,8 @@ #include <projectexplorer/target.h> #include <projectexplorer/toolchaintype.h> +#include <qt4projectmanager/qt4projectmanagerconstants.h> + #include <texteditor/basetexteditor.h> #include <texteditor/basetextmark.h> #include <texteditor/fontsettings.h> @@ -109,6 +111,9 @@ #include <QtGui/QFileDialog> #include <QtGui/QMenu> #include <QtGui/QMessageBox> +#include <QtGui/QPushButton> +#include <QtGui/QTextBlock> +#include <QtGui/QTextCursor> #include <QtGui/QToolButton> #include <climits> @@ -1044,20 +1049,51 @@ public slots: { //removeTooltip(); resetLocation(); - currentEngine()->executeJumpToLine(); // FIXME: move code from engine here. + QString fileName; + int lineNumber; + if (currentTextEditorPosition(&fileName, &lineNumber)) + currentEngine()->executeJumpToLine(fileName, lineNumber); } void handleExecRunToLine() { //removeTooltip(); resetLocation(); - currentEngine()->executeRunToLine(); // FIXME: move code from engine here. + QString fileName; + int lineNumber; + if (currentTextEditorPosition(&fileName, &lineNumber)) + currentEngine()->executeRunToLine(fileName, lineNumber); } void handleExecRunToFunction() { resetLocation(); - currentEngine()->executeRunToFunction(); // FIXME: move code from engine here. + ITextEditor *textEditor = currentTextEditor(); + QTC_ASSERT(textEditor, return); + QPlainTextEdit *ed = qobject_cast<QPlainTextEdit*>(textEditor->widget()); + if (!ed) + return; + QTextCursor cursor = ed->textCursor(); + QString functionName = cursor.selectedText(); + if (functionName.isEmpty()) { + const QTextBlock block = cursor.block(); + const QString line = block.text(); + foreach (const QString &str, line.trimmed().split('(')) { + QString a; + for (int i = str.size(); --i >= 0; ) { + if (!str.at(i).isLetterOrNumber()) + break; + a = str.at(i) + a; + } + if (!a.isEmpty()) { + functionName = a; + break; + } + } + } + + if (!functionName.isEmpty()) + currentEngine()->executeRunToFunction(functionName); } void slotEditBreakpoint() @@ -3129,6 +3165,37 @@ void DebuggerPlugin::remoteCommand(const QStringList &options, const QStringList qWarning("%s", qPrintable(errorMessage)); } +void DebuggerPlugin::showQtDumperLibraryWarning(const QString &details) +{ + QMessageBox dialog(mainWindow()); + QPushButton *qtPref = dialog.addButton(tr("Open Qt4 Options"), + QMessageBox::ActionRole); + QPushButton *helperOff = dialog.addButton(tr("Turn off Helper Usage"), + QMessageBox::ActionRole); + QPushButton *justContinue = dialog.addButton(tr("Continue Anyway"), + QMessageBox::AcceptRole); + dialog.setDefaultButton(justContinue); + dialog.setWindowTitle(tr("Debugging Helper Missing")); + dialog.setText(tr("The debugger could not load the debugging helper library.")); + dialog.setInformativeText(tr( + "The debugging helper is used to nicely format the values of some Qt " + "and Standard Library data types. " + "It must be compiled for each used Qt version separately. " + "On the Qt4 options page, select a Qt installation " + "and click Rebuild.")); + if (!details.isEmpty()) + dialog.setDetailedText(details); + dialog.exec(); + if (dialog.clickedButton() == qtPref) { + Core::ICore::instance()->showOptionsDialog( + _(Qt4ProjectManager::Constants::QT_SETTINGS_CATEGORY), + _(Qt4ProjectManager::Constants::QTVERSION_SETTINGS_PAGE_ID)); + } else if (dialog.clickedButton() == helperOff) { + theDebuggerAction(UseDebuggingHelpers) + ->setValue(qVariantFromValue(false), false); + } +} + ////////////////////////////////////////////////////////////////////// // // Testing diff --git a/src/plugins/debugger/debuggerplugin.h b/src/plugins/debugger/debuggerplugin.h index d4ef387815..200259bbf3 100644 --- a/src/plugins/debugger/debuggerplugin.h +++ b/src/plugins/debugger/debuggerplugin.h @@ -82,6 +82,7 @@ public: void setConfigValue(const QString &name, const QVariant &value); void updateState(DebuggerEngine *engine); virtual void remoteCommand(const QStringList &options, const QStringList &arguments); + void showQtDumperLibraryWarning(const QString &details); QIcon locationMarkIcon() const; void activateDebugMode(); |