QNX: Override QPlatformScreen::topLevelAt
Implemented QQnxScreen::topLevelAt method, as base implementation returned wrong results. This fixes "tst_qwidget widgetAt" for instance. Removed related method, that is not used at all. Change-Id: I25c4f474cb0d661e5e5cdcdd0ab13d670fd4dc37 Reviewed-by: Fabian Bumberger <fbumberger@rim.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>bb10
parent
5250e4f157
commit
375b52f20f
|
|
@ -286,6 +286,18 @@ Qt::ScreenOrientation QQnxScreen::orientation() const
|
|||
return orient;
|
||||
}
|
||||
|
||||
QWindow *QQnxScreen::topLevelAt(const QPoint &point) const
|
||||
{
|
||||
QListIterator<QQnxWindow*> it(m_childWindows);
|
||||
it.toBack();
|
||||
while (it.hasPrevious()) {
|
||||
QWindow *win = it.previous()->window();
|
||||
if (win->geometry().contains(point))
|
||||
return win;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*!
|
||||
Check if the supplied angles are perpendicular to each other.
|
||||
*/
|
||||
|
|
@ -767,17 +779,4 @@ void QQnxScreen::setRootWindow(QQnxWindow *window)
|
|||
m_rootWindow = window;
|
||||
}
|
||||
|
||||
QWindow * QQnxScreen::topMostChildWindow() const
|
||||
{
|
||||
if (!m_childWindows.isEmpty()) {
|
||||
|
||||
// We're picking up the last window of the list here
|
||||
// because this list is ordered by stacking order.
|
||||
// Last window is effectively the one on top.
|
||||
return m_childWindows.last()->window();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -73,6 +73,8 @@ public:
|
|||
Qt::ScreenOrientation nativeOrientation() const;
|
||||
Qt::ScreenOrientation orientation() const;
|
||||
|
||||
QWindow *topLevelAt(const QPoint &point) const;
|
||||
|
||||
bool isPrimaryScreen() const { return m_primaryScreen; }
|
||||
|
||||
int rotation() const { return m_currentRotation; }
|
||||
|
|
@ -124,8 +126,6 @@ private:
|
|||
void addMultimediaWindow(const QByteArray &id, screen_window_t window);
|
||||
void removeOverlayOrUnderlayWindow(screen_window_t window);
|
||||
|
||||
QWindow *topMostChildWindow() const;
|
||||
|
||||
screen_context_t m_screenContext;
|
||||
screen_display_t m_display;
|
||||
QQnxWindow *m_rootWindow;
|
||||
|
|
|
|||
Loading…
Reference in New Issue