From 367ea0c9675ddfe6536aa2026f00d8cbcad835b3 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Mon, 11 Mar 2013 16:49:06 +0100 Subject: [PATCH 01/35] QtSupport: Fix check for installed qt for framework builds of qt 4.8 Task-number: QTCREATORBUG-8839 Change-Id: If41eecca6e20c2766a63b576e2329b4c9fd5e5e7 Reviewed-by: Eike Ziller --- src/plugins/qtsupport/baseqtversion.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 343afd5d294..bf0101cdcaa 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -952,10 +952,14 @@ void BaseQtVersion::updateVersionInfo() const if (!fi.exists()) m_installed = false; } - if (!qtHeaderData.isNull()) { - const QFileInfo fi(qtHeaderData); - if (!fi.exists()) - m_installed = false; + // Framework builds for Qt 4.8 don't use QT_INSTALL_HEADERS + // so we don't check on mac + if (!HostOsInfo::isMacHost()) { + if (!qtHeaderData.isNull()) { + const QFileInfo fi(qtHeaderData); + if (!fi.exists()) + m_installed = false; + } } const QString qtInstallDocs = qmakeProperty("QT_INSTALL_DOCS"); if (!qtInstallDocs.isNull()) { From 530b2f79eb7c4203df9c122b44744646099c8879 Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Mon, 11 Mar 2013 19:02:18 +0100 Subject: [PATCH 02/35] Squish: Reduced timeouts in tst_memberoperator Change-Id: I0945c1752500a32b45320497e12d96fa7d8f623f Reviewed-by: Christian Stenger --- tests/system/suite_editors/tst_memberoperator/test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/system/suite_editors/tst_memberoperator/test.py b/tests/system/suite_editors/tst_memberoperator/test.py index ea69df7761a..7e8420e408c 100644 --- a/tests/system/suite_editors/tst_memberoperator/test.py +++ b/tests/system/suite_editors/tst_memberoperator/test.py @@ -17,10 +17,10 @@ def main(): typeLines(cppwindow, ("", testData.field(record, "declaration"))) type(cppwindow, testData.field(record, "usage")) waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", - "sourceFilesRefreshed(QStringList)") + "sourceFilesRefreshed(QStringList)", 1000) type(cppwindow, testData.field(record, "operator")) waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", - "sourceFilesRefreshed(QStringList)") + "sourceFilesRefreshed(QStringList)", 1000) test.compare(str(lineUnderCursor(cppwindow)).strip(), testData.field(record, "expected")) invokeMenuItem("File", 'Revert "main.cpp" to Saved') clickButton(waitForObject(":Revert to Saved.Proceed_QPushButton")) From 4fba48e50f6da4713dc046ea6f372e28cfbc76fd Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Tue, 12 Mar 2013 12:59:18 +0100 Subject: [PATCH 03/35] Kits: Fix saving of kit data. Make sure to not save in the KitManager destructor: Depending on how creator is shut down (e.g. auto-shutdown after running plugin tests) the other Managers may already be gone and then the Kit data will be damaged. Change-Id: Ieca06b8ac979024a90cb3b7d5e41f4506b4480bd Reviewed-by: Daniel Teske --- src/plugins/projectexplorer/kitmanager.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index a4247be4c98..af7767883cb 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -225,8 +225,6 @@ void KitManager::restoreKits() KitManager::~KitManager() { - saveKits(); // Make sure we save the current state on exit! - foreach (Kit *k, d->m_kitList) delete k; d->m_kitList.clear(); From e0b2d9e233fe8936953cb3e886c5391b024ffe1b Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Fri, 8 Mar 2013 18:35:28 +0100 Subject: [PATCH 04/35] Qt4Project: Fix building of subprojects for debug_and_release Use the right makefile. Task-number: QTCREATORBUG-8793 Change-Id: Ibd836602b465342ccc489e48dc253160e2678b1f Reviewed-by: Tobias Hunger --- src/plugins/qt4projectmanager/makestep.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index 652101949e9..d0acb3347d3 100644 --- a/src/plugins/qt4projectmanager/makestep.cpp +++ b/src/plugins/qt4projectmanager/makestep.cpp @@ -196,7 +196,10 @@ bool MakeStep::init() QString makefile = subNode->makefile(); if (makefile.isEmpty()) makefile = QLatin1String("Makefile"); - if (subNode->isDebugAndRelease()) { + // Use Makefile.Debug and Makefile.Release + // for file builds, since the rules for that are + // only in those files. + if (subNode->isDebugAndRelease() && bc->fileNodeBuild()) { if (bc->buildType() == Qt4BuildConfiguration::Debug) makefile += QLatin1String(".Debug"); else From 29f8d15332bdda1bcae0f2dd462d077ee33c1efb Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Mon, 11 Mar 2013 22:02:29 +0200 Subject: [PATCH 05/35] VcsManager: Prevent parents caching when VCS not found Editing a file inside .git directory is intentionally not detected as managed by Git. This causes cache override for the real toplevel with a null version control Change-Id: I8a333c38fb160e3dba4f0ee4677b68c4c619ac6d Reviewed-by: Tobias Hunger --- src/plugins/coreplugin/vcsmanager.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/coreplugin/vcsmanager.cpp b/src/plugins/coreplugin/vcsmanager.cpp index 0dd926b46f0..4e6ad25159c 100644 --- a/src/plugins/coreplugin/vcsmanager.cpp +++ b/src/plugins/coreplugin/vcsmanager.cpp @@ -145,8 +145,12 @@ public: QString tmpDir = dir; const QChar slash = QLatin1Char('/'); - while (tmpDir.count() >= topLevel.count() && tmpDir.count() > 0) { + while (tmpDir.count() >= topLevel.count() && !tmpDir.isEmpty()) { m_cachedMatches.insert(tmpDir, newInfo); + // if no vc was found, this might mean we're inside a repo internal directory (.git) + // Cache only input directory, not parents + if (!vc) + break; const int slashPos = tmpDir.lastIndexOf(slash); if (slashPos >= 0) tmpDir.truncate(slashPos); From 2b11c75cadce4b44f2ba8916840da5632160a222 Mon Sep 17 00:00:00 2001 From: jkobus Date: Tue, 12 Mar 2013 14:51:08 +0100 Subject: [PATCH 06/35] Add a comment about the sources of inspiration for diff algorithm Change-Id: I34123d6d9398bcb3afaa5bf8d043c3fd296f5f4d Reviewed-by: hjk --- src/plugins/diffeditor/differ.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/plugins/diffeditor/differ.cpp b/src/plugins/diffeditor/differ.cpp index 2681059ffbe..30d351b2779 100644 --- a/src/plugins/diffeditor/differ.cpp +++ b/src/plugins/diffeditor/differ.cpp @@ -27,6 +27,14 @@ ** ****************************************************************************/ +/* +The main algorithm "diffMyers()" is based on "An O(ND) Difference Algorithm +and Its Variations" by Eugene W. Myers: http://www.xmailserver.org/diff2.pdf + +Preprocessing and postprocessing functions inspired by "Diff Strategies" +publication by Neil Fraser: http://neil.fraser.name/writing/diff/ +*/ + #include "differ.h" #include From ab675bb143e5048037c9a04334410bec3751df26 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 12 Mar 2013 15:06:08 +0100 Subject: [PATCH 07/35] QmlDesigner: fix memory usage of qml2puppet In Qt Quick 2 the parent property is writable. Therefore the InstanceSpy always collected the complete object tree waisting memory. Change-Id: I44f2d1ad90ef2bbea34a7cbd414f88cae37e0462 Reviewed-by: Marco Bubke --- .../qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp index 35c5c044d76..9acfd0033a3 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/nodeinstancesignalspy.cpp @@ -82,8 +82,9 @@ void NodeInstanceSignalSpy::registerObject(QObject *spiedObject, const QString & // search recursive in objects if (metaProperty.isReadable() - && metaProperty.isWritable() - && QQmlMetaType::isQObject(metaProperty.userType())) { + && metaProperty.isWritable() + && QQmlMetaType::isQObject(metaProperty.userType()) + && QLatin1String(metaProperty.name()) != QLatin1String("parent")) { QObject *propertyObject = QQmlMetaType::toQObject(metaProperty.read(spiedObject)); if (propertyObject) registerObject(propertyObject, prefix + metaProperty.name() + QLatin1Char('/')); From 37ff8f55a07967cad84f217c1c6702f56277efcb Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Mon, 11 Mar 2013 17:34:45 +0100 Subject: [PATCH 08/35] don't install .lib files under windows we don't support building 3rd party plugins against an installed qt creator anyway (we don't install any headers), so it makes no sense to install import libraries (especially into the wrong directory). Task-number: QTCREATORBUG-8395 Change-Id: Ie6703598324d9dd39aa82d1eb0f2fecd224e4390 Reviewed-by: Tim Jenssen Reviewed-by: Joerg Bornemann --- src/qtcreatorlibrary.pri | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/qtcreatorlibrary.pri b/src/qtcreatorlibrary.pri index 0dc1a179b23..947286b4417 100644 --- a/src/qtcreatorlibrary.pri +++ b/src/qtcreatorlibrary.pri @@ -19,9 +19,10 @@ contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols !macx { win32 { - target.path = $$QTC_PREFIX/bin + dlltarget.path = $$QTC_PREFIX/bin + INSTALLS += dlltarget } else { target.path = $$QTC_PREFIX/$$IDE_LIBRARY_BASENAME/qtcreator + INSTALLS += target } - INSTALLS += target } From f4cfa822ff484f290e330ff760d9c5907ff76d95 Mon Sep 17 00:00:00 2001 From: jkobus Date: Mon, 11 Mar 2013 13:21:57 +0100 Subject: [PATCH 09/35] Avoid crash on qmljs plugin unload The unload of qmljs plugin caused qmljs code style settings to be deleted, while core still had a pointer to them and used it afterwards. Added unregisterCodeStyle* methods for symmetry and used them on plugin destruction. Change-Id: I49f0fc52f3e71d053e6ada604672a4cc3eafa486 Reviewed-by: Tobias Hunger --- src/plugins/cpptools/cpptoolssettings.cpp | 5 +++++ src/plugins/qmljstools/qmljstoolssettings.cpp | 5 +++++ src/plugins/texteditor/texteditorsettings.cpp | 15 +++++++++++++++ src/plugins/texteditor/texteditorsettings.h | 3 +++ 4 files changed, 28 insertions(+) diff --git a/src/plugins/cpptools/cpptoolssettings.cpp b/src/plugins/cpptools/cpptoolssettings.cpp index c1c74059fe1..7147eb42915 100644 --- a/src/plugins/cpptools/cpptoolssettings.cpp +++ b/src/plugins/cpptools/cpptoolssettings.cpp @@ -241,6 +241,11 @@ CppToolsSettings::~CppToolsSettings() { ExtensionSystem::PluginManager::removeObject(d->m_completionSettingsPage); + TextEditor::TextEditorSettings *textEditorSettings = TextEditor::TextEditorSettings::instance(); + textEditorSettings->unregisterCodeStyle(Constants::CPP_SETTINGS_ID); + textEditorSettings->unregisterCodeStylePool(Constants::CPP_SETTINGS_ID); + textEditorSettings->unregisterCodeStyleFactory(Constants::CPP_SETTINGS_ID); + delete d; m_instance = 0; diff --git a/src/plugins/qmljstools/qmljstoolssettings.cpp b/src/plugins/qmljstools/qmljstoolssettings.cpp index 46159d467b2..388a120ad47 100644 --- a/src/plugins/qmljstools/qmljstoolssettings.cpp +++ b/src/plugins/qmljstools/qmljstoolssettings.cpp @@ -159,6 +159,11 @@ QmlJSToolsSettings::QmlJSToolsSettings(QObject *parent) QmlJSToolsSettings::~QmlJSToolsSettings() { + TextEditor::TextEditorSettings *textEditorSettings = TextEditor::TextEditorSettings::instance(); + textEditorSettings->unregisterCodeStyle(QmlJSTools::Constants::QML_JS_SETTINGS_ID); + textEditorSettings->unregisterCodeStylePool(QmlJSTools::Constants::QML_JS_SETTINGS_ID); + textEditorSettings->unregisterCodeStyleFactory(QmlJSTools::Constants::QML_JS_SETTINGS_ID); + delete m_globalCodeStyle; m_globalCodeStyle = 0; } diff --git a/src/plugins/texteditor/texteditorsettings.cpp b/src/plugins/texteditor/texteditorsettings.cpp index a3a9c685027..877d337f998 100644 --- a/src/plugins/texteditor/texteditorsettings.cpp +++ b/src/plugins/texteditor/texteditorsettings.cpp @@ -411,6 +411,11 @@ void TextEditorSettings::registerCodeStyleFactory(ICodeStylePreferencesFactory * m_d->m_languageToFactory.insert(factory->languageId(), factory); } +void TextEditorSettings::unregisterCodeStyleFactory(Core::Id languageId) +{ + m_d->m_languageToFactory.remove(languageId); +} + QMap TextEditorSettings::codeStyleFactories() const { return m_d->m_languageToFactory; @@ -441,6 +446,11 @@ void TextEditorSettings::registerCodeStyle(Core::Id languageId, ICodeStylePrefer m_d->m_languageToCodeStyle.insert(languageId, prefs); } +void TextEditorSettings::unregisterCodeStyle(Core::Id languageId) +{ + m_d->m_languageToCodeStyle.remove(languageId); +} + CodeStylePool *TextEditorSettings::codeStylePool() const { return m_d->m_behaviorSettingsPage->codeStylePool(); @@ -456,6 +466,11 @@ void TextEditorSettings::registerCodeStylePool(Core::Id languageId, CodeStylePoo m_d->m_languageToCodeStylePool.insert(languageId, pool); } +void TextEditorSettings::unregisterCodeStylePool(Core::Id languageId) +{ + m_d->m_languageToCodeStylePool.remove(languageId); +} + void TextEditorSettings::registerMimeTypeForLanguageId(const QString &mimeType, Core::Id languageId) { m_d->m_mimeTypeToLanguage.insert(mimeType, languageId); diff --git a/src/plugins/texteditor/texteditorsettings.h b/src/plugins/texteditor/texteditorsettings.h index 94685559677..5bd56ced17f 100644 --- a/src/plugins/texteditor/texteditorsettings.h +++ b/src/plugins/texteditor/texteditorsettings.h @@ -92,15 +92,18 @@ public: ICodeStylePreferencesFactory *codeStyleFactory(Core::Id languageId) const; QMap codeStyleFactories() const; void registerCodeStyleFactory(ICodeStylePreferencesFactory *codeStyleFactory); + void unregisterCodeStyleFactory(Core::Id languageId); CodeStylePool *codeStylePool() const; CodeStylePool *codeStylePool(Core::Id languageId) const; void registerCodeStylePool(Core::Id languageId, CodeStylePool *pool); + void unregisterCodeStylePool(Core::Id languageId); ICodeStylePreferences *codeStyle() const; ICodeStylePreferences *codeStyle(Core::Id languageId) const; QMap codeStyles() const; void registerCodeStyle(Core::Id languageId, ICodeStylePreferences *prefs); + void unregisterCodeStyle(Core::Id languageId); void registerMimeTypeForLanguageId(const QString &mimeType, Core::Id languageId); Core::Id languageId(const QString &mimeType) const; From 07d3e712fe53670e09f898b89bf2bdb7004a5fde Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 1 Mar 2013 15:49:27 +0100 Subject: [PATCH 10/35] Squish: Replace useless signal waiting Since Squish 4.2.3 the signal handling has been fixed and this signal won't be caught by Squish because it was triggered by another object. Change-Id: I4a849084712ee99f9e63b844f832ba8dadd793ac Reviewed-by: Robert Loehning --- tests/system/suite_editors/tst_memberoperator/test.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/system/suite_editors/tst_memberoperator/test.py b/tests/system/suite_editors/tst_memberoperator/test.py index 7e8420e408c..6316dff138f 100644 --- a/tests/system/suite_editors/tst_memberoperator/test.py +++ b/tests/system/suite_editors/tst_memberoperator/test.py @@ -16,11 +16,9 @@ def main(): placeCursorToLine(cppwindow, "return a.exec();") typeLines(cppwindow, ("", testData.field(record, "declaration"))) type(cppwindow, testData.field(record, "usage")) - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", - "sourceFilesRefreshed(QStringList)", 1000) + snooze(1) # maybe find something better type(cppwindow, testData.field(record, "operator")) - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", - "sourceFilesRefreshed(QStringList)", 1000) + waitFor("object.exists(':popupFrame_TextEditor::GenericProposalWidget')", 1500) test.compare(str(lineUnderCursor(cppwindow)).strip(), testData.field(record, "expected")) invokeMenuItem("File", 'Revert "main.cpp" to Saved') clickButton(waitForObject(":Revert to Saved.Proceed_QPushButton")) From 36e1c03ae6bfe2966b66b5c7e84a2c83c377422b Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 11 Mar 2013 18:09:00 +0100 Subject: [PATCH 11/35] Update qbs submodule and make use of the new QBS_DESTDIR variable. Change-Id: I3cc3e1f20fdd122f9f493c25d15902e926fe0ad9 Reviewed-by: Oswald Buddenhagen Reviewed-by: Christian Kandeler --- qtcreator.pro | 9 +++++++-- src/plugins/qbsprojectmanager/qbsprojectmanager.pro | 5 ++--- src/shared/qbs | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/qtcreator.pro b/qtcreator.pro index 066b0987218..bd868bd38b3 100644 --- a/qtcreator.pro +++ b/qtcreator.pro @@ -21,11 +21,16 @@ OTHER_FILES += dist/copyright_template.txt \ qbs/pluginspec/pluginspec.qbs qmake_cache = $$targetPath($$IDE_BUILD_TREE/.qmake.cache) -unix: maybe_quote = \" +equals(QMAKE_DIR_SEP, /): { + maybe_quote = "\"" + maybe_backslash = "\\" +} system("echo $${maybe_quote}$${LITERAL_HASH} config for qmake$${maybe_quote} > $$qmake_cache") # Make sure the qbs dll ends up alongside the Creator executable. -win32:exists(src/shared/qbs/qbs.pro) { +exists(src/shared/qbs/qbs.pro) { system("echo QBS_DLLDESTDIR = $${IDE_BUILD_TREE}/bin >> $$qmake_cache") + system("echo QBS_DESTDIR = $${maybe_backslash}\"$${IDE_LIBRARY_PATH}$${maybe_backslash}\" >> $$qmake_cache") + system("echo QBSLIBDIR = $${maybe_backslash}\"$${IDE_LIBRARY_PATH}$${maybe_backslash}\" >> $$qmake_cache") } contains(QT_ARCH, i386): ARCHITECTURE = x86 diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.pro b/src/plugins/qbsprojectmanager/qbsprojectmanager.pro index 5cbbc02d7ba..d8cebcb7d5d 100644 --- a/src/plugins/qbsprojectmanager/qbsprojectmanager.pro +++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.pro @@ -9,10 +9,9 @@ include(qbsprojectmanager_dependencies.pri) QBS_SOURCE_DIR = $$PWD/../../shared/qbs QBS_BUILD_DIR = $$IDE_BUILD_TREE/src/shared/qbs -QBSLIBDIR = $$QBS_BUILD_DIR/lib include($$QBS_SOURCE_DIR/src/lib/use.pri) -linux-*:QMAKE_LFLAGS += -Wl,-z,origin \'-Wl,-rpath,$$QBSLIBDIR\' -macx:QMAKE_LFLAGS += -Wl,-rpath,$$QBSLIBDIR +# Mac: fix rpath for qbscore soname +macx:QMAKE_LFLAGS += -Wl,-rpath,@loader_path/../ QBS_BUILD_DIR_FWD_SLASHES = $$replace(QBS_BUILD_DIR, \\\\, /) DEFINES += QBS_BUILD_DIR=\\\"$$QBS_BUILD_DIR_FWD_SLASHES\\\" diff --git a/src/shared/qbs b/src/shared/qbs index 0a20fe28a70..652982c7b5c 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 0a20fe28a70b810575d33b8a3c8623057a036bd7 +Subproject commit 652982c7b5cb1138d5d339870bad0bbbb1f1c1e0 From 54614b03b87d139ef335adc4d2b61072d6baef18 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Wed, 6 Mar 2013 18:00:00 +0100 Subject: [PATCH 12/35] show LaunchQtCreatorCheckBox at the standalone installer Some code was there but the ui file and the showing code was missing. Change-Id: I9a865ff7a10995d3b129e0b18c2f250bca852f9e Reviewed-by: Eike Ziller Reviewed-by: Karsten Heimrich --- .../meta/installscript.qs | 12 +++++++ .../meta/launchqtcreatorcheckboxform.ui | 34 +++++++++++++++++++ .../meta/package.xml.in | 1 + 3 files changed, 47 insertions(+) create mode 100644 dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/launchqtcreatorcheckboxform.ui diff --git a/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/installscript.qs b/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/installscript.qs index 0f096b84775..1b46304147b 100644 --- a/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/installscript.qs +++ b/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/installscript.qs @@ -31,6 +31,7 @@ function Component() { component.loaded.connect(this, Component.prototype.loaded); + installer.installationFinished.connect(this, Component.prototype.installationFinishedPageIsShown); installer.finishButtonClicked.connect(this, Component.prototype.installationFinished); installer.setDefaultPageVisible(QInstaller.ComponentSelection, false); } @@ -173,6 +174,17 @@ Component.prototype.createOperations = function() } } +Component.prototype.installationFinishedPageIsShown = function() +{ + try { + if (component.installed && installer.isInstaller() && installer.status == QInstaller.Success) { + installer.addWizardPageItem( component, "LaunchQtCreatorCheckBoxForm", QInstaller.InstallationFinished ); + } + } catch(e) { + print(e); + } +} + Component.prototype.installationFinished = function() { try { diff --git a/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/launchqtcreatorcheckboxform.ui b/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/launchqtcreatorcheckboxform.ui new file mode 100644 index 00000000000..4d6060c67ac --- /dev/null +++ b/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/launchqtcreatorcheckboxform.ui @@ -0,0 +1,34 @@ + + + LaunchQtCreatorCheckBoxForm + + + + 0 + 0 + 112 + 17 + + + + + 0 + + + + + Launch Qt Creator + + + true + + + false + + + + + + + + diff --git a/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/package.xml.in b/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/package.xml.in index 0e21746d4eb..e9d378cd700 100644 --- a/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/package.xml.in +++ b/dist/installer/ifw/packages/org.qtproject.qtcreator.application/meta/package.xml.in @@ -14,5 +14,6 @@ org.qtproject.qtcreator associatecommonfiletypesform.ui + launchqtcreatorcheckboxform.ui From b35ca65801507fc1977e61a4544fea7989fe7d42 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Tue, 12 Mar 2013 16:52:29 +0100 Subject: [PATCH 13/35] Debugger: Enable/disable debug button The debug button should be enabled or disabled after checking if the project can be run in DebugMode. Change-Id: I2700c1de290f89bae9456319c2e93857374838ed Reviewed-by: hjk Reviewed-by: Eike Ziller --- src/plugins/debugger/debuggerplugin.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index a1476292194..0bee5f811b8 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -1575,8 +1575,11 @@ void DebuggerPluginPrivate::onCurrentProjectChanged(Project *project) m_interruptAction->setEnabled(false); m_continueAction->setEnabled(false); m_exitAction->setEnabled(false); - m_startAction->setEnabled(true); - m_debugWithoutDeployAction->setEnabled(true); + ProjectExplorerPlugin *pe = ProjectExplorerPlugin::instance(); + const bool canRun = pe->canRun(project, DebugRunMode); + m_startAction->setEnabled(canRun); + m_startAction->setToolTip(canRun ? QString() : pe->cannotRunReason(project, DebugRunMode)); + m_debugWithoutDeployAction->setEnabled(canRun); setProxyAction(m_visibleStartAction, Core::Id(Constants::DEBUG)); } From 79f6e4dda7acdebeef5b1afea1c11ba5efc0ac55 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 13 Mar 2013 12:50:27 +0100 Subject: [PATCH 14/35] Doc: the script console is now an output pane Fix some remaining occurences and screenshots. Change-Id: Ibb8d874996fe767aca180b2964559313efa8157e Reviewed-by: Eike Ziller Reviewed-by: Aurindam Jana --- doc/images/qtquick-example-script-console.png | Bin 78991 -> 79624 bytes .../debugger/qtquick-debugger-example.qdoc | 10 +++++----- doc/src/debugger/qtquick-debugging.qdoc | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/images/qtquick-example-script-console.png b/doc/images/qtquick-example-script-console.png index 30cd1371c2eb68a840ea466588cdc781fafd8201..37945678cd2dc18258eb451380342d53862ba1de 100644 GIT binary patch literal 79624 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

Sab5r8bzde+Y+Cfn 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 sS5e0H`}bCVNw!FVdQ&MBb@04vS9)Bpeg literal 78991 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

A4$}6&kX2 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 Date: Tue, 12 Mar 2013 12:05:18 +0100 Subject: [PATCH 15/35] Fix DeviceManager unit test. We use the same name unification method as everywhere else, so adapt the unit test accordingly. Change-Id: I71090f26dd33901b89d8bb6ac2bccda811a63515 Reviewed-by: Christian Kandeler --- src/plugins/projectexplorer/devicesupport/devicemanager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp index b55b06500b0..900aaa1b7a4 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp @@ -470,7 +470,7 @@ void ProjectExplorerPlugin::testDeviceManager() dev3->setDisplayName(dev->displayName()); mgr->addDevice(dev3); QCOMPARE(mgr->deviceAt(mgr->deviceCount() - 1)->displayName(), - QString(dev3->displayName() + QLatin1String(" (2)"))); + QString(dev3->displayName() + QLatin1String("2"))); QCOMPARE(deviceAddedSpy.count(), 1); QCOMPARE(deviceRemovedSpy.count(), 0); QCOMPARE(deviceUpdatedSpy.count(), 0); From 57d4d9480b33908e0b727f7067554ec82d25ed51 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Wed, 13 Mar 2013 13:31:41 +0100 Subject: [PATCH 16/35] CMakeValidator: Make code more robust Change-Id: Ibfe0572adee9d5ffe98259465d5070448d704e1c Reviewed-by: Kai Koehne Reviewed-by: Eike Ziller --- src/plugins/cmakeprojectmanager/cmakevalidator.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/cmakeprojectmanager/cmakevalidator.cpp b/src/plugins/cmakeprojectmanager/cmakevalidator.cpp index 27d38291cb2..8a85a756fa7 100644 --- a/src/plugins/cmakeprojectmanager/cmakevalidator.cpp +++ b/src/plugins/cmakeprojectmanager/cmakevalidator.cpp @@ -223,6 +223,8 @@ void CMakeValidator::parseFunctionDetailsOutput(const QByteArray &output) QList cmakeCommandsHelp = output.split('\n'); for (int i = 0; i < cmakeCommandsHelp.count(); ++i) { QByteArray lineTrimmed = cmakeCommandsHelp.at(i).trimmed(); + if (cmakeFunctionsList.isEmpty()) + break; if (cmakeFunctionsList.first().toLatin1() == lineTrimmed) { QStringList commandSyntaxes; QString currentCommandSyntax; @@ -231,7 +233,7 @@ void CMakeValidator::parseFunctionDetailsOutput(const QByteArray &output) for (; i < cmakeCommandsHelp.count(); ++i) { lineTrimmed = cmakeCommandsHelp.at(i).trimmed(); - if (cmakeFunctionsList.first().toLatin1() == lineTrimmed) { + if (!cmakeFunctionsList.isEmpty() && cmakeFunctionsList.first().toLatin1() == lineTrimmed) { //start of next function in output if (!currentCommandSyntax.isEmpty()) commandSyntaxes << currentCommandSyntax.append(QLatin1String("")); From cea78fccbdfa6a087df5c8cc0af65c7e360bbaf8 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 13 Mar 2013 14:48:26 +0100 Subject: [PATCH 17/35] Fix qbs submodule installation. We want the qbs library and resources to be placed in the canonical places when installing Qt Creator. This also makes it necessary to change the location of the respective files in the build directory. Change-Id: I8e78ec5aa0e8b728ccca96d45a647c1488961ea0 Reviewed-by: Eike Ziller Reviewed-by: Joerg Bornemann --- qtcreator.pro | 5 +++++ src/plugins/qbsprojectmanager/qbsproject.cpp | 2 +- src/shared/qbs | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/qtcreator.pro b/qtcreator.pro index bd868bd38b3..532053369d0 100644 --- a/qtcreator.pro +++ b/qtcreator.pro @@ -31,6 +31,11 @@ exists(src/shared/qbs/qbs.pro) { system("echo QBS_DLLDESTDIR = $${IDE_BUILD_TREE}/bin >> $$qmake_cache") system("echo QBS_DESTDIR = $${maybe_backslash}\"$${IDE_LIBRARY_PATH}$${maybe_backslash}\" >> $$qmake_cache") system("echo QBSLIBDIR = $${maybe_backslash}\"$${IDE_LIBRARY_PATH}$${maybe_backslash}\" >> $$qmake_cache") + system("echo QBS_INSTALL_PREFIX = $${QTC_PREFIX} >> $$qmake_cache") + system("echo QBS_LIB_INSTALL_DIR = $${QTC_PREFIX}/$${IDE_LIBRARY_BASENAME}/qtcreator >> $$qmake_cache") + system("echo QBS_RESOURCES_BUILD_DIR = $${maybe_backslash}\"$${IDE_DATA_PATH}/qbs$${maybe_backslash}\" >> $$qmake_cache") + system("echo QBS_RESOURCES_INSTALL_DIR = $${QTC_PREFIX}/share/qtcreator/qbs >> $$qmake_cache") + system("echo CONFIG += qbs_no_dev_install >> $$qmake_cache") } contains(QT_ARCH, i386): ARCHITECTURE = x86 diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp index 2cc9d996274..165b9be528b 100644 --- a/src/plugins/qbsprojectmanager/qbsproject.cpp +++ b/src/plugins/qbsprojectmanager/qbsproject.cpp @@ -568,7 +568,7 @@ QString QbsProject::qbsBuildDir() const QString buildDir = Utils::Environment::systemEnvironment() .value(QLatin1String("QBS_BUILD_DIR")); if (buildDir.isEmpty()) - buildDir = QLatin1String(QBS_BUILD_DIR); + buildDir = Core::ICore::resourcePath() + QLatin1String("/qbs"); return buildDir; } diff --git a/src/shared/qbs b/src/shared/qbs index 652982c7b5c..dcfc06010eb 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 652982c7b5cb1138d5d339870bad0bbbb1f1c1e0 +Subproject commit dcfc06010eb622adc4e90b8d77e5db25aa6219d9 From 1aa8fd88c72d4d60544dffc03a345ecc82b69dad Mon Sep 17 00:00:00 2001 From: hjk Date: Fri, 8 Mar 2013 09:54:50 +0100 Subject: [PATCH 18/35] Debugger: Fix Eigen::Matrix dumper Task-number: QTCREATORBUG-8910 Change-Id: I11362d94aa271c9e5e6d97637993b6dab6713117 Reviewed-by: Eike Ziller Reviewed-by: hjk --- share/qtcreator/dumper/qttypes.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/share/qtcreator/dumper/qttypes.py b/share/qtcreator/dumper/qttypes.py index 058abe049ed..794374e2b7d 100644 --- a/share/qtcreator/dumper/qttypes.py +++ b/share/qtcreator/dumper/qttypes.py @@ -2664,14 +2664,13 @@ def qdump__Eigen__Matrix(d, value): storage = value["m_storage"] options = numericTemplateArgument(value.type, 3) rowMajor = (int(options) & 0x1) + argRow = numericTemplateArgument(value.type, 1) + argCol = numericTemplateArgument(value.type, 2) + nrows = value["m_storage"]["m_rows"] if argRow == -1 else int(argRow) + ncols = value["m_storage"]["m_cols"] if argCol == -1 else int(argCol) p = storage["m_data"] if p.type.code == StructCode: # Static - nrows = numericTemplateArgument(value.type, 1) - ncols = numericTemplateArgument(value.type, 2) p = p["array"].cast(innerType.pointer()) - else: # Dynamic - ncols = storage["m_cols"] - nrows = storage["m_rows"] d.putValue("(%s x %s), %s" % (nrows, ncols, ["ColumnMajor", "RowMajor"][rowMajor])) d.putField("keeporder", "1") d.putNumChild(nrows * ncols) From fda503748d0ac21338e280ced1dca096d94f6899 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Thu, 14 Mar 2013 10:55:40 +0100 Subject: [PATCH 19/35] Debugger: CDB: Don't add a task for the wow64 exception. Task-number: QTCREATORBUG-8886 Change-Id: Idf08562c58e1f02b09ef6ff7a9fb899f1516f9ae Reviewed-by: Friedemann Kleint --- src/plugins/debugger/cdb/cdbengine.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 0becdc3de77..16f653b9376 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -2410,6 +2410,9 @@ void CdbEngine::handleExtensionMessage(char t, int token, const QByteArray &what GdbMi gdbmi; gdbmi.fromString(message); exception.fromGdbMI(gdbmi); + // Don't show the Win32 x86 emulation subsystem breakpoint hit exception. + if (exception.exceptionCode == winExceptionWX86Breakpoint) + return; const QString message = exception.toString(true); showStatusMessage(message); // Report C++ exception in application output as well. From 6a0488fd25bbc72e085dc11fb5fb2f95d60cc56b Mon Sep 17 00:00:00 2001 From: Andreas Holzammer Date: Tue, 12 Mar 2013 16:10:00 +0100 Subject: [PATCH 20/35] Fix loading of debugger in a Kit Loaded debuggers from a generated profiles.xml where overwritten by autodetected values. So check if debugger is valid before taking autodetected values. Change-Id: I768821950cc507c8b772ea1894af6b653e7604d1 Reviewed-by: Tobias Hunger Reviewed-by: Eike Ziller --- src/plugins/debugger/debuggerkitinformation.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/debuggerkitinformation.cpp b/src/plugins/debugger/debuggerkitinformation.cpp index 522d9570cfd..da6a77b67d9 100644 --- a/src/plugins/debugger/debuggerkitinformation.cpp +++ b/src/plugins/debugger/debuggerkitinformation.cpp @@ -203,7 +203,8 @@ DebuggerKitInformation::DebuggerItem DebuggerKitInformation::autoDetectItem(cons void DebuggerKitInformation::setup(Kit *k) { QTC_ASSERT(ToolChainManager::instance()->isLoaded(), return); - setDebuggerItem(k, autoDetectItem(k)); + if (!isValidDebugger(k)) + setDebuggerItem(k, autoDetectItem(k)); } // Check the configuration errors and return a flag mask. Provide a quick check and From 3c8602f9b35f320b498ee1d3371d31e2a57310f9 Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Fri, 8 Mar 2013 15:54:06 +0100 Subject: [PATCH 21/35] QmlDebugging: Expand watch data that were previously expanded The watch data model is cleared on every debug step. Hence, tracking of expanded watch data is lost. Now, we keep track of expanded watch data when stepping. However, we still lose track of this data on a scope/stack change. Task-number: QTCREATORBUG-8901 Change-Id: I1dc609cae1c3a36d8320864f71336b655eaa09d1 Reviewed-by: Kai Koehne --- src/plugins/debugger/qml/qmlv8debuggerclient.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp index 88d5d04c59d..1ffbe48c11e 100644 --- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp +++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp @@ -1647,6 +1647,15 @@ void QmlV8DebuggerClient::setCurrentFrameDetails(const QVariant &bodyVal, const d->clearCache(); const int frameIndex = stackHandler->currentIndex(); + QSet expandedInames = watchHandler->expandedINames(); + QHash handlesToLookup; + // Store handles of all expanded watch data + foreach (const QByteArray &iname, expandedInames) { + const WatchData *wd = watchHandler->findData(iname); + if (!wd || !wd->isLocal()) + continue; + handlesToLookup.insert(wd->id, iname); + } watchHandler->removeAllData(); if (frameIndex < 0) return; @@ -1685,6 +1694,11 @@ void QmlV8DebuggerClient::setCurrentFrameDetails(const QVariant &bodyVal, const d->scope(scopeIndex); } d->engine->gotoLocation(stackHandler->currentFrame()); + + // Expand watch data that were previously expanded + QHash::const_iterator itEnd = handlesToLookup.end(); + for (QHash::const_iterator it = handlesToLookup.begin(); it != itEnd; ++it) + expandObject(it.value(), it.key()); emit stackFrameCompleted(); } From de953c11bd046b4b4726e57f68b7082233851c17 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Wed, 13 Mar 2013 12:22:11 +0100 Subject: [PATCH 22/35] MsvcToolChain: Convert paths in fromMap We used to store those paths as they were writen in the registry with '\'. That was changed in edb13dd32f33dc6d7bba6afb2bc4f9b03dca5310 Task-number: QTCREATORBUG-8951 Change-Id: I63e5218faab87ebe8215bad773eb943cd9f8f074 Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/msvctoolchain.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index bd73fbc5786..2178694a823 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -384,7 +384,7 @@ bool MsvcToolChain::fromMap(const QVariantMap &data) { if (!ToolChain::fromMap(data)) return false; - m_vcvarsBat = data.value(QLatin1String(varsBatKeyC)).toString(); + m_vcvarsBat = QDir::fromNativeSeparators(data.value(QLatin1String(varsBatKeyC)).toString()); m_varsBatArg = data.value(QLatin1String(varsBatArgKeyC)).toString(); const QString abiString = data.value(QLatin1String(supportedAbiKeyC)).toString(); m_abi = Abi(abiString); From 833c0746c8167995d630069fdcbab353be3c5ab8 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Wed, 13 Mar 2013 12:22:50 +0100 Subject: [PATCH 23/35] MsvcToolChain: Fix display of paths in toolchain settings Change-Id: I44f936988f14a869f5c1518b3ca5bb9b62153d28 Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/msvctoolchain.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index 2178694a823..cf2303a01b0 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -422,7 +422,7 @@ void MsvcToolChainConfigWidget::setFromToolChain() { MsvcToolChain *tc = static_cast(toolChain()); QTC_ASSERT(tc, return); - QString varsBatDisplay = tc->varsBat(); + QString varsBatDisplay = QDir::toNativeSeparators(tc->varsBat()); if (!tc->varsBatArg().isEmpty()) { varsBatDisplay += QLatin1Char(' '); varsBatDisplay += tc->varsBatArg(); From e920010ea4615229863945ae6b84494d1ddbb012 Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Thu, 14 Mar 2013 11:36:14 +0100 Subject: [PATCH 24/35] Debugger: Fix manual test case for QtQuick2 Change-Id: I1ccc631a6e03b0e1229fa23d13ff13303166df80 Reviewed-by: hjk --- tests/manual/debugger/qquick2/app.pro | 2 +- tests/manual/debugger/qquick2/main.cpp | 4 ++-- tests/manual/debugger/qquick2/myplugin/myplugin.cpp | 3 ++- tests/manual/debugger/qquick2/myplugin/myplugin.h | 7 +++---- tests/manual/debugger/qquick2/myplugin/myplugin.pro | 2 +- tests/manual/debugger/qquick2/myplugin/mytype.cpp | 6 +++--- tests/manual/debugger/qquick2/myplugin/qmldir | 1 + 7 files changed, 13 insertions(+), 12 deletions(-) diff --git a/tests/manual/debugger/qquick2/app.pro b/tests/manual/debugger/qquick2/app.pro index 2994749979c..835748dd66b 100644 --- a/tests/manual/debugger/qquick2/app.pro +++ b/tests/manual/debugger/qquick2/app.pro @@ -1,4 +1,4 @@ -QT += declarative quick +QT += qml quick macx:CONFIG -= app_bundle diff --git a/tests/manual/debugger/qquick2/main.cpp b/tests/manual/debugger/qquick2/main.cpp index b66c3d9af9b..6cd5a3a9ac8 100644 --- a/tests/manual/debugger/qquick2/main.cpp +++ b/tests/manual/debugger/qquick2/main.cpp @@ -1,7 +1,7 @@ #include #include -#include -#include +#include +#include #include class Backend : public QObject { diff --git a/tests/manual/debugger/qquick2/myplugin/myplugin.cpp b/tests/manual/debugger/qquick2/myplugin/myplugin.cpp index 879e5beace7..8b4de216855 100644 --- a/tests/manual/debugger/qquick2/myplugin/myplugin.cpp +++ b/tests/manual/debugger/qquick2/myplugin/myplugin.cpp @@ -1,6 +1,8 @@ #include "myplugin.h" #include "mytype.h" +#include + void MyPlugin::registerTypes(const char *uri) { // @uri mymodule @@ -8,4 +10,3 @@ void MyPlugin::registerTypes(const char *uri) qmlRegisterType(uri, 1, 0, "MyType"); } -Q_EXPORT_PLUGIN(MyPlugin) diff --git a/tests/manual/debugger/qquick2/myplugin/myplugin.h b/tests/manual/debugger/qquick2/myplugin/myplugin.h index bf2d86041fe..053f8bdf153 100644 --- a/tests/manual/debugger/qquick2/myplugin/myplugin.h +++ b/tests/manual/debugger/qquick2/myplugin/myplugin.h @@ -1,13 +1,12 @@ #ifndef MYPLUGIN_H #define MYPLUGIN_H -#include -#include +#include -class MyPlugin : public QDeclarativeExtensionPlugin +class MyPlugin : public QQmlExtensionPlugin { Q_OBJECT - + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") public: void registerTypes(const char *uri); }; diff --git a/tests/manual/debugger/qquick2/myplugin/myplugin.pro b/tests/manual/debugger/qquick2/myplugin/myplugin.pro index 09116f6977b..5b8c5d15104 100644 --- a/tests/manual/debugger/qquick2/myplugin/myplugin.pro +++ b/tests/manual/debugger/qquick2/myplugin/myplugin.pro @@ -1,6 +1,6 @@ TEMPLATE = lib TARGET = myplugin -QT += declarative +QT += qml CONFIG += qt plugin TARGET = $$qtLibraryTarget($$TARGET) diff --git a/tests/manual/debugger/qquick2/myplugin/mytype.cpp b/tests/manual/debugger/qquick2/myplugin/mytype.cpp index d8e52755713..f3232af8703 100644 --- a/tests/manual/debugger/qquick2/myplugin/mytype.cpp +++ b/tests/manual/debugger/qquick2/myplugin/mytype.cpp @@ -1,8 +1,8 @@ +#include "mytype.h" + #include #include -#include - -#include "mytype.h" +#include MyType::MyType(QObject *parent) : QObject(parent) diff --git a/tests/manual/debugger/qquick2/myplugin/qmldir b/tests/manual/debugger/qquick2/myplugin/qmldir index a244fa6ad8e..c3cf4d42815 100644 --- a/tests/manual/debugger/qquick2/myplugin/qmldir +++ b/tests/manual/debugger/qquick2/myplugin/qmldir @@ -1 +1,2 @@ +module myplugin plugin myplugin From b6b220eacb5bdbc981eca9e8a7d060776182ab9b Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Thu, 14 Mar 2013 12:40:23 +0100 Subject: [PATCH 25/35] Qbs: Fix Qt namespace and Qt libinfix support Change-Id: Ic592b588d257f369738ff2f90480091576bfa7a8 Reviewed-by: Daniel Teske Reviewed-by: Eike Ziller --- src/plugins/qtsupport/baseqtversion.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index bf0101cdcaa..2d75c02964a 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -67,6 +67,9 @@ static const char QTVERSIONAUTODETECTED[] = "isAutodetected"; static const char QTVERSIONAUTODETECTIONSOURCE []= "autodetectionSource"; static const char QTVERSIONQMAKEPATH[] = "QMakePath"; +static const char MKSPEC_VALUE_LIBINFIX[] = "QT_LIBINFIX"; +static const char MKSPEC_VALUE_NAMESPACE[] = "QT_NAMESPACE"; + /////////////// // QtVersionNumber /////////////// @@ -370,12 +373,14 @@ Utils::FileName QtSupport::BaseQtVersion::mkspecsPath() const QString QtSupport::BaseQtVersion::qtNamespace() const { - return qmakeProperty("QT_NAMESPACE"); + ensureMkSpecParsed(); + return m_mkspecValues.value(QLatin1String(MKSPEC_VALUE_NAMESPACE)); } QString QtSupport::BaseQtVersion::qtLibInfix() const { - return qmakeProperty("QT_LIBINFIX"); + ensureMkSpecParsed(); + return m_mkspecValues.value(QLatin1String(MKSPEC_VALUE_LIBINFIX)); } void BaseQtVersion::setId(int id) @@ -834,9 +839,13 @@ void BaseQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const const QString designerBins = QLatin1String("QT.designer.bins"); const QString qmlBins = QLatin1String("QT.qml.bins"); const QString declarativeBins = QLatin1String("QT.declarative.bins"); + const QString libinfix = QLatin1String(MKSPEC_VALUE_LIBINFIX); + const QString ns = QLatin1String(MKSPEC_VALUE_NAMESPACE); m_mkspecValues.insert(designerBins, evaluator->value(designerBins)); m_mkspecValues.insert(qmlBins, evaluator->value(qmlBins)); m_mkspecValues.insert(declarativeBins, evaluator->value(declarativeBins)); + m_mkspecValues.insert(libinfix, evaluator->value(libinfix)); + m_mkspecValues.insert(ns, evaluator->value(ns)); } FileName BaseQtVersion::mkspec() const From d6935d6a394cf8867eb88a6962db3860f44f5e02 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Thu, 14 Mar 2013 15:48:09 +0100 Subject: [PATCH 26/35] QmlApplicationWizard: fix naming Also the HTML code is now valid XHTML. The latest draft of HTML 5 still suggest
btw. http://www.w3.org/html/wg/drafts/html/master/ text-level-semantics.html#the-br-element Change-Id: I436ddecd1565cb319de4385973322d7413dd8471 Reviewed-by: Robert Loehning Reviewed-by: Leena Miettinen --- share/qtcreator/templates/qml/qtquick1_1/template.xml | 2 +- share/qtcreator/templates/qml/qtquick2/template.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/share/qtcreator/templates/qml/qtquick1_1/template.xml b/share/qtcreator/templates/qml/qtquick1_1/template.xml index a16ce71286a..236ea30d251 100644 --- a/share/qtcreator/templates/qml/qtquick1_1/template.xml +++ b/share/qtcreator/templates/qml/qtquick1_1/template.xml @@ -4,5 +4,5 @@ id="QB.QML Application for Qt Quick 1.1"> Qt Quick 1 UI Qt Quick 1 UI - Creates a Qt Quick UI 1 project with a single QML file that contains the main view.<br> You can review Qt Quick UI 1 projects in the QML Viewer and you need not build them. You do not need to have the development environment installed on your computer to create and run this type of projects. <br><br>Requires <b>Qt 4.8</b> or newer. + Creates a Qt Quick 1 UI project with a single QML file that contains the main view.<br/>You can review Qt Quick 1 UI projects in the QML Viewer and you need not build them. You do not need to have the development environment installed on your computer to create and run this type of projects.<br/><br/>Requires <b>Qt 4.8</b> or newer. diff --git a/share/qtcreator/templates/qml/qtquick2/template.xml b/share/qtcreator/templates/qml/qtquick2/template.xml index c899e02228b..97c8d70b806 100644 --- a/share/qtcreator/templates/qml/qtquick2/template.xml +++ b/share/qtcreator/templates/qml/qtquick2/template.xml @@ -4,5 +4,5 @@ id="QB.QML Application for Qt Quick 2.0"> Qt Quick 2 UI Qt Quick 2 UI - Creates a Qt Quick UI 2 project with a single QML file that contains the main view.<br> You can review Qt Quick UI 2 projects in the QML Scene and you need not build them. You do not need to have the development environment installed on your computer to create and run this type of projects.<br><br>Requires <b>Qt 5.0</b> or newer. + Creates a Qt Quick 2 UI project with a single QML file that contains the main view.<br/>You can review Qt Quick 2 UI projects in the QML Scene and you need not build them. You do not need to have the development environment installed on your computer to create and run this type of projects.<br/><br/>Requires <b>Qt 5.0</b> or newer. From 1c853c4ebab1cd5e93a8325c9228760b0d7a6a98 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Thu, 7 Mar 2013 16:57:53 +0200 Subject: [PATCH 27/35] QtLockedFile: Delete lock file on unlock Change-Id: I78b887c961730e1d6cbc097f57f0a3ac97ec7c0e Reviewed-by: Friedemann Kleint --- src/shared/qtlockedfile/qtlockedfile_unix.cpp | 1 + src/shared/qtlockedfile/qtlockedfile_win.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/shared/qtlockedfile/qtlockedfile_unix.cpp b/src/shared/qtlockedfile/qtlockedfile_unix.cpp index 3e0ad9f6e1d..02e65a8126c 100644 --- a/src/shared/qtlockedfile/qtlockedfile_unix.cpp +++ b/src/shared/qtlockedfile/qtlockedfile_unix.cpp @@ -95,6 +95,7 @@ bool QtLockedFile::unlock() } m_lock_mode = NoLock; + remove(); return true; } diff --git a/src/shared/qtlockedfile/qtlockedfile_win.cpp b/src/shared/qtlockedfile/qtlockedfile_win.cpp index dcc7e602fa9..d384094b93e 100644 --- a/src/shared/qtlockedfile/qtlockedfile_win.cpp +++ b/src/shared/qtlockedfile/qtlockedfile_win.cpp @@ -167,6 +167,7 @@ bool QtLockedFile::unlock() } m_lock_mode = QtLockedFile::NoLock; + remove(); return true; } From b848461891e143e0e5d8e366a5e437849a6e4abf Mon Sep 17 00:00:00 2001 From: Mehdi Fekari Date: Thu, 14 Mar 2013 13:54:45 +0100 Subject: [PATCH 28/35] Utils: Change the minimum width size of PathChooser This fixes an alignment issue on the BlackBerry device configuration widget Change-Id: I8e48432713b14f923715bebc52317e50ff4e304f Reviewed-by: Eike Ziller --- src/libs/utils/pathchooser.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libs/utils/pathchooser.cpp b/src/libs/utils/pathchooser.cpp index affce626254..256599e1644 100644 --- a/src/libs/utils/pathchooser.cpp +++ b/src/libs/utils/pathchooser.cpp @@ -250,7 +250,7 @@ PathChooser::PathChooser(QWidget *parent) : connect(d->m_lineEdit, SIGNAL(validChanged(bool)), this, SIGNAL(validChanged(bool))); connect(d->m_lineEdit, SIGNAL(editingFinished()), this, SIGNAL(editingFinished())); - d->m_lineEdit->setMinimumWidth(200); + d->m_lineEdit->setMinimumWidth(120); d->m_hLayout->addWidget(d->m_lineEdit); d->m_hLayout->setSizeConstraint(QLayout::SetMinimumSize); From 9714ec8a2f2c8fb8292e47cf9d9422d3c052086f Mon Sep 17 00:00:00 2001 From: Aurindam Jana Date: Thu, 14 Mar 2013 16:50:24 +0100 Subject: [PATCH 29/35] KitManager: Check for user settings file Check if the user settings file exists before trying to restore kits. Change-Id: Ie4502eef48234a8b4b99c58362643576d8338aaa Reviewed-by: Tobias Hunger --- src/plugins/projectexplorer/kitmanager.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp index af7767883cb..1a2b15b1031 100644 --- a/src/plugins/projectexplorer/kitmanager.cpp +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -161,7 +161,10 @@ void KitManager::restoreKits() } // read all kits from user file - KitList userKits = restoreKits(settingsFileName()); + KitList userKits; + Utils::FileName userSettingsFile(settingsFileName()); + if (userSettingsFile.toFileInfo().exists()) + userKits = restoreKits(userSettingsFile); foreach (Kit *k, userKits.kits) { if (k->isSdkProvided()) kitsToCheck.append(k); From 183eb7144aa2473bf5fc1ff71681b4a88dd4eb60 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 15 Mar 2013 09:01:51 +0100 Subject: [PATCH 30/35] Try to workaround issue when creating Mac dmg image Sometimes one would get an error "hdiutil: resize request is above maximum size allowed." which might have to do with autostretch limits. Passing the -stretch argument with a sufficiently large size should make resizing succeed. Change-Id: I3103ce38e809c2429bed6847ead03f28bfa1f54a Reviewed-by: Eike Ziller --- scripts/makedmg.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/makedmg.sh b/scripts/makedmg.sh index f9e877ef642..ba21125c727 100755 --- a/scripts/makedmg.sh +++ b/scripts/makedmg.sh @@ -12,7 +12,7 @@ cp -a "${sourceFolder}/" "${intermediateFolder}" ln -s /Applications "${intermediateFolder}" cp "$(dirname "${BASH_SOURCE[0]}")/../LICENSE.LGPL" "${intermediateFolder}/LICENSE_LGPL.txt" echo Creating image... -hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub +hdiutil create -srcfolder "${intermediateFolder}" -volname "${title}" -format UDBZ "${finalDMGName}" -ov -scrub -stretch 1g # clean up rm -rf "${intermediateFolder}" From 7c07ad9e5c96cd18e6d31ac51691c6af79a5f093 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Thu, 14 Mar 2013 17:20:16 +0100 Subject: [PATCH 31/35] Qt Creator plugin template: Do not export plugin by default Change-Id: I82ffa76bcb5850e8bda11d1daca3430e04e9695a Reviewed-by: Maurice Kalinowski --- share/qtcreator/templates/wizards/qtcreatorplugin/myplugin.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/qtcreator/templates/wizards/qtcreatorplugin/myplugin.h b/share/qtcreator/templates/wizards/qtcreatorplugin/myplugin.h index 97aebfb6194..c87f886cff5 100644 --- a/share/qtcreator/templates/wizards/qtcreatorplugin/myplugin.h +++ b/share/qtcreator/templates/wizards/qtcreatorplugin/myplugin.h @@ -8,7 +8,7 @@ namespace %PluginName% { namespace Internal { -class %PluginName:u%SHARED_EXPORT %PluginName%Plugin : public ExtensionSystem::IPlugin +class %PluginName%Plugin : public ExtensionSystem::IPlugin { Q_OBJECT Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "%PluginName%.json") From 6d8e352981989a5f8e1c6033b1fa639fa024ab6e Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Fri, 15 Mar 2013 12:59:44 +0100 Subject: [PATCH 32/35] Squish: Fixed typos and white spaces in getConfiguredKits() Change-Id: Ic5b678af17232c3ebc2da448bb45f97160aa650c Reviewed-by: Christian Stenger --- tests/system/shared/utils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py index b42bba60b84..08285e750da 100644 --- a/tests/system/shared/utils.py +++ b/tests/system/shared/utils.py @@ -291,7 +291,7 @@ def __checkParentAccess__(filePath): # this function checks for all configured Qt versions inside # options dialog and returns a dict holding the kits as keys # and a list of information of its configured Qt -def getConfiguredKits(isMaddedDisabled=True): +def getConfiguredKits(isMaddeDisabled=True): def __retrieveQtVersionName__(target, version): treeWidget = waitForObject(":QtSupport__Internal__QtVersionManager.qtdirList_QTreeWidget") return treeWidget.currentItem().text(0) @@ -310,8 +310,8 @@ def getConfiguredKits(isMaddedDisabled=True): # update collected Qt versions with their configured device and version iterateKits(True, True, __setQtVersionForKit__, kitsWithQtVersionName) # merge defined target names with their configured Qt versions and devices - for kit,qtVersion in kitsWithQtVersionName.iteritems(): - if isMaddedDisabled and kit in ('Fremantle', 'Harmattan') and qtVersion == 'None': + for kit, qtVersion in kitsWithQtVersionName.iteritems(): + if isMaddeDisabled and kit in ('Fremantle', 'Harmattan') and qtVersion == 'None': test.log("Found Kit '%s' with unassigned Qt version (disabled Madde plugin)" % kit) elif qtVersion in qtVersionNames: result[kit] = targetsQtVersions[qtVersionNames.index(qtVersion)].items()[0] From d646bde5f45dbf09d5c6685c672f220c9ce61e70 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Fri, 15 Mar 2013 11:57:00 +0100 Subject: [PATCH 33/35] Fix wrong usage of Properties blocks in qbs files. A property set on the product level is ignored if the same property is also set in a Properties block whose condition matches. Change-Id: I9248d735977e3d8ff8f1836fd80a49f3c8839bdc Reviewed-by: Joerg Bornemann --- src/libs/zeroconf/zeroconf.qbs | 25 ++++++++++++++----------- src/plugins/help/help.qbs | 12 ++++++++---- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/libs/zeroconf/zeroconf.qbs b/src/libs/zeroconf/zeroconf.qbs index 04274fd6f69..51ca09d0f1e 100644 --- a/src/libs/zeroconf/zeroconf.qbs +++ b/src/libs/zeroconf/zeroconf.qbs @@ -8,22 +8,25 @@ QtcLibrary { Depends { name: "Qt.network" } cpp.includePaths: base.concat(".") - cpp.defines: base.concat("ZEROCONF_LIBRARY") + cpp.defines: { + var list = base; + list.push("ZEROCONF_LIBRARY"); + if (qbs.targetOS === "linux") { + list.push( + "_GNU_SOURCE", + "HAVE_IPV6", + "USES_NETLINK", + "HAVE_LINUX", + "TARGET_OS_LINUX" + ); + } + return list; + } Properties { condition: qbs.targetOS == "windows" cpp.dynamicLibraries: "ws2_32" } - Properties { - condition: qbs.targetOS == "linux" - cpp.defines: base.concat([ - "_GNU_SOURCE", - "HAVE_IPV6", - "USES_NETLINK", - "HAVE_LINUX", - "TARGET_OS_LINUX" - ]) - } files: [ "avahiLib.cpp", diff --git a/src/plugins/help/help.qbs b/src/plugins/help/help.qbs index 75152239c4a..90c215d1ec5 100644 --- a/src/plugins/help/help.qbs +++ b/src/plugins/help/help.qbs @@ -21,11 +21,15 @@ QtcPlugin { Depends { name: "app_version_header" } Depends { name: "cpp" } - Properties { - condition: qtcore.versionMajor >= 5 - cpp.defines: base.concat(["QT_NO_WEBKIT"]) + + cpp.defines: { + var list = base; + if (qtcore.versionMajor >= 5) + list.push("QT_NO_WEBKIT"); + list.push("QT_CLUCENE_SUPPORT"); + return list; } - cpp.defines: base.concat("QT_CLUCENE_SUPPORT") + cpp.includePaths: base.concat("../../shared/help") files: [ From f1a0af4b7ed80f3762cfa3d74b9abf62c6564761 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 15 Mar 2013 13:33:13 +0100 Subject: [PATCH 34/35] Squish: Fix running tst_qtquick_creation3 ...when running on build machine and VNC session has been started by Jenkins. If so, the DISPLAY variable must be set automatically and we should not override it. Change-Id: Ic38267256c5ab8889d67fe6a4e7e46dba6515a67 Reviewed-by: Robert Loehning --- tests/system/shared/hook_utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/system/shared/hook_utils.py b/tests/system/shared/hook_utils.py index 4a179eeee3d..79f627153ae 100644 --- a/tests/system/shared/hook_utils.py +++ b/tests/system/shared/hook_utils.py @@ -111,7 +111,8 @@ def modifyRunSettingsForHookIntoQtQuickUI(kitCount, workingDir, projectName, por if platform.system() == "Darwin": __addVariableToRunEnvironment__("DYLD_FRAMEWORK_PATH", qtLibPath) if not platform.system() in ('Microsoft', 'Windows'): - __addVariableToRunEnvironment__("DISPLAY", ":0.0") + if not os.getenv("DISPLAY"): + __addVariableToRunEnvironment__("DISPLAY", ":0.0") result = qmlViewer switchViewTo(ViewConstants.EDIT) return result From e1aa32225865980992e79c53fdf3b40e0fcd0a86 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 17 Mar 2013 16:32:29 +0200 Subject: [PATCH 35/35] Qnx: Fix warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit core unused. mimeDatabase() is static Change-Id: I4f940cc16c5a3f00a20948f8fdf52af5a6ba0893 Reviewed-by: Tobias Nätterlund Reviewed-by: Eike Ziller --- src/plugins/qnx/qnxplugin.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/plugins/qnx/qnxplugin.cpp b/src/plugins/qnx/qnxplugin.cpp index e329e3b7c05..02f2d456ce7 100644 --- a/src/plugins/qnx/qnxplugin.cpp +++ b/src/plugins/qnx/qnxplugin.cpp @@ -98,9 +98,7 @@ bool QNXPlugin::initialize(const QStringList &arguments, QString *errorString) barDescriptorMimeType.addMagicMatcher(QSharedPointer(new BarDescriptorMagicMatcher)); barDescriptorMimeType.setSubClassesOf(QStringList() << QLatin1String("application/xml")); - Core::ICore *core = Core::ICore::instance(); - Core::MimeDatabase *mdb = core->mimeDatabase(); - if (!mdb->addMimeType(barDescriptorMimeType)) { + if (!Core::ICore::mimeDatabase()->addMimeType(barDescriptorMimeType)) { *errorString = tr("Could not add mime-type for bar-descriptor.xml editor"); return false; }