From 95316853b534addbed3230b1613633c3e0aeacaa Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Thu, 16 Feb 2017 11:19:48 +0100 Subject: [PATCH] fix(ui/modules/Common/SearchBox): handle correctly window size --- .../ui/modules/Common/SearchBox.qml | 34 ++++++++++++++----- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/linphone-desktop/ui/modules/Common/SearchBox.qml b/linphone-desktop/ui/modules/Common/SearchBox.qml index b63d0a285..b17af1443 100644 --- a/linphone-desktop/ui/modules/Common/SearchBox.qml +++ b/linphone-desktop/ui/modules/Common/SearchBox.qml @@ -1,4 +1,5 @@ import QtQuick 2.7 +import QtQuick.Window 2.2 import Common 1.0 import Common.Styles 1.0 @@ -81,21 +82,36 @@ Item { onTextChanged: _filter(text) } + // ------------------------------------------------------------------------- + + SmartConnect { + Component.onCompleted: { + var window = searchBox.Window.window + + var handleCoords = function () { + var point = searchBox.mapToItem(null, 0, searchBox.height) + + desktopPopup.popupX = window.x + point.x + desktopPopup.popupY = window.y + point.y + } + + this.connect(window, 'heightChanged', handleCoords) + this.connect(window, 'widthChanged', handleCoords) + this.connect(window, 'xChanged', handleCoords) + this.connect(window, 'yChanged', handleCoords) + + handleCoords() + } + } + // Wrap the search box menu in a window. DesktopPopup { id: desktopPopup // The menu is always below the search field. - property point coords: { - var point = searchBox.mapToItem(null, 0, searchBox.height) - point.x += window.x - point.y += window.y + popupX: 0 + popupY: 0 - return point - } - - popupX: coords.x - popupY: coords.y requestActivate: true onVisibleChanged: !visible && searchBox.hideMenu()