Remove "All rights reserved" line from license headers.
[profile/ivi/qtdeclarative.git] / src / qtquick1 / util / qdeclarativeview.cpp
index b6ba7a4..0c8637d 100644 (file)
@@ -1,8 +1,7 @@
 /****************************************************************************
 **
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
+** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/
 **
 ** This file is part of the QtDeclarative module of the Qt Toolkit.
 **
@@ -35,6 +34,7 @@
 **
 **
 **
+**
 ** $QT_END_LICENSE$
 **
 ****************************************************************************/
@@ -51,7 +51,6 @@
 #include <QtDeclarative/private/qdeclarativedebugtrace_p.h>
 #include <QtDeclarative/private/qdeclarativeinspectorservice_p.h>
 
-#include <qscriptvalueiterator.h>
 #include <qdebug.h>
 #include <qtimer.h>
 #include <qevent.h>
@@ -65,8 +64,8 @@
 #include <qgraphicswidget.h>
 #include <qbasictimer.h>
 #include <QtCore/qabstractanimation.h>
-#include <private/qgraphicsview_p.h>
 #include <QtQuick1/private/qdeclarativeitem_p.h>
+#include <QtWidgets/private/qgraphicsview_p.h>
 #include <private/qabstractanimation_p.h>
 #include <QtQuick1/private/qdeclarativeitemchangelistener_p.h>
 
@@ -191,7 +190,7 @@ void QDeclarativeViewPrivate::itemGeometryChanged(QDeclarativeItem *resizeItem,
 
 /*!
     \class QDeclarativeView
-    \since 4.7
+    \since QtQuick 1.0
     \brief The QDeclarativeView class provides a widget for displaying a Qt Declarative user interface.
 
     QDeclarativeItem objects can be placed on a standard QGraphicsScene and
@@ -248,6 +247,10 @@ void QDeclarativeViewPrivate::itemGeometryChanged(QDeclarativeItem *resizeItem,
     This signal is emitted when the component's current \a status changes.
 */
 
+/*! \fn void QDeclarativeView::initialSizeChanged(QSize size)
+  \internal
+*/
+
 /*!
   \fn QDeclarativeView::QDeclarativeView(QWidget *parent)
 
@@ -301,7 +304,8 @@ void QDeclarativeViewPrivate::init()
     q->viewport()->setAttribute(Qt::WA_NoSystemBackground);
 #endif
 
-    QDeclarativeInspectorService::instance()->addView(q);
+    if (QDeclarativeDebugService::isDebuggingEnabled())
+        QDeclarativeInspectorService::instance()->addView(q);
 }
 
 /*!
@@ -309,7 +313,8 @@ void QDeclarativeViewPrivate::init()
  */
 QDeclarativeView::~QDeclarativeView()
 {
-    QDeclarativeInspectorService::instance()->removeView(this);
+    if (QDeclarativeDebugService::isDebuggingEnabled())
+        QDeclarativeInspectorService::instance()->removeView(this);
 }
 
 /*! \property QDeclarativeView::source
@@ -598,16 +603,20 @@ void QDeclarativeView::setRootObject(QObject *obj)
                 widget->setVisible(true);
             }
             resize(widget->size());
+        }else{
+            delete obj;
         }
     }
 
     if (d->root) {
         d->initialSize = d->rootObjectSize();
-        if (d->initialSize != size()) {
+        if ((d->resizeMode == QDeclarativeView::SizeViewToRootObject || !testAttribute(Qt::WA_Resized))
+             && d->initialSize != size()) {
             if (!(parentWidget() && parentWidget()->layout())) {
                 resize(d->initialSize);
             }
         }
+        emit initialSizeChanged(d->initialSize);
         d->initResize();
     }
 }
@@ -734,4 +743,10 @@ void QDeclarativeView::paintEvent(QPaintEvent *event)
 
 }
 
+QDeclarativeItem * QDeclarativeView::accessibleRootItem() const
+{
+    Q_D(const QDeclarativeView);
+    return d->declarativeItemRoot;
+}
+
 QT_END_NAMESPACE