diff --git a/dist/gdb/Makefile.osx b/dist/gdb/Makefile.osx index 9b0587fe9a7..a41fe89161b 100644 --- a/dist/gdb/Makefile.osx +++ b/dist/gdb/Makefile.osx @@ -52,7 +52,7 @@ ${staging}/lib/libexpat.a: ${source}/expat-${expatversion}.tar.gz | makestagingd cd ${staging} && \ echo "Extracting expat..." && \ tar xf ${source}/expat-${expatversion}.tar.gz && cd expat-${expatversion} && \ - ./configure --disable-shared -prefix=/ && ${MAKE} && ${MAKE} install + ./configure --disable-shared -prefix=${staging} && ${MAKE} && ${MAKE} install ${staging}/lib/libpython${pyversion}.a: ${source}/Python-${pyversion}.tgz | makestagingdir unset PYTHONHOME && \ diff --git a/share/qtcreator/translations/qtcreator_ru.ts b/share/qtcreator/translations/qtcreator_ru.ts index 28daa79f7c8..79a4b9771e4 100644 --- a/share/qtcreator/translations/qtcreator_ru.ts +++ b/share/qtcreator/translations/qtcreator_ru.ts @@ -17518,11 +17518,11 @@ to project '%2'. ProjectExplorer::Internal::TargetSelector Run - Запустить + Запуск Build - Собрать + Сборка diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 5f454f5c8fb..ff603fe23b5 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -561,6 +561,7 @@ bool CdbEngine::setToolTipExpression(const QPoint &mousePos, } DebuggerToolTipWidget *tw = new DebuggerToolTipWidget; tw->setContext(context); + tw->setDebuggerModel(LocalsWatch); tw->setExpression(exp); tw->acquireEngine(this); DebuggerToolTipManager::instance()->showToolTip(mousePos, editor, tw); diff --git a/src/plugins/debugger/debuggertooltipmanager.cpp b/src/plugins/debugger/debuggertooltipmanager.cpp index ce88fe08a05..63a819f84bf 100644 --- a/src/plugins/debugger/debuggertooltipmanager.cpp +++ b/src/plugins/debugger/debuggertooltipmanager.cpp @@ -38,7 +38,6 @@ #include "watchutils.h" #include "stackhandler.h" #include "debuggercore.h" -#include "debuggerinternalconstants.h" #include #include @@ -579,7 +578,7 @@ QDebug operator<<(QDebug d, const DebuggerToolTipContext &c) It consists of a title toolbar and a vertical main layout. The widget has the ability to save/restore tree model contents to XML. With the engine acquired, it sets a filter model (by expression) on - the engine's Locals model. + one of the engine's models (debuggerModel). On release, it serializes and restores the data to a QStandardItemModel (defaultModel) and displays that. @@ -618,6 +617,7 @@ DebuggerToolTipWidget::DebuggerToolTipWidget(QWidget *parent) : m_titleLabel(new DraggableLabel), m_engineAcquired(false), m_creationDate(QDate::currentDate()), + m_debuggerModel(TooltipsWatch), m_treeView(new DebuggerToolTipTreeView), m_defaultModel(new QStandardItemModel(this)) { @@ -651,8 +651,8 @@ DebuggerToolTipWidget::DebuggerToolTipWidget(QWidget *parent) : } bool DebuggerToolTipWidget::matches(const QString &fileName, - const QString &engineType, - const QString &function) const + const QString &engineType, + const QString &function) const { if (fileName.isEmpty() || m_context.fileName != fileName) return false; @@ -994,7 +994,18 @@ void DebuggerToolTipTreeView::computeSize() void DebuggerToolTipWidget::doAcquireEngine(Debugger::DebuggerEngine *engine) { // Create a filter model on the debugger's model and switch to it. - QAbstractItemModel *model = engine->localsModel(); + QAbstractItemModel *model = 0; + switch (m_debuggerModel) { + case LocalsWatch: + model = engine->localsModel(); + break; + case WatchersWatch: + model = engine->watchersModel(); + break; + case TooltipsWatch: + model = engine->toolTipsModel(); + break; + } QTC_ASSERT(model, return); DebuggerToolTipExpressionFilterModel *filterModel = new DebuggerToolTipExpressionFilterModel(model, m_expression); @@ -1068,6 +1079,7 @@ void DebuggerToolTipWidget::doSaveSessionData(QXmlStreamWriter &w) const { w.writeStartElement(QLatin1String(treeElementC)); QXmlStreamAttributes attributes; + attributes.append(QLatin1String(treeModelAttributeC), QString::number(m_debuggerModel)); attributes.append(QLatin1String(treeExpressionAttributeC), m_expression); w.writeAttributes(attributes); if (QAbstractItemModel *model = m_treeView->model()) { @@ -1083,9 +1095,10 @@ void DebuggerToolTipWidget::doLoadSessionData(QXmlStreamReader &r) return; // Restore data to default model and show that. const QXmlStreamAttributes attributes = r.attributes(); + m_debuggerModel = attributes.value(QLatin1String(treeModelAttributeC)).toString().toInt(); m_expression = attributes.value(QLatin1String(treeExpressionAttributeC)).toString(); if (debugToolTips) - qDebug() << "DebuggerTreeViewToolTipWidget::doLoadSessionData() " << m_expression; + qDebug() << "DebuggerTreeViewToolTipWidget::doLoadSessionData() " << m_debuggerModel << m_expression; setObjectName(QLatin1String("DebuggerTreeViewToolTipWidget: ") + m_expression); restoreTreeModel(r, m_defaultModel); r.readNext(); // Skip diff --git a/src/plugins/debugger/debuggertooltipmanager.h b/src/plugins/debugger/debuggertooltipmanager.h index 8c995c622f4..b64209f4700 100644 --- a/src/plugins/debugger/debuggertooltipmanager.h +++ b/src/plugins/debugger/debuggertooltipmanager.h @@ -54,6 +54,7 @@ QT_END_NAMESPACE namespace Core { class IEditor; +class IMode; } namespace TextEditor { @@ -64,7 +65,6 @@ namespace Debugger { class DebuggerEngine; namespace Internal { - class DraggableLabel; class DebuggerToolTipEditor; @@ -103,9 +103,8 @@ public: QString function() const { return m_context.function; } int position() const { return m_context.position; } // Check for a match at position. - bool matches(const QString &fileName, - const QString &engineType, + const QString &engineType = QString(), const QString &function= QString()) const; const DebuggerToolTipContext &context() const { return m_context; } @@ -122,6 +121,8 @@ public: static DebuggerToolTipWidget *loadSessionData(QXmlStreamReader &r); + int debuggerModel() const { return m_debuggerModel; } + void setDebuggerModel(int m) { m_debuggerModel = m; } QString expression() const { return m_expression; } void setExpression(const QString &e) { m_expression = e; } @@ -165,6 +166,7 @@ private: QAbstractItemModel *swapModel(QAbstractItemModel *newModel); static void restoreTreeModel(QXmlStreamReader &r, QStandardItemModel *m); + int m_debuggerModel; QString m_expression; DebuggerToolTipTreeView *m_treeView; diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index d91f8995145..eedce6674e7 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -3932,6 +3932,7 @@ bool GdbEngine::showToolTip() return true; } DebuggerToolTipWidget *tw = new DebuggerToolTipWidget; + tw->setDebuggerModel(TooltipsWatch); tw->setExpression(expression); tw->setContext(*m_toolTipContext); tw->acquireEngine(this); diff --git a/src/plugins/find/treeviewfind.cpp b/src/plugins/find/treeviewfind.cpp index 6bea34e08df..107ff25ecf8 100644 --- a/src/plugins/find/treeviewfind.cpp +++ b/src/plugins/find/treeviewfind.cpp @@ -40,7 +40,7 @@ namespace Find { class ItemModelFindPrivate { public: - explicit ItemModelFindPrivate(QTreeView *view, int role) + explicit ItemModelFindPrivate(QTreeView *view, int role, int column) : m_view(view) , m_incrementalWrappedState(false), m_role(role) diff --git a/tests/system/shared/debugger.py b/tests/system/shared/debugger.py index c1fbe76ec39..db58543dea7 100644 --- a/tests/system/shared/debugger.py +++ b/tests/system/shared/debugger.py @@ -140,7 +140,7 @@ def doSimpleDebugging(currentConfigName, pressContinueCount=1, expectedBPOrder=[ def __startDebugger__(config): clickButton(waitForObject(":*Qt Creator.Start Debugging_Core::Internal::FancyToolButton")) handleDebuggerWarnings(config) - hasNotTimedOut = waitFor("object.exists(':Debugger Toolbar.Continue_QToolButton')", 20000) + hasNotTimedOut = waitFor("object.exists(':Debugger Toolbar.Continue_QToolButton')", 60000) try: mBox = findObject(":Failed to start application_QMessageBox") mBoxText = mBox.text diff --git a/tests/system/suite_qtquick/tst_qml_editor/test.py b/tests/system/suite_qtquick/tst_qml_editor/test.py index 38396f7e929..9e4d1d7fb59 100644 --- a/tests/system/suite_qtquick/tst_qml_editor/test.py +++ b/tests/system/suite_qtquick/tst_qml_editor/test.py @@ -16,7 +16,7 @@ def main(): workingDir = tempDir() templateDir = prepareTemplate(sourceExample) prepareForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)") - installLazySignalHandler("{type='Core::FutureProgress' unnamed='1''}", "finished()", "__handleFutureProgress__") + installLazySignalHandler("{type='Core::FutureProgress' unnamed='1'}", "finished()", "__handleFutureProgress__") createNewQtQuickApplication(workingDir, "untitled", templateDir + "/qml/focus.qml") # wait for parsing to complete waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)") diff --git a/tests/system/suite_qtquick/tst_qml_indent/test.py b/tests/system/suite_qtquick/tst_qml_indent/test.py index 6c7da9eccc2..14faece9296 100644 --- a/tests/system/suite_qtquick/tst_qml_indent/test.py +++ b/tests/system/suite_qtquick/tst_qml_indent/test.py @@ -53,7 +53,8 @@ def handleTextChanged(object): def testReIndent(): global originalText,textHasChanged - installLazySignalHandler("QmlJSEditor::QmlJSTextEditorWidget", "textChanged()", "handleTextChanged") + installLazySignalHandler("{type='QmlJSEditor::QmlJSTextEditorWidget' unnamed='1' visible='1'}", + "textChanged()", "handleTextChanged") textHasChanged = False editor = waitForObject("{type='QmlJSEditor::QmlJSTextEditorWidget' unnamed='1' visible='1' " "window=':Qt Creator_Core::Internal::MainWindow'}")