diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-05-11 09:38:42 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-05-11 08:29:04 +0000 |
commit | 8b2e819ab2246d01eb564a52aa08bdf1d55c02c2 (patch) | |
tree | 0ca23d9c452462f6574ebf3ec62f7809bb5413f9 /src/quicktemplates2/qquickpopup.cpp | |
parent | d3a852fa25694134a5fc4bdc51a97abad19da775 (diff) |
QQuickPopup: align position accessors with x/y accessors
Change-Id: Ib3db04d9d1395f33bf9c8d83f69d7f24a3e380b9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickpopup.cpp')
-rw-r--r-- | src/quicktemplates2/qquickpopup.cpp | 47 |
1 files changed, 15 insertions, 32 deletions
diff --git a/src/quicktemplates2/qquickpopup.cpp b/src/quicktemplates2/qquickpopup.cpp index 2aa77aae..94cf5d76 100644 --- a/src/quicktemplates2/qquickpopup.cpp +++ b/src/quicktemplates2/qquickpopup.cpp @@ -766,24 +766,13 @@ void QQuickPopup::close() */ qreal QQuickPopup::x() const { - Q_D(const QQuickPopup); - qreal x = d->popupItem->x(); - if (d->parentItem) - x = d->parentItem->mapFromScene(QPointF(x, 0)).x(); - return x; + return position().x(); } void QQuickPopup::setX(qreal x) { Q_D(QQuickPopup); - if (qFuzzyCompare(d->x, x)) - return; - - d->x = x; - if (d->popupItem->isVisible()) - d->reposition(); - else - emit xChanged(); + setPosition(QPointF(x, d->y)); } /*! @@ -793,30 +782,22 @@ void QQuickPopup::setX(qreal x) */ qreal QQuickPopup::y() const { - Q_D(const QQuickPopup); - qreal y = d->popupItem->y(); - if (d->parentItem) - y = d->parentItem->mapFromScene(QPointF(0, y)).y(); - return y; + return position().y(); } void QQuickPopup::setY(qreal y) { Q_D(QQuickPopup); - if (qFuzzyCompare(d->y, y)) - return; - - d->y = y; - if (d->popupItem->isVisible()) - d->reposition(); - else - emit yChanged(); + setPosition(QPointF(d->x, y)); } QPointF QQuickPopup::position() const { Q_D(const QQuickPopup); - return QPointF(d->x, d->y); + QPointF pos = d->popupItem->position(); + if (d->parentItem) + pos = d->parentItem->mapFromScene(pos); + return pos; } void QQuickPopup::setPosition(const QPointF &pos) @@ -829,12 +810,14 @@ void QQuickPopup::setPosition(const QPointF &pos) d->x = pos.x(); d->y = pos.y(); - if (d->popupItem->isVisible()) + if (d->popupItem->isVisible()) { d->reposition(); - if (xChange) - emit xChanged(); - if (yChange) - emit yChanged(); + } else { + if (xChange) + emit xChanged(); + if (yChange) + emit yChanged(); + } } /*! |