From 2db4c92bf520e519d6867f708a1d5d2df87f97fd Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Mon, 17 Sep 2018 17:15:31 +0000 Subject: fixed issue with multiscreen setup (#971) git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8309 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/skinned/playlist.cpp | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) (limited to 'src/plugins/Ui/skinned/playlist.cpp') diff --git a/src/plugins/Ui/skinned/playlist.cpp b/src/plugins/Ui/skinned/playlist.cpp index cc42e3374..edb87cc41 100644 --- a/src/plugins/Ui/skinned/playlist.cpp +++ b/src/plugins/Ui/skinned/playlist.cpp @@ -467,16 +467,22 @@ void PlayList::readSettings() } else { - QScreen *desktop = QGuiApplication::primaryScreen(); + QScreen *screen = QGuiApplication::primaryScreen(); + QRect availableGeometry = screen->availableGeometry(); QPoint pos = settings.value ("Skinned/pl_pos", QPoint (100, 332)).toPoint(); - if(!desktop->availableGeometry().contains(pos)) + m_ratio = m_skin->ratio(); + //TODO QGuiApplication::screenAt + foreach(QScreen *screen, QGuiApplication::screens()) { - QRect availableGeometry = desktop->availableGeometry(); - m_ratio = m_skin->ratio(); - pos.setX(qBound(availableGeometry.left(), pos.x(), availableGeometry.right() - m_ratio*275)); - pos.setY(qBound(availableGeometry.top(), pos.y(), availableGeometry.bottom() - m_ratio*116)); + if(screen->availableGeometry().contains(pos)) + { + availableGeometry = screen->availableGeometry(); + break; + } } - move (pos); //position + pos.setX(qBound(availableGeometry.left(), pos.x(), availableGeometry.right() - m_ratio*275)); + pos.setY(qBound(availableGeometry.top(), pos.y(), availableGeometry.bottom() - m_ratio*116)); + move(pos); //position m_update = true; } } -- cgit v1.2.3-13-gbd6f