From e732b3c1022924e298a645ecbd7f41b9f1d71f21 Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Fri, 26 Nov 2010 10:32:27 +0100 Subject: [PATCH 1/3] QmlDump: Allow building and using with Simulator Qt >= 4.7.1. Reviewed-by: owolff Reviewed-by: Kai Koehne --- share/qtcreator/qml/qmldump/main.cpp | 6 ++++++ src/plugins/qt4projectmanager/qmldumptool.cpp | 21 +++++++++++-------- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/share/qtcreator/qml/qmldump/main.cpp b/share/qtcreator/qml/qmldump/main.cpp index 93f349c98be..46334c4d375 100644 --- a/share/qtcreator/qml/qmldump/main.cpp +++ b/share/qtcreator/qml/qmldump/main.cpp @@ -14,6 +14,9 @@ #include #include #include +#ifdef QT_SIMULATOR +#include +#endif static QHash > qmlTypesByCppName; static QHash cppToId; @@ -254,6 +257,9 @@ void writeEasingCurve(QXmlStreamWriter *xml) int main(int argc, char *argv[]) { +#ifdef QT_SIMULATOR + QtSimulatorPrivate::SimulatorConnection::createStubInstance(); +#endif QApplication app(argc, argv); if (argc != 1 && argc != 3) { diff --git a/src/plugins/qt4projectmanager/qmldumptool.cpp b/src/plugins/qt4projectmanager/qmldumptool.cpp index 46d849dfa9c..4f11e604216 100644 --- a/src/plugins/qt4projectmanager/qmldumptool.cpp +++ b/src/plugins/qt4projectmanager/qmldumptool.cpp @@ -141,8 +141,10 @@ bool QmlDumpTool::canBuild(const QtVersion *qtVersion) { const QString installHeaders = qtVersion->versionInfo().value("QT_INSTALL_HEADERS"); const QString header = installHeaders + QLatin1String("/QtDeclarative/private/qdeclarativemetatype_p.h"); - return qtVersion->supportsTargetId(Constants::DESKTOP_TARGET_ID) - && QFile::exists(header); + return (qtVersion->supportsTargetId(Constants::DESKTOP_TARGET_ID) + || (qtVersion->supportsTargetId(Constants::QT_SIMULATOR_TARGET_ID) + && checkMinimumQtVersion(qtVersion->qtVersionString(), 4, 7, 1))) + && QFile::exists(header); } static QtVersion *qtVersionForProject(ProjectExplorer::Project *project) @@ -170,24 +172,25 @@ static QtVersion *qtVersionForProject(ProjectExplorer::Project *project) return 0; } - // else, find any desktop Qt version that has qmldump, or - if there isn't any - - // one that could build it - QtVersion *desktopQt = 0; + // else, find any desktop or simulator Qt version that has qmldump, or + // - if there isn't any - one that could build it + QtVersion *canBuildQmlDump = 0; QtVersionManager *qtVersions = QtVersionManager::instance(); foreach (QtVersion *version, qtVersions->validVersions()) { - if (version->supportsTargetId(Constants::DESKTOP_TARGET_ID)) { + if (version->supportsTargetId(Constants::DESKTOP_TARGET_ID) + || version->supportsTargetId(Constants::QT_SIMULATOR_TARGET_ID)) { const QString qtInstallData = version->versionInfo().value("QT_INSTALL_DATA"); const QString path = QmlDumpTool::toolByInstallData(qtInstallData); if (!path.isEmpty()) return version; - if (!desktopQt && QmlDumpTool::canBuild(version)) { - desktopQt = version; + if (!canBuildQmlDump && QmlDumpTool::canBuild(version)) { + canBuildQmlDump = version; } } } - return desktopQt; + return canBuildQmlDump; } QString QmlDumpTool::toolForProject(ProjectExplorer::Project *project) From 03369da502bea15b9aaaccc3e4b39fac070d7927 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Fri, 26 Nov 2010 12:02:11 +0100 Subject: [PATCH 2/3] QmlDesigner.rewriter: fix possible incompatibilities with import plugins The current Qt Version might be build with mingw or even be a Symbian or Maemo target. This patch ensures that we do not try to load a plugin from the configured Qt Version anymore. Instead we only load plugins provided by Qt Creator or plugins which are specified by: QML_IMPORT_PATH Reviewed-by: Kai Koehne Reviewed-by: Erik Verbruggen --- .../qmldesigner/designercore/model/texttomodelmerger.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index 6e1c7483c9f..41d3aa1bf50 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -580,8 +580,6 @@ bool TextToModelMerger::load(const QString &data, DifferenceHandler &differenceH { // Have the QML engine check if the document is valid: QDeclarativeEngine engine; engine.setOutputWarningsToStandardError(false); - foreach (const QString &importPath, importPaths) - engine.addImportPath(importPath); QDeclarativeComponent comp(&engine); comp.setData(data.toUtf8(), url); if (comp.status() == QDeclarativeComponent::Error) { From e0084d9ef00e054cb808d23513e88c8299b5ceac Mon Sep 17 00:00:00 2001 From: Daniel Molkentin Date: Tue, 30 Nov 2010 13:26:14 +0100 Subject: [PATCH 3/3] Show buttons only when more than one tip is available Task-number: QTCREATORBUG-3160 Reviewed-by: con --- .../gettingstartedwelcomepagewidget.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp index 2329ba7919c..b2fb430db4e 100644 --- a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp +++ b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp @@ -140,8 +140,8 @@ GettingStartedWelcomePageWidget::GettingStartedWelcomePageWidget(QWidget *parent const QString featureRssFile = Core::ICore::instance()->resourcePath()+QLatin1String("/rss/featured.rss"); emit startRssFetching(QUrl::fromLocalFile(featureRssFile)); - ui->nextFeatureBtn->setEnabled(false); - ui->prevFeatureBtn->setEnabled(false); + ui->nextFeatureBtn->hide(); + ui->prevFeatureBtn->hide(); connect(ui->nextFeatureBtn, SIGNAL(clicked()), this, SLOT(slotNextFeature())); connect(ui->prevFeatureBtn, SIGNAL(clicked()), this, SLOT(slotPrevFeature())); } @@ -525,8 +525,10 @@ QStringList GettingStartedWelcomePageWidget::tipsOfTheDay() void GettingStartedWelcomePageWidget::addToFeatures(const RssItem &feature) { m_featuredItems.append(feature); - ui->nextFeatureBtn->setEnabled(true); - ui->prevFeatureBtn->setEnabled(true); + if (m_featuredItems.count() > 1) { + ui->nextFeatureBtn->show(); + ui->prevFeatureBtn->show(); + } } void GettingStartedWelcomePageWidget::showFeature(int feature)