From 19f6d8582eaf83c2c6bbf7dae3933bb5c682c714 Mon Sep 17 00:00:00 2001 From: Sergey Belyashov Date: Fri, 4 May 2012 13:55:42 +0400 Subject: [PATCH 1/8] Russian translation update Change-Id: Ie1ab03c8b433ab10066d472baa2fe92ef62449d8 Reviewed-by: Oswald Buddenhagen --- share/qtcreator/translations/qtcreator_ru.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 - Собрать + Сборка From 751386b37216af4ccacd8f7b9427d6348758c972 Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Tue, 8 May 2012 17:03:42 +0200 Subject: [PATCH 2/8] Squish: Increased timeout when waiting for Continue_QToolButton Change-Id: I4f1701a49c2a4174df1cf22e4375f2447b11e92c Reviewed-by: Christian Stenger --- tests/system/shared/debugger.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/system/shared/debugger.py b/tests/system/shared/debugger.py index 7ee0db886a1..cfe40bfaeb5 100644 --- a/tests/system/shared/debugger.py +++ b/tests/system/shared/debugger.py @@ -142,7 +142,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 From 7a99e0526dacac5cdaf61f9d2957af55a228e8a5 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Wed, 2 May 2012 15:24:56 +0200 Subject: [PATCH 3/8] Fixing wrong prefix-dir in gdb makefile for osx Change-Id: I0bbc9912c4dc88286252a2fd2b574fde81e8a4ad Reviewed-by: Fawzi Mohamed --- dist/gdb/Makefile.osx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 && \ From 31874eaa71f193c3f5b0c241eb5d05f93e76c278 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 9 May 2012 10:05:28 +0200 Subject: [PATCH 4/8] Version bump Change-Id: I90f4aa43f1e6131607b6a0fea3150f5d208df458 --- qtcreator.pri | 2 +- qtcreator.qbp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/qtcreator.pri b/qtcreator.pri index 1a391b1467c..d8c8ce076e7 100644 --- a/qtcreator.pri +++ b/qtcreator.pri @@ -1,7 +1,7 @@ !isEmpty(QTCREATOR_PRI_INCLUDED):error("qtcreator.pri already included") QTCREATOR_PRI_INCLUDED = 1 -QTCREATOR_VERSION = 2.4.84 +QTCREATOR_VERSION = 2.5.0 defineReplace(cleanPath) { win32:1 ~= s|\\\\|/|g diff --git a/qtcreator.qbp b/qtcreator.qbp index 219659f5b09..2118b8c92d7 100644 --- a/qtcreator.qbp +++ b/qtcreator.qbp @@ -3,8 +3,8 @@ import qbs.fileinfo 1.0 as FileInfo Project { property string ide_version_major: '2' - property string ide_version_minor: '4' - property string ide_version_release: '84' + property string ide_version_minor: '5' + property string ide_version_release: '0' property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release property var additionalCppDefines: [ 'IDE_LIBRARY_BASENAME="lib"' ] moduleSearchPaths: "qbs" From 9ca4df02e7a36b284599cb2095ee2b357e621ca9 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 9 May 2012 13:57:03 +0200 Subject: [PATCH 5/8] Fix MSVC forward declaration warning (struct vs. class). Coding style says class should be used everywhere. Change-Id: Ia1c75d6b3222c6672e1ffac22395affd2f2add1c Reviewed-by: Eike Ziller --- src/plugins/find/treeviewfind.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/find/treeviewfind.cpp b/src/plugins/find/treeviewfind.cpp index 134f0d6c3e7..298aed96b15 100644 --- a/src/plugins/find/treeviewfind.cpp +++ b/src/plugins/find/treeviewfind.cpp @@ -37,8 +37,9 @@ namespace Find { -struct ItemModelFindPrivate +class ItemModelFindPrivate { +public: explicit ItemModelFindPrivate(QTreeView *view, int role, int column) : m_view(view) , m_incrementalWrappedState(false), From dd66fe6c4820be2312de14e1884213d61f9e199b Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 9 May 2012 13:45:55 +0200 Subject: [PATCH 6/8] Revert "debugger: improve expansion behaviour of pinned tooltips." This reverts commit 89cee4313cca5f16e785d6e1736315ca7374689f, as part of the patch breaks QTCREATORBUG-7277. The GDB case should not filter the Locals model, but the Tooltip model to display tooltips. CDB has no choice, as the tooltips are expressions, i.e. cannot be handled, so using the Locals as fall back there is ok. Change-Id: I196bc683e06f68301bd86aa6fcce14ad2e8c5774 Reviewed-by: Eike Ziller Reviewed-by: Friedemann Kleint --- src/plugins/debugger/cdb/cdbengine.cpp | 1 + .../debugger/debuggertooltipmanager.cpp | 27 ++++++++++++++----- src/plugins/debugger/debuggertooltipmanager.h | 8 +++--- src/plugins/debugger/gdb/gdbengine.cpp | 1 + 4 files changed, 27 insertions(+), 10 deletions(-) diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index eac60689529..75631349262 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..a07389ddec0 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); @@ -1006,7 +1017,7 @@ QAbstractItemModel *DebuggerToolTipWidget::swapModel(QAbstractItemModel *newMode QAbstractItemModel *oldModel = m_treeView->swapModel(newModel); // When looking at some 'this.m_foo.x', expand all items if (newModel) { - if (const int level = m_expression.count(QLatin1Char('.')) + 1) { + if (const int level = m_expression.count(QLatin1Char('.'))) { QModelIndex index = newModel->index(0, 0); for (int i = 0; i < level && index.isValid(); i++, index = index.child(0, 0)) m_treeView->setExpanded(index, true); @@ -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 460de991f49..ba6276e7934 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -3786,6 +3786,7 @@ bool GdbEngine::showToolTip() return true; } DebuggerToolTipWidget *tw = new DebuggerToolTipWidget; + tw->setDebuggerModel(TooltipsWatch); tw->setExpression(expression); tw->setContext(*m_toolTipContext); tw->acquireEngine(this); From eadad258b97c1b41a451f6592941faccb220852f Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 9 May 2012 13:50:38 +0200 Subject: [PATCH 7/8] debugger: fix toplevel expansion behaviour of pinned tooltips That is the necessary part of the previously reverted patch. Change-Id: Ie25171cd013712b7141de01d4c23deb20fe08578 Reviewed-by: Friedemann Kleint Reviewed-by: Eike Ziller --- src/plugins/debugger/debuggertooltipmanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/debugger/debuggertooltipmanager.cpp b/src/plugins/debugger/debuggertooltipmanager.cpp index a07389ddec0..63a819f84bf 100644 --- a/src/plugins/debugger/debuggertooltipmanager.cpp +++ b/src/plugins/debugger/debuggertooltipmanager.cpp @@ -1017,7 +1017,7 @@ QAbstractItemModel *DebuggerToolTipWidget::swapModel(QAbstractItemModel *newMode QAbstractItemModel *oldModel = m_treeView->swapModel(newModel); // When looking at some 'this.m_foo.x', expand all items if (newModel) { - if (const int level = m_expression.count(QLatin1Char('.'))) { + if (const int level = m_expression.count(QLatin1Char('.')) + 1) { QModelIndex index = newModel->index(0, 0); for (int i = 0; i < level && index.isValid(); i++, index = index.child(0, 0)) m_treeView->setExpanded(index, true); From 5d92a73c826edb7f8dde9e0141c2fd1ce1cbdacf Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 8 May 2012 17:47:22 +0200 Subject: [PATCH 8/8] Squish: Fix syntax errors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I61572a8369721ba4943f11f0edee236bd816e771 Reviewed-by: Robert Löhning --- tests/system/suite_qtquick/tst_qml_editor/test.py | 2 +- tests/system/suite_qtquick/tst_qml_indent/test.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) 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'}")