From f710584603c9322b57dd3725edbcd1051965e9ad Mon Sep 17 00:00:00 2001
From: Thomas Hartmann <Thomas.Hartmann@nokia.com>
Date: Fri, 1 Oct 2010 14:14:51 +0200
Subject: [PATCH] QmlDesigner: do not allow deprectaed Qt 4.7 imports for
 Bauhaus

Bauhaus does not support import Qt 4.7 anymore

Reviewed-by: Kai Koehne
---
 .../qmldesigner/designercore/include/rewriterview.h    |  1 +
 .../qmldesigner/designercore/model/rewriterview.cpp    | 10 ++++++++++
 .../designercore/model/texttomodelmerger.cpp           | 10 ++++++++++
 3 files changed, 21 insertions(+)

diff --git a/src/plugins/qmldesigner/designercore/include/rewriterview.h b/src/plugins/qmldesigner/designercore/include/rewriterview.h
index c53764c4193..dc488fa647a 100644
--- a/src/plugins/qmldesigner/designercore/include/rewriterview.h
+++ b/src/plugins/qmldesigner/designercore/include/rewriterview.h
@@ -78,6 +78,7 @@ public:
     public:
         Error();
         Error(const QDeclarativeError &qmlError);
+        Error(const QString &shortDescription);
         Error(Exception *exception);
 
         Type type() const
diff --git a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp
index 741e05884c0..19837bee51f 100644
--- a/src/plugins/qmldesigner/designercore/model/rewriterview.cpp
+++ b/src/plugins/qmldesigner/designercore/model/rewriterview.cpp
@@ -71,6 +71,16 @@ RewriterView::Error::Error(const QDeclarativeError &qmlError):
 {
 }
 
+RewriterView::Error::Error(const QString &shortDescription) :
+    m_type(ParseError),
+    m_line(1),
+    m_column(0),
+    m_description(shortDescription),
+    m_url()
+{
+}
+
+
 QString RewriterView::Error::toString() const
 {
     QString str;
diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
index bd289d0aefc..5319445aaf4 100644
--- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
+++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
@@ -587,6 +587,16 @@ bool TextToModelMerger::load(const QString &data, DifferenceHandler &differenceH
 
         setupImports(doc, differenceHandler);
 
+        foreach (const Import &import, m_rewriterView->model()->imports()) {
+            if (import.url() == "Qt") {
+                QList<RewriterView::Error> errors;
+                RewriterView::Error error(QObject::tr("Deprecated import: import Qt 4.7 use import QtQuick 1.0 instead"));
+                errors.append(error);
+                m_rewriterView->setErrors(errors);
+                return false;
+            }
+        }
+
         UiObjectMember *astRootNode = 0;
         if (UiProgram *program = doc->qmlProgram())
             if (program->members)
-- 
GitLab