diff options
author | J-P Nurmi <jpnurmi@digia.com> | 2013-08-01 11:44:50 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-08-13 19:15:20 +0200 |
commit | c4008e9f7e19cea0d36c979ea680a07486cc9184 (patch) | |
tree | 4819f88c2070a3f163710feead969cbb48d76f7d /src/controls/qquickmenupopupwindow.cpp | |
parent | 3d0e27a2deb6ab9a0c68b19dbf3e41211967acd4 (diff) | |
download | qtquickcontrols-c4008e9f7e19cea0d36c979ea680a07486cc9184.tar.gz |
Menus: add RTL support
Change-Id: I60f997e545076feb5b72fb9eb4a03b050db5f511
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
Diffstat (limited to 'src/controls/qquickmenupopupwindow.cpp')
-rw-r--r-- | src/controls/qquickmenupopupwindow.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/controls/qquickmenupopupwindow.cpp b/src/controls/qquickmenupopupwindow.cpp index b44b082c..19d85de0 100644 --- a/src/controls/qquickmenupopupwindow.cpp +++ b/src/controls/qquickmenupopupwindow.cpp @@ -84,6 +84,8 @@ void QQuickMenuPopupWindow::show() posy -= pos.y(); } + m_initialPos = QPointF(posx, posy); + if (m_menuContentItem) { qreal initialWidth = qMax(qreal(1), m_menuContentItem->width()); qreal initialHeight = qMax(qreal(1), m_menuContentItem->height()); @@ -180,7 +182,11 @@ void QQuickMenuPopupWindow::dismissMenu() void QQuickMenuPopupWindow::updateSize() { QSize contentSize = contentItem()->childrenRect().size().toSize(); - setGeometry(position().x(), position().y(), contentSize.width(), contentSize.height()); + qreal x = m_initialPos.x(); + qreal y = m_initialPos.y(); + if (qGuiApp->layoutDirection() == Qt::RightToLeft) + x -= contentSize.width(); + setGeometry(x, y, contentSize.width(), contentSize.height()); } void QQuickMenuPopupWindow::updatePosition() |