From 19bfd1bcd40a05f74c1f6f339f64a9e830664ec6 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Mon, 29 Apr 2013 23:39:47 -0700 Subject: [PATCH 01/18] Editor: Fix crash on switching sessions. Task-number: QTCREATORBUG-9220 Change-Id: I0671eaa1e9785ee0327bc8cbd4519c5d696ea0ca Reviewed-by: Eike Ziller --- src/plugins/coreplugin/editormanager/editormanager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index 779c60772f5..319feea7d0e 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -2247,7 +2247,8 @@ void EditorManager::removeAllSplits() d->m_splitter->unsplitAll(); if (!editor) editor = pickUnusedEditor(); - activateEditor(editor); + if (editor) + activateEditor(editor); } void EditorManager::gotoOtherSplit() From 1bdf7225f9f41964accf5cb427fd44274b6fad37 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Mon, 29 Apr 2013 17:10:20 +0200 Subject: [PATCH 02/18] QmlDesigner.MetaInfo: updating metainfo for controls These items have proper default sizes. Change-Id: I102aa843662029dff757e11194efc4d5e5e50a99 Reviewed-by: Marco Bubke --- .../qmldesigner/componentsplugin/components.metainfo | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/plugins/qmldesigner/componentsplugin/components.metainfo b/src/plugins/qmldesigner/componentsplugin/components.metainfo index 3c32d947669..2e775a4acb1 100644 --- a/src/plugins/qmldesigner/componentsplugin/components.metainfo +++ b/src/plugins/qmldesigner/componentsplugin/components.metainfo @@ -256,8 +256,7 @@ MetaInfo { version: "1.0" requiredImport: "QtQuick.Controls" - Property { name: "width"; type: "int"; value: 360; } - Property { name: "height"; type: "int"; value: 50; } + } } @@ -288,9 +287,6 @@ MetaInfo { libraryIcon: ":/desktopplugin/images/toolbar.png" version: "1.0" requiredImport: "QtQuick.Controls" - - Property { name: "width"; type: "int"; value: 360; } - Property { name: "height"; type: "int"; value: 50; } } } From 4e37f1cd7fac22e05b2ef271aa95bb9af871b801 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Fri, 19 Apr 2013 16:27:31 +0200 Subject: [PATCH 03/18] Android: Speed up project opening by caching the sdk version The slowness is due to AndroidToolChain::addToEnvironment() being called a lot on project opening. Thus we need to avoid any file opening or process on loading. This patch does 2 things: a) It removes the call to sdkTargets() which is unneeded. That actually checks which avds are available. b) It caches the target sdk inside a named target setting. That means, we assume that the file does not change behind our backs. Task-number: QTCREATORBUG-9164 Change-Id: I9287934a0624db0b3e8318b8cf76e605418850c2 Reviewed-by: Aurindam Jana Reviewed-by: Eskil Abrahamsen Blomfeldt Reviewed-by: Eike Ziller --- src/plugins/android/androidmanager.cpp | 6 ++++++ src/plugins/android/androidqtversion.cpp | 2 -- src/plugins/projectexplorer/target.cpp | 20 ++++++++++++++++++++ src/plugins/projectexplorer/target.h | 2 ++ 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index 1cbeae98737..e8b3694d312 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -236,6 +236,10 @@ bool AndroidManager::ensureIconAttribute(ProjectExplorer::Target *target) QString AndroidManager::targetSDK(ProjectExplorer::Target *target) { + QVariant v = target->namedSettings(QLatin1String("AndroidManager.TargetSdk")); + if (v.isValid()) + return v.toString(); + QString fallback = QLatin1String("android-8"); if (QtSupport::BaseQtVersion *qt = QtSupport::QtKitInformation::qtVersion(target->kit())) if (qt->qtVersion() >= QtSupport::QtVersionNumber(5, 0, 0)) @@ -243,6 +247,7 @@ QString AndroidManager::targetSDK(ProjectExplorer::Target *target) if (!createAndroidTemplatesIfNecessary(target)) return AndroidConfigurations::instance().bestMatch(fallback); + QFile file(defaultPropertiesPath(target).toString()); if (!file.open(QIODevice::ReadOnly)) return AndroidConfigurations::instance().bestMatch(fallback); @@ -257,6 +262,7 @@ QString AndroidManager::targetSDK(ProjectExplorer::Target *target) bool AndroidManager::setTargetSDK(ProjectExplorer::Target *target, const QString &sdk) { updateTarget(target, sdk, applicationName(target)); + target->setNamedSettings(QLatin1String("AndroidManager.TargetSdk"), sdk); return true; } diff --git a/src/plugins/android/androidqtversion.cpp b/src/plugins/android/androidqtversion.cpp index e92bc0240f0..b4e82b6cd2a 100644 --- a/src/plugins/android/androidqtversion.cpp +++ b/src/plugins/android/androidqtversion.cpp @@ -118,8 +118,6 @@ void AndroidQtVersion::addToEnvironment(const ProjectExplorer::Kit *k, Utils::En if (AndroidConfigurations::instance().config().ndkLocation.isEmpty() || AndroidConfigurations::instance().config().sdkLocation.isEmpty()) return; - if (AndroidConfigurations::instance().sdkTargets().isEmpty()) - return; env.set(QLatin1String("ANDROID_NDK_PLATFORM"), AndroidConfigurations::instance().bestMatch(AndroidManager::targetSDK(target))); diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index 922af6c690d..bbd8e3fcf2e 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -64,6 +64,7 @@ const char DC_COUNT_KEY[] = "ProjectExplorer.Target.DeployConfigurationCount"; const char ACTIVE_RC_KEY[] = "ProjectExplorer.Target.ActiveRunConfiguration"; const char RC_KEY_PREFIX[] = "ProjectExplorer.Target.RunConfiguration."; const char RC_COUNT_KEY[] = "ProjectExplorer.Target.RunConfigurationCount"; +const char PLUGIN_SETTINGS_KEY[] = "ProjectExplorer.Target.PluginSettings"; } // namespace @@ -93,6 +94,7 @@ public: RunConfiguration* m_activeRunConfiguration; DeploymentData m_deploymentData; BuildTargetInfoList m_appTargets; + QVariantMap m_pluginSettings; QPixmap m_connectedPixmap; QPixmap m_readyToUsePixmap; @@ -517,6 +519,8 @@ QVariantMap Target::toMap() const for (int i = 0; i < rcs.size(); ++i) map.insert(QString::fromLatin1(RC_KEY_PREFIX) + QString::number(i), rcs.at(i)->toMap()); + map.insert(QLatin1String(PLUGIN_SETTINGS_KEY), d->m_pluginSettings); + return map; } @@ -663,6 +667,19 @@ void Target::updateDefaultRunConfigurations() addRunConfiguration(rc); } +QVariant Target::namedSettings(const QString &name) const +{ + return d->m_pluginSettings.value(name); +} + +void Target::setNamedSettings(const QString &name, const QVariant &value) +{ + if (value.isNull()) + d->m_pluginSettings.remove(name); + else + d->m_pluginSettings.insert(name, value); +} + static QString formatToolTip(const IDevice::DeviceInfo &input) { QStringList lines; @@ -824,6 +841,9 @@ bool Target::fromMap(const QVariantMap &map) setActiveRunConfiguration(rc); } + if (map.contains(QLatin1String(PLUGIN_SETTINGS_KEY))) + d->m_pluginSettings = map.value(QLatin1String(PLUGIN_SETTINGS_KEY)).toMap(); + return true; } diff --git a/src/plugins/projectexplorer/target.h b/src/plugins/projectexplorer/target.h index 3583ffd0c6e..b9f36113c52 100644 --- a/src/plugins/projectexplorer/target.h +++ b/src/plugins/projectexplorer/target.h @@ -116,6 +116,8 @@ public: void updateDefaultDeployConfigurations(); void updateDefaultRunConfigurations(); + QVariant namedSettings(const QString &name) const; + void setNamedSettings(const QString &name, const QVariant &value); signals: void targetEnabled(bool); void iconChanged(); From 7a5836d257d9a38234a5dc0928813e0fe047ceaa Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Fri, 26 Apr 2013 18:08:29 +0200 Subject: [PATCH 04/18] QmlDesigner.Instances: emit component complete signal for 5.1 Emitting the Component.onComplete signal. This is only available in Qt 5.1 Change-Id: I77503333296cccd9999d2610cca126530f777777 Reviewed-by: Marco Bubke --- .../qml2puppet/instances/graphicalnodeinstance.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/graphicalnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/graphicalnodeinstance.cpp index 78431c75137..44384f34d6c 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/graphicalnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/graphicalnodeinstance.cpp @@ -12,6 +12,8 @@ #include #include +#include + namespace QmlDesigner { namespace Internal { @@ -499,6 +501,10 @@ void GraphicalNodeInstance::doComponentComplete() disableTextCursor(quickItem()); +#if (QT_VERSION >= QT_VERSION_CHECK(5, 1, 0)) + DesignerSupport::emitComponentCompleteSignalForAttachedProperty(quickItem()); +#endif + quickItem()->update(); } From bdeb9371eefc444d52a5ee32d28ede8256e125b4 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 30 Apr 2013 11:25:47 +0200 Subject: [PATCH 05/18] QmlDesigner.Instances: The engine does set the QObject parent first We should follow the engine and set the QObject parent first. Actually some items (e.g. menus) do not like it differently. A note: The engine seems to always set the QObject parent even for items. Change-Id: I700e8802300b8eee093f73ea11e07c4cdb0338aa Reviewed-by: Marco Bubke --- .../qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp index c84323d9460..b6c0a893952 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp @@ -378,6 +378,12 @@ void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, c { QQmlProperty property(newParent, newParentProperty, context()); + QQuickItem *quickItem = qobject_cast(object); + + //The engine sets the QObject before it does reparent + if (object && !quickItem) + object->setParent(newParent); + if (isList(property)) { QQmlListReference list = qvariant_cast(property.read()); @@ -391,8 +397,6 @@ void ObjectNodeInstance::addToNewProperty(QObject *object, QObject *newParent, c property.write(objectToVariant(object)); } - QQuickItem *quickItem = qobject_cast(object); - if (object && !(quickItem && quickItem->parentItem())) object->setParent(newParent); From 2ee3bae40fb2b706fd328afd630819b57adf9fbd Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 30 Apr 2013 10:15:22 +0200 Subject: [PATCH 06/18] QmlDesigner.MetaInfo: avoid endless recusion into "." properties Actually "." properties can recurse infinitely. If a type MyType has the property parenType of MyType and it is a read only pointer, we get an infinitely recusion into "." properties. parentType.parentType.parentType... Actually this seems to be valid QML and is really the case with Menu. (In the private API though, indicated by "__") Since we enumerate "." properties in the Qt Quick Designer, we run into an infinite loop. I just cut the recursion at level 3. So we stop at myParent.myParent.myParent which I think is reasonable. Change-Id: I80866ace00f940000407cc25cec9ad6fac8b6fee Reviewed-by: Fawzi Mohamed --- .../designercore/metainfo/nodemetainfo.cpp | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp index 9c290630baf..e068a4f4ffa 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp @@ -84,7 +84,7 @@ using namespace QmlJS; typedef QPair PropertyInfo; -QList getObjectTypes(const ObjectValue *ov, const ContextPtr &context, bool local = false); +QList getObjectTypes(const ObjectValue *ov, const ContextPtr &context, bool local = false, int rec = 0); static TypeName resolveTypeName(const ASTPropertyReference *ref, const ContextPtr &context, QList &dotProperties) { @@ -226,7 +226,7 @@ QStringList prototypes(const ObjectValue *ov, const ContextPtr &context, bool ve return list; } -QList getQmlTypes(const CppComponentValue *objectValue, const ContextPtr &context, bool local = false) +QList getQmlTypes(const CppComponentValue *objectValue, const ContextPtr &context, bool local = false, int rec = 0) { QList propertyList; @@ -235,6 +235,9 @@ QList getQmlTypes(const CppComponentValue *objectValue, const Cont if (objectValue->className().isEmpty()) return propertyList; + if (rec > 2) + return propertyList; + PropertyMemberProcessor processor(context); objectValue->processMembers(&processor); @@ -246,7 +249,7 @@ QList getQmlTypes(const CppComponentValue *objectValue, const Cont //dot property const CppComponentValue * qmlValue = value_cast(objectValue->lookupMember(name, context)); if (qmlValue) { - QList dotProperties = getQmlTypes(qmlValue, context); + QList dotProperties = getQmlTypes(qmlValue, context, false, rec + 1); foreach (const PropertyInfo &propertyInfo, dotProperties) { PropertyName dotName = propertyInfo.first; TypeName type = propertyInfo.second; @@ -258,7 +261,7 @@ QList getQmlTypes(const CppComponentValue *objectValue, const Cont if (isValueType(objectValue->propertyType(name))) { const ObjectValue *dotObjectValue = value_cast(objectValue->lookupMember(name, context)); if (dotObjectValue) { - QList dotProperties = getObjectTypes(dotObjectValue, context); + QList dotProperties = getObjectTypes(dotObjectValue, context, false, rec + 1); foreach (const PropertyInfo &propertyInfo, dotProperties) { PropertyName dotName = propertyInfo.first; TypeName type = propertyInfo.second; @@ -279,9 +282,9 @@ QList getQmlTypes(const CppComponentValue *objectValue, const Cont const CppComponentValue * qmlObjectValue = value_cast(prototype); if (qmlObjectValue) - propertyList.append(getQmlTypes(qmlObjectValue, context)); + propertyList.append(getQmlTypes(qmlObjectValue, context, false, rec + 1)); else - propertyList.append(getObjectTypes(prototype, context)); + propertyList.append(getObjectTypes(prototype, context, false, rec + 1)); } return propertyList; @@ -327,7 +330,7 @@ QList getTypes(const ObjectValue *objectValue, const ContextPtr &c return propertyList; } -QList getObjectTypes(const ObjectValue *objectValue, const ContextPtr &context, bool local) +QList getObjectTypes(const ObjectValue *objectValue, const ContextPtr &context, bool local, int rec) { QList propertyList; @@ -336,6 +339,9 @@ QList getObjectTypes(const ObjectValue *objectValue, const Context if (objectValue->className().isEmpty()) return propertyList; + if (rec > 2) + return propertyList; + PropertyMemberProcessor processor(context); objectValue->processMembers(&processor); @@ -350,9 +356,9 @@ QList getObjectTypes(const ObjectValue *objectValue, const Context const CppComponentValue * qmlObjectValue = value_cast(prototype); if (qmlObjectValue) - propertyList.append(getQmlTypes(qmlObjectValue, context)); + propertyList.append(getQmlTypes(qmlObjectValue, context, local, rec + 1)); else - propertyList.append(getObjectTypes(prototype, context)); + propertyList.append(getObjectTypes(prototype, context, local, rec + 1)); } return propertyList; From af1231b6d5014d8ad88ce23424110f8573c4ccf2 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Mon, 29 Apr 2013 17:09:18 +0200 Subject: [PATCH 07/18] QmlDesigner.SubComponentManager: We have to use importPaths Otherwise we skip items derived from types only available via imports. Change-Id: I102a4843652029dff777e12594efc4d5e5e50999 Reviewed-by: Fawzi Mohamed --- .../designercore/metainfo/subcomponentmanager.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp index 09af54cd0a4..7c70d976376 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp @@ -108,7 +108,7 @@ static inline bool checkIfDerivedFromItem(const QString &fileName) snapshot.insert(document); - QmlJS::Link link(snapshot, QStringList(), QmlJS::ModelManagerInterface::instance()->builtins(document)); + QmlJS::Link link(snapshot, modelManager->importPaths(), QmlJS::ModelManagerInterface::instance()->builtins(document)); QList diagnosticLinkMessages; QmlJS::ContextPtr context = link(document, &diagnosticLinkMessages); @@ -123,15 +123,7 @@ static inline bool checkIfDerivedFromItem(const QString &fileName) if (!definition) return false; - QString fullTypeName; - for (QmlJS::AST::UiQualifiedId *iter = definition->qualifiedTypeNameId; iter; iter = iter->next) - if (!iter->name.isEmpty()) - fullTypeName += iter->name.toString() + QLatin1Char('.'); - - if (fullTypeName.endsWith(QLatin1Char('.'))) - fullTypeName.chop(1); - - const QmlJS::ObjectValue *objectValue = context->lookupType(document.data(), fullTypeName.split('.')); + const QmlJS::ObjectValue *objectValue = context->lookupType(document.data(), definition->qualifiedTypeNameId); QList prototypes = QmlJS::PrototypeIterator(objectValue, context).all(); From 2130c49102206324b5948caf1b945516db0ca8ff Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 30 Apr 2013 13:10:43 +0200 Subject: [PATCH 08/18] QmlDesigner.PropertyEditor: allow translation of all strings This patches adds the tr checkboxes to all string in the generated property sheets. Task-number: QTCREATORBUG-9184 Change-Id: I4a3ff8120d7ccd5a6b9e11d212f955cd66ba01aa Reviewed-by: Thomas Hartmann --- .../PropertyTemplates/StringEditorTemplate.template | 1 + 1 file changed, 1 insertion(+) diff --git a/share/qtcreator/qmldesigner/propertyeditor/PropertyTemplates/StringEditorTemplate.template b/share/qtcreator/qmldesigner/propertyeditor/PropertyTemplates/StringEditorTemplate.template index 5152da59d68..625d9224ddf 100644 --- a/share/qtcreator/qmldesigner/propertyeditor/PropertyTemplates/StringEditorTemplate.template +++ b/share/qtcreator/qmldesigner/propertyeditor/PropertyTemplates/StringEditorTemplate.template @@ -7,6 +7,7 @@ QWidget { LineEdit { backendValue: backendValues.%2 baseStateFlag: isBaseState + translation: true } } } \ No newline at end of file From 22f63eddb7efbf28c5b91f65c52483567a4683a5 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 30 Apr 2013 15:34:15 +0200 Subject: [PATCH 09/18] WelcomPage: fix video description Task-number: QTCREATORBUG-9087 Change-Id: I80866ace00f940000407cc25cecaad6fac8b6eee Reviewed-by: Leena Miettinen Reviewed-by: Thomas Hartmann --- share/qtcreator/welcomescreen/qtcreator_tutorials.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/share/qtcreator/welcomescreen/qtcreator_tutorials.xml b/share/qtcreator/welcomescreen/qtcreator_tutorials.xml index 8931f440051..816b82353d8 100644 --- a/share/qtcreator/welcomescreen/qtcreator_tutorials.xml +++ b/share/qtcreator/welcomescreen/qtcreator_tutorials.xml @@ -45,10 +45,6 @@ qt quick, qml - - - qt quick, qml - qt, webkit From 369351cbf25d14137bd21409f9ffa15d6bba4ecf Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 30 Apr 2013 15:50:53 +0200 Subject: [PATCH 10/18] Make sure QtQuick2 plugin is installed into right directory Task-number: QTCREATORBUG-9229 Change-Id: I0ec3fef8cdc795f041c7ec39c1fd6b68a138046f Reviewed-by: Fawzi Mohamed Reviewed-by: Michael Brasser --- .../qtcreator/templates/wizards/qtquick2-extension/project.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/share/qtcreator/templates/wizards/qtquick2-extension/project.pro b/share/qtcreator/templates/wizards/qtquick2-extension/project.pro index 7c7794671bb..babf99d64fb 100644 --- a/share/qtcreator/templates/wizards/qtquick2-extension/project.pro +++ b/share/qtcreator/templates/wizards/qtquick2-extension/project.pro @@ -27,7 +27,7 @@ OTHER_FILES = qmldir qmldir.files = qmldir unix { - installPath = $$[QT_INSTALL_IMPORTS]/$$replace(uri, \\., /) + installPath = $$[QT_INSTALL_QML]/$$replace(uri, \\., /) qmldir.path = $$installPath target.path = $$installPath INSTALLS += target qmldir From 3245b706bcd173aed34a981b592de0019e25c7d5 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 30 Apr 2013 21:47:28 +0300 Subject: [PATCH 11/18] Fix crash Task-number: QTCREATORBUG-9230 Change-Id: I24a6277c9ca5f35c803e276da82ca2b9e9d79f57 Reviewed-by: Aurindam Jana --- src/plugins/debugger/qml/qmlinspectoragent.cpp | 10 ---------- src/plugins/debugger/qml/qmlinspectoragent.h | 1 - 2 files changed, 11 deletions(-) diff --git a/src/plugins/debugger/qml/qmlinspectoragent.cpp b/src/plugins/debugger/qml/qmlinspectoragent.cpp index 3c3fcd80dd4..5bb3538712c 100644 --- a/src/plugins/debugger/qml/qmlinspectoragent.cpp +++ b/src/plugins/debugger/qml/qmlinspectoragent.cpp @@ -60,7 +60,6 @@ QmlInspectorAgent::QmlInspectorAgent(DebuggerEngine *engine, QObject *parent) , m_engineQueryId(0) , m_rootContextQueryId(0) , m_objectToSelect(-1) - , m_newObjectsCreated(false) { m_debugIdToIname.insert(-1, QByteArray("inspect")); connect(debuggerCore()->action(ShowQmlObjectTree), @@ -810,11 +809,6 @@ QList QmlInspectorAgent::buildWatchData(const ObjectReference &obj, // element makes sure we're queried on expansion. if (obj.needsMoreData()) return list; - - // To improve performance, we do not insert data for items - // that have not been previously queried when the object tree is refreshed. - if (m_newObjectsCreated) - append = false; } // properties @@ -882,10 +876,6 @@ void QmlInspectorAgent::clearObjectTree() m_debugIdToIname.clear(); m_debugIdToIname.insert(-1, QByteArray("inspect")); m_objectStack.clear(); - // reset only for qt > 4.8.3. - if (m_engineClient->objectName() != QLatin1String(QDECLARATIVE_ENGINE)) - m_newObjectsCreated = false; - removeAllObjectWatches(); } } // Internal diff --git a/src/plugins/debugger/qml/qmlinspectoragent.h b/src/plugins/debugger/qml/qmlinspectoragent.h index b50e8df9caa..c74831b66e8 100644 --- a/src/plugins/debugger/qml/qmlinspectoragent.h +++ b/src/plugins/debugger/qml/qmlinspectoragent.h @@ -145,7 +145,6 @@ private: QList m_objectWatches; QList m_fetchDataIds; QTimer m_delayQueryTimer; - bool m_newObjectsCreated; }; } // Internal From c8984dc58adb48ce82a2794fe713d945f1d4f3ec Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Thu, 25 Apr 2013 19:08:55 +0200 Subject: [PATCH 12/18] Squish: Using progressBarWait() instead of waitForSignal() Change-Id: Ia87569c080f3b54dd8f78b023408de76eb3c574c Reviewed-by: Christian Stenger --- tests/system/shared/build_utils.py | 3 +-- tests/system/shared/project.py | 6 +++--- tests/system/shared/utils.py | 4 ++-- tests/system/suite_CSUP/tst_CSUP04/test.py | 2 +- tests/system/suite_CSUP/tst_CSUP05/test.py | 2 +- tests/system/suite_WELP/tst_WELP02/test.py | 6 ++---- tests/system/suite_editors/tst_basic_cpp_support/test.py | 3 +-- tests/system/suite_general/tst_build_speedcrunch/test.py | 2 +- tests/system/suite_general/tst_cmake_speedcrunch/test.py | 2 +- tests/system/suite_general/tst_openqt_creator/test.py | 4 ++-- tests/system/suite_qtquick/tst_qtquick_creation4/test.py | 2 +- 11 files changed, 16 insertions(+), 20 deletions(-) diff --git a/tests/system/shared/build_utils.py b/tests/system/shared/build_utils.py index 491c4bb7df2..859131d8039 100644 --- a/tests/system/shared/build_utils.py +++ b/tests/system/shared/build_utils.py @@ -163,8 +163,7 @@ def selectBuildConfig(targetCount, currentTarget, configName): switchViewTo(ViewConstants.PROJECTS) switchToBuildOrRunSettingsFor(targetCount, currentTarget, ProjectSettings.BUILD) if selectFromCombo(":scrollArea.Edit build configuration:_QComboBox", configName): - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", - "sourceFilesRefreshed(QStringList)") + progressBarWait(30000) return getQtInformationForBuildSettings(targetCount, True, ViewConstants.EDIT) # This will not trigger a rebuild. If needed, caller has to do this. diff --git a/tests/system/shared/project.py b/tests/system/shared/project.py index 95ea4988656..99fa6c76fea 100644 --- a/tests/system/shared/project.py +++ b/tests/system/shared/project.py @@ -175,7 +175,7 @@ def createProject_Qt_GUI(path, projectName, checks = True): expectedFiles.extend(__sortFilenamesOSDependent__(["main.cpp", cpp_file, h_file, ui_file, pro_file])) __createProjectHandleLastPage__(expectedFiles) - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)", 20000) + progressBarWait(20000) __verifyFileCreation__(path, expectedFiles) return checkedTargets @@ -199,7 +199,7 @@ def createProject_Qt_Console(path, projectName, checks = True): expectedFiles.extend(__sortFilenamesOSDependent__([cpp_file, pro_file])) __createProjectHandleLastPage__(expectedFiles) - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)", 10000) + progressBarWait(10000) __verifyFileCreation__(path, expectedFiles) return checkedTargets @@ -224,7 +224,7 @@ def createNewQtQuickApplication(workingDir, projectName = None, templateFile = N clickButton(nextButton) __createProjectHandleLastPage__() - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)", 10000) + progressBarWait(10000) return checkedTargets, projectName def createNewQtQuickUI(workingDir): diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py index 4bb0e36ef8f..b1f55dc5a64 100644 --- a/tests/system/shared/utils.py +++ b/tests/system/shared/utils.py @@ -609,9 +609,9 @@ def checkIfObjectExists(name, shouldExist = True, timeout = 3000, verboseOnFail return result # wait for progress bar(s) to appear and disappear -def progressBarWait(): +def progressBarWait(timeout=60000): checkIfObjectExists("{type='Core::Internal::ProgressBar' unnamed='1'}", True, 2000) - checkIfObjectExists("{type='Core::Internal::ProgressBar' unnamed='1'}", False, 60000) + checkIfObjectExists("{type='Core::Internal::ProgressBar' unnamed='1'}", False, timeout) def readFile(filename): f = open(filename, "r") diff --git a/tests/system/suite_CSUP/tst_CSUP04/test.py b/tests/system/suite_CSUP/tst_CSUP04/test.py index 405c5955181..05c7d5e4a69 100644 --- a/tests/system/suite_CSUP/tst_CSUP04/test.py +++ b/tests/system/suite_CSUP/tst_CSUP04/test.py @@ -19,7 +19,7 @@ def main(): openQmakeProject(examplePath) installLazySignalHandler("{type='Core::FutureProgress' unnamed='1'}", "finished()", "__handleFutureProgress__") # wait for parsing to complete - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)") + progressBarWait(30000) # open .cpp file in editor if not openDocument("propertyanimation.Sources.main\\.cpp"): test.fatal("Could not open main.cpp") diff --git a/tests/system/suite_CSUP/tst_CSUP05/test.py b/tests/system/suite_CSUP/tst_CSUP05/test.py index 97dec22d1e3..174759e7da5 100644 --- a/tests/system/suite_CSUP/tst_CSUP05/test.py +++ b/tests/system/suite_CSUP/tst_CSUP05/test.py @@ -17,7 +17,7 @@ def main(): # open example project openQmakeProject(examplePath) # wait for parsing to complete - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)") + progressBarWait(30000) # open .cpp file in editor if not openDocument("propertyanimation.Sources.main\\.cpp"): test.fatal("Could not open main.cpp") diff --git a/tests/system/suite_WELP/tst_WELP02/test.py b/tests/system/suite_WELP/tst_WELP02/test.py index a68f7554866..d8b359b0704 100644 --- a/tests/system/suite_WELP/tst_WELP02/test.py +++ b/tests/system/suite_WELP/tst_WELP02/test.py @@ -28,8 +28,7 @@ def main(): # select "Create Project" and try to create a new project. # create Qt Quick application from "Welcome" page -> "Develop" tab createNewQtQuickApplication(tempDir(), "SampleApp", fromWelcome = True) - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", - "sourceFilesRefreshed(QStringList)") + progressBarWait(30000) test.verify(checkIfObjectExists("{column='0' container=':Qt Creator_Utils::NavigationTreeView'" " text~='SampleApp( \(.*\))?' type='QModelIndex'}"), "Verifying: The project is opened in 'Edit' mode after configuring.") @@ -42,8 +41,7 @@ def main(): examplePath = os.path.join(prepareTemplate(sourceExample), "propertyanimation.pro") # open example project from "Welcome" page -> "Develop" tab openQmakeProject(examplePath, fromWelcome = True) - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", - "sourceFilesRefreshed(QStringList)") + progressBarWait(30000) test.verify(checkIfObjectExists("{column='0' container=':Qt Creator_Utils::NavigationTreeView'" " text~='propertyanimation( \(.*\))?' type='QModelIndex'}"), "Verifying: The project is opened in 'Edit' mode after configuring.") diff --git a/tests/system/suite_editors/tst_basic_cpp_support/test.py b/tests/system/suite_editors/tst_basic_cpp_support/test.py index c48332e0e6a..a19b28561e8 100644 --- a/tests/system/suite_editors/tst_basic_cpp_support/test.py +++ b/tests/system/suite_editors/tst_basic_cpp_support/test.py @@ -19,9 +19,8 @@ def main(): overrideInstallLazySignalHandler() installLazySignalHandler(":Qt Creator_CppEditor::Internal::CPPEditorWidget", "textChanged()", "__handleTextChanged__") - prepareForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)") openQmakeProject(proFile) - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)", 20000) + progressBarWait(20000) selectFromLocator("dummy.cpp") ## Waiting for a solution from Froglogic to make the below work. diff --git a/tests/system/suite_general/tst_build_speedcrunch/test.py b/tests/system/suite_general/tst_build_speedcrunch/test.py index 9925be73db4..65b915023ba 100644 --- a/tests/system/suite_general/tst_build_speedcrunch/test.py +++ b/tests/system/suite_general/tst_build_speedcrunch/test.py @@ -21,7 +21,7 @@ def main(): if platform.system() in ('Windows', 'Microsoft'): suitableKits |= Targets.DESKTOP_474_MSVC2008 checkedTargets = openQmakeProject(SpeedCrunchPath, suitableKits) - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)") + progressBarWait(30000) fancyToolButton = waitForObject(":*Qt Creator_Core::Internal::FancyToolButton") diff --git a/tests/system/suite_general/tst_cmake_speedcrunch/test.py b/tests/system/suite_general/tst_cmake_speedcrunch/test.py index feac26c9e3b..1521611fff5 100644 --- a/tests/system/suite_general/tst_cmake_speedcrunch/test.py +++ b/tests/system/suite_general/tst_cmake_speedcrunch/test.py @@ -21,7 +21,7 @@ def main(): test.fatal("Could not open/create cmake project - leaving test") invokeMenuItem("File", "Exit") return - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)") + progressBarWait(30000) # Invoke a rebuild of the application invokeMenuItem("Build", "Rebuild All") diff --git a/tests/system/suite_general/tst_openqt_creator/test.py b/tests/system/suite_general/tst_openqt_creator/test.py index 7993d4b30eb..b6475fd6d9f 100644 --- a/tests/system/suite_general/tst_openqt_creator/test.py +++ b/tests/system/suite_general/tst_openqt_creator/test.py @@ -12,10 +12,10 @@ def main(): openQmakeProject(pathSpeedcrunch) # Wait for parsing to complete - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)") + progressBarWait(30000) openQmakeProject(pathCreator) # Wait for parsing to complete - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)", 300000) + progressBarWait(300000) naviTreeView = "{column='0' container=':Qt Creator_Utils::NavigationTreeView' text~='%s' type='QModelIndex'}" compareProjectTree(naviTreeView % "speedcrunch( \(\S+\))?", "projecttree_speedcrunch.tsv") diff --git a/tests/system/suite_qtquick/tst_qtquick_creation4/test.py b/tests/system/suite_qtquick/tst_qtquick_creation4/test.py index 3908ec9c423..d8ccecd7cbb 100644 --- a/tests/system/suite_qtquick/tst_qtquick_creation4/test.py +++ b/tests/system/suite_qtquick/tst_qtquick_creation4/test.py @@ -7,7 +7,7 @@ def main(): # using a temporary directory won't mess up a potentially existing createNewQmlExtension(tempDir()) # wait for parsing to complete - waitForSignal("{type='CppTools::Internal::CppModelManager' unnamed='1'}", "sourceFilesRefreshed(QStringList)") + progressBarWait(30000) test.log("Building project") invokeMenuItem("Build","Build All") waitForSignal("{type='ProjectExplorer::BuildManager' unnamed='1'}", "buildQueueFinished(bool)") From f298b063c8a6810682ae38e2fae02ebd80b472c5 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 30 Apr 2013 19:50:12 +0300 Subject: [PATCH 13/18] Ignore dirty working directory for qbs submodule The submodule is mostly used for building against, not for editing. On most cases, its internal status is not interesting, and git scans it for no reason. Change-Id: Ic290bd78fdb6704a15264a022125c99cf006a0db Reviewed-by: Oswald Buddenhagen --- .gitmodules | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitmodules b/.gitmodules index 3abc8f844da..9eb4a3af9d6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "qbs"] path = src/shared/qbs url = ../../qt-labs/qbs.git + ignore = dirty From 3aa424ca6498653e12a21b010058a22558995e51 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Thu, 2 May 2013 12:45:54 +0200 Subject: [PATCH 14/18] WelcomePage: Show demos in the examples view Change-Id: Idc466b7e058375c0e393eb9f9dd2cc8f58abb2af Reviewed-by: Thomas Hartmann --- src/plugins/qtsupport/exampleslistmodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/qtsupport/exampleslistmodel.cpp b/src/plugins/qtsupport/exampleslistmodel.cpp index 602b70c17fb..54a083c41a0 100644 --- a/src/plugins/qtsupport/exampleslistmodel.cpp +++ b/src/plugins/qtsupport/exampleslistmodel.cpp @@ -717,7 +717,7 @@ bool ExamplesListModelFilter::filterAcceptsRow(int sourceRow, const QModelIndex if (!m_showTutorialsOnly) { int type = sourceModel()->index(sourceRow, 0, sourceParent).data(Type).toInt(); - if (type != Example) + if (type != Example && type != Demo) return false; } From 3abe2a72eab8534ba4ce25a3bb1015139964a987 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Thu, 21 Mar 2013 19:24:34 +0100 Subject: [PATCH 15/18] UicCodeModelSupport: Make the code not so eager to run uic processes Instead mostly postpone it until the contents are needed. Task-number: QTCREATORBUG-9149 Change-Id: I83167537e97fbd965531d990c8073409ff7b0b32 Reviewed-by: Eike Ziller --- .../cmakeuicodemodelsupport.h | 1 + src/plugins/cpptools/abstracteditorsupport.h | 4 +- .../cpptools/uicodecompletionsupport.cpp | 47 ++++++++++++++----- .../cpptools/uicodecompletionsupport.h | 9 ++-- .../qt4projectmanager/qtuicodemodelsupport.h | 1 + 5 files changed, 47 insertions(+), 15 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/cmakeuicodemodelsupport.h b/src/plugins/cmakeprojectmanager/cmakeuicodemodelsupport.h index 13188dd8180..0e2261a8023 100644 --- a/src/plugins/cmakeprojectmanager/cmakeuicodemodelsupport.h +++ b/src/plugins/cmakeprojectmanager/cmakeuicodemodelsupport.h @@ -42,6 +42,7 @@ class CMakeProject; class CMakeUiCodeModelSupport : public CppTools::UiCodeModelSupport { + Q_OBJECT public: CMakeUiCodeModelSupport(CPlusPlus::CppModelManagerInterface *modelmanager, CMakeProject *project, diff --git a/src/plugins/cpptools/abstracteditorsupport.h b/src/plugins/cpptools/abstracteditorsupport.h index e52eebf319e..858f893cb82 100644 --- a/src/plugins/cpptools/abstracteditorsupport.h +++ b/src/plugins/cpptools/abstracteditorsupport.h @@ -33,6 +33,7 @@ #include "cpptools_global.h" #include +#include namespace CPlusPlus { class CppModelManagerInterface; @@ -40,8 +41,9 @@ class CppModelManagerInterface; namespace CppTools { -class CPPTOOLS_EXPORT AbstractEditorSupport +class CPPTOOLS_EXPORT AbstractEditorSupport : public QObject { + Q_OBJECT public: explicit AbstractEditorSupport(CPlusPlus::CppModelManagerInterface *modelmanager); virtual ~AbstractEditorSupport(); diff --git a/src/plugins/cpptools/uicodecompletionsupport.cpp b/src/plugins/cpptools/uicodecompletionsupport.cpp index b9e2f7bdde5..54403f9a93f 100644 --- a/src/plugins/cpptools/uicodecompletionsupport.cpp +++ b/src/plugins/cpptools/uicodecompletionsupport.cpp @@ -44,11 +44,12 @@ UiCodeModelSupport::UiCodeModelSupport(CppModelManagerInterface *modelmanager, : AbstractEditorSupport(modelmanager), m_sourceName(source), m_fileName(uiHeaderFile), - m_initialized(false), - m_running(false) + m_state(BARE) { if (debug) qDebug()<<"ctor UiCodeModelSupport for"< m_waitingForStart; }; } // CppTools diff --git a/src/plugins/qt4projectmanager/qtuicodemodelsupport.h b/src/plugins/qt4projectmanager/qtuicodemodelsupport.h index 7816da191d2..d09e2f91265 100644 --- a/src/plugins/qt4projectmanager/qtuicodemodelsupport.h +++ b/src/plugins/qt4projectmanager/qtuicodemodelsupport.h @@ -42,6 +42,7 @@ namespace Internal { class Qt4UiCodeModelSupport : public CppTools::UiCodeModelSupport { + Q_OBJECT public: Qt4UiCodeModelSupport(CPlusPlus::CppModelManagerInterface *modelmanager, Qt4Project *project, From e0f50c046840c66301d0bd1e1ca4681a03cb7f27 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Tue, 30 Apr 2013 15:36:33 +0200 Subject: [PATCH 16/18] Wizards: Adding simple wizard for QtQuick.Controls Change-Id: I80746a3e77f94040a407ce25cec9ad6fac8b6fce Reviewed-by: Leena Miettinen Reviewed-by: Kai Koehne --- .../templates/qml/qtquickcontrols/main.qml | 24 +++++++++++++++++++ .../qml/qtquickcontrols/main.qmlproject | 21 ++++++++++++++++ .../qml/qtquickcontrols/template.xml | 7 ++++++ 3 files changed, 52 insertions(+) create mode 100644 share/qtcreator/templates/qml/qtquickcontrols/main.qml create mode 100644 share/qtcreator/templates/qml/qtquickcontrols/main.qmlproject create mode 100644 share/qtcreator/templates/qml/qtquickcontrols/template.xml diff --git a/share/qtcreator/templates/qml/qtquickcontrols/main.qml b/share/qtcreator/templates/qml/qtquickcontrols/main.qml new file mode 100644 index 00000000000..67a98612785 --- /dev/null +++ b/share/qtcreator/templates/qml/qtquickcontrols/main.qml @@ -0,0 +1,24 @@ +import QtQuick 2.0 +import QtQuick.Controls 1.0 +import QtQuick.Window 2.0 + +ApplicationWindow { + width: 640 + height: 480 + + menuBar: MenuBar { + Menu { + title: qsTr("File") + MenuItem { + text: qsTr("Exit") + onTriggered: Qt.quit(); + } + } + } + + Button { + text: qsTr("Hello World") + anchors.horizontalCenter: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + } +} diff --git a/share/qtcreator/templates/qml/qtquickcontrols/main.qmlproject b/share/qtcreator/templates/qml/qtquickcontrols/main.qmlproject new file mode 100644 index 00000000000..558f68d0351 --- /dev/null +++ b/share/qtcreator/templates/qml/qtquickcontrols/main.qmlproject @@ -0,0 +1,21 @@ +/* File generated by Qt Creator, version 2.7.0 */ + +import QmlProject 1.1 + +Project { +// QTC_REPLACE main.qml WITH main + mainFile: "main.qml" + + /* Include .qml, .js, and image files from current directory and subdirectories */ + QmlFiles { + directory: "." + } + JavaScriptFiles { + directory: "." + } + ImageFiles { + directory: "." + } + /* List of plugin directories passed to QML runtime */ + // importPaths: [ "../exampleplugin" ] +} diff --git a/share/qtcreator/templates/qml/qtquickcontrols/template.xml b/share/qtcreator/templates/qml/qtquickcontrols/template.xml new file mode 100644 index 00000000000..aea726ab21f --- /dev/null +++ b/share/qtcreator/templates/qml/qtquickcontrols/template.xml @@ -0,0 +1,7 @@ + + From be7f73308c63ea8d69360618ed6f6b5a773f90f8 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Thu, 2 May 2013 18:09:38 +0300 Subject: [PATCH 17/18] Git: Use consistent ordering for Merge Tool dialog On Windows it is "Ignore, Merge Tool, Skip, Abort", while on Linux it is "Merge Tool, Ignore, Skip, Abort" That makes Ignore default on Windows, which is confusing Change-Id: Id7e9e8dd6fd5748d518de4d94db47ae075268627 Reviewed-by: Tobias Hunger --- src/plugins/git/gitclient.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index c4ec4659f03..ed553af9d31 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -2160,12 +2160,13 @@ void GitClient::handleMergeConflicts(const QString &workingDir, const QString &c { QString message = commit.isEmpty() ? tr("Conflicts detected") : tr("Conflicts detected with commit %1").arg(commit); - QMessageBox mergeOrAbort(QMessageBox::Question, tr("Conflicts Detected"), - message, QMessageBox::Ignore | QMessageBox::Abort); + QMessageBox mergeOrAbort(QMessageBox::Question, tr("Conflicts Detected"), message); QPushButton *mergeToolButton = mergeOrAbort.addButton(tr("Run &Merge Tool"), - QMessageBox::ActionRole); + QMessageBox::AcceptRole); + mergeOrAbort.addButton(QMessageBox::Ignore); if (abortCommand == QLatin1String("rebase")) - mergeOrAbort.addButton(tr("&Skip"), QMessageBox::ActionRole); + mergeOrAbort.addButton(tr("&Skip"), QMessageBox::RejectRole); + mergeOrAbort.addButton(QMessageBox::Abort); switch (mergeOrAbort.exec()) { case QMessageBox::Abort: synchronousAbortCommand(workingDir, abortCommand); From 6999e3c33907c0b4b09902f18dee0407c6d6293e Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Fri, 12 Apr 2013 15:50:52 +0200 Subject: [PATCH 18/18] Remove StatusDisplay.qml from qbs build system It is already gone from qmake. Change-Id: Iad2835d6b937fc7215da070a1c839139419026dd Reviewed-by: Christiaan Janssen --- src/plugins/qmlprofiler/qmlprofiler.qbs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/qmlprofiler/qmlprofiler.qbs b/src/plugins/qmlprofiler/qmlprofiler.qbs index 7a97fec0b72..09044ab8425 100644 --- a/src/plugins/qmlprofiler/qmlprofiler.qbs +++ b/src/plugins/qmlprofiler/qmlprofiler.qbs @@ -76,7 +76,6 @@ QtcPlugin { "qml/RangeMover.qml", "qml/SelectionRange.qml", "qml/SelectionRangeDetails.qml", - "qml/StatusDisplay.qml", "qml/TimeDisplay.qml", "qml/TimeMarks.qml", "qml/qmlprofiler.qrc",