diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-09-17 17:15:31 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2018-09-17 17:15:31 +0000 |
| commit | 2db4c92bf520e519d6867f708a1d5d2df87f97fd (patch) | |
| tree | f78766afcc06ad7fee4b6982633bdd4a6a2381ac /src/plugins/Ui/skinned/mainwindow.cpp | |
| parent | 355d6e25177c0634d7bafcd60fb6e8675ab960d0 (diff) | |
| download | qmmp-2db4c92bf520e519d6867f708a1d5d2df87f97fd.tar.gz qmmp-2db4c92bf520e519d6867f708a1d5d2df87f97fd.tar.bz2 qmmp-2db4c92bf520e519d6867f708a1d5d2df87f97fd.zip | |
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
Diffstat (limited to 'src/plugins/Ui/skinned/mainwindow.cpp')
| -rw-r--r-- | src/plugins/Ui/skinned/mainwindow.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/plugins/Ui/skinned/mainwindow.cpp b/src/plugins/Ui/skinned/mainwindow.cpp index a0efa8bec..f12109a17 100644 --- a/src/plugins/Ui/skinned/mainwindow.cpp +++ b/src/plugins/Ui/skinned/mainwindow.cpp @@ -274,20 +274,25 @@ void MainWindow::readSettings() m_playlist->setVisible(m_display->isPlaylistVisible()); m_equalizer->setVisible(m_display->isEqualizerVisible()); - if (m_pl_manager->currentPlayList()->currentTrack()) + if(m_pl_manager->currentPlayList()->currentTrack()) setWindowTitle(m_titleFormatter.format(m_pl_manager->currentPlayList()->currentTrack())); } else { QScreen *screen = QGuiApplication::primaryScreen(); + QRect availableGeometry = screen->availableGeometry(); QPoint pos = settings.value("mw_pos", QPoint(100, 100)).toPoint(); - if(!screen->availableGeometry().contains(pos)) + int r = m_skin->ratio(); + foreach(QScreen *screen, QGuiApplication::screens()) { - QRect availableGeometry = screen->availableGeometry(); - int r = m_skin->ratio(); - pos.setX(qBound(availableGeometry.left(), pos.x(), availableGeometry.right() - r*275)); - pos.setY(qBound(availableGeometry.top(), pos.y(), availableGeometry.bottom() - r*116)); + if(screen->availableGeometry().contains(pos)) + { + availableGeometry = screen->availableGeometry(); + break; + } } + pos.setX(qBound(availableGeometry.left(), pos.x(), availableGeometry.right() - r*275)); + pos.setY(qBound(availableGeometry.top(), pos.y(), availableGeometry.bottom() - r*116)); move(pos); //geometry m_startHidden = settings.value("start_hidden", false).toBool(); if(settings.value("always_on_top", false).toBool()) |
