diff options
-rw-r--r-- | src/quick/items/qquickimagebase.cpp | 10 | ||||
-rw-r--r-- | src/quick/items/qquickimagebase_p.h | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/quick/items/qquickimagebase.cpp b/src/quick/items/qquickimagebase.cpp index 1a5d115a3c..a4c4af4e45 100644 --- a/src/quick/items/qquickimagebase.cpp +++ b/src/quick/items/qquickimagebase.cpp @@ -35,6 +35,7 @@ #include "qquickimagebase_p_p.h" #include <QtGui/qguiapplication.h> +#include <QtGui/qscreen.h> #include <QtQml/qqmlinfo.h> #include <QtQml/qqmlfile.h> @@ -45,14 +46,12 @@ QQuickImageBase::QQuickImageBase(QQuickItem *parent) : QQuickImplicitSizeItem(*(new QQuickImageBasePrivate), parent) { setFlag(ItemHasContents); - connect(this, SIGNAL(windowChanged(QQuickWindow*)), SLOT(handleWindowChanged(QQuickWindow*))); } QQuickImageBase::QQuickImageBase(QQuickImageBasePrivate &dd, QQuickItem *parent) : QQuickImplicitSizeItem(dd, parent) { setFlag(ItemHasContents); - connect(this, SIGNAL(windowChanged(QQuickWindow*)), SLOT(handleWindowChanged(QQuickWindow*))); } QQuickImageBase::~QQuickImageBase() @@ -278,10 +277,11 @@ void QQuickImageBase::requestProgress(qint64 received, qint64 total) } } -void QQuickImageBase::handleWindowChanged(QQuickWindow* window) +void QQuickImageBase::itemChange(ItemChange change, const ItemChangeData &value) { - if (window) - connect(window, SIGNAL(screenChanged(QScreen*)), this, SLOT(handleScreenChanged(QScreen*))); + if (change == ItemSceneChange && value.window) + connect(value.window, &QQuickWindow::screenChanged, this, &QQuickImageBase::handleScreenChanged); + QQuickItem::itemChange(change, value); } void QQuickImageBase::handleScreenChanged(QScreen* screen) diff --git a/src/quick/items/qquickimagebase_p.h b/src/quick/items/qquickimagebase_p.h index 4446268a2b..2750db8873 100644 --- a/src/quick/items/qquickimagebase_p.h +++ b/src/quick/items/qquickimagebase_p.h @@ -93,12 +93,12 @@ protected: virtual void load(); virtual void componentComplete(); virtual void pixmapChange(); + void itemChange(ItemChange change, const ItemChangeData &value) Q_DECL_OVERRIDE; QQuickImageBase(QQuickImageBasePrivate &dd, QQuickItem *parent); private Q_SLOTS: virtual void requestFinished(); void requestProgress(qint64,qint64); - void handleWindowChanged(QQuickWindow *window); void handleScreenChanged(QScreen *screen); private: |