Fix check to keep QMenu on screen for multiscreen layouts
If x > screenWidth should be if x > screenLeft + screenWidth otherwise all right hand screens get offset REVIEW: 128148
This commit is contained in:
parent
84c29fa3d0
commit
f5ad210742
@ -306,6 +306,7 @@ Q_INVOKABLE void QMenuProxy::openRelative()
|
||||
|
||||
using namespace Plasma;
|
||||
|
||||
|
||||
switch(m_placement) {
|
||||
case Types::TopPosedLeftAlignedPopup:
|
||||
case Types::LeftPosedTopAlignedPopup: {
|
||||
@ -339,11 +340,11 @@ Q_INVOKABLE void QMenuProxy::openRelative()
|
||||
QScreen *screen = parentItem->window()->screen();
|
||||
|
||||
if (screen) {
|
||||
if (pos.x() + m_menu->width() > screen->geometry().width()) {
|
||||
if (pos.x() + m_menu->width() > (screen->geometry().x() + screen->geometry().width())) {
|
||||
pos.setX(pos.x() - m_menu->width());
|
||||
}
|
||||
|
||||
if (pos.y() + m_menu->height() > screen->geometry().height()) {
|
||||
if (pos.y() + m_menu->height() > (screen->geometry().y() + screen->geometry().height())) {
|
||||
pos.setY(pos.y() - m_menu->height());
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user