diff options
| -rw-r--r-- | src/plugins/Ui/skinned/eqwidget.cpp | 18 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/mainwindow.cpp | 17 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlist.cpp | 20 |
3 files changed, 36 insertions, 19 deletions
diff --git a/src/plugins/Ui/skinned/eqwidget.cpp b/src/plugins/Ui/skinned/eqwidget.cpp index 7a87432ee..46765c67f 100644 --- a/src/plugins/Ui/skinned/eqwidget.cpp +++ b/src/plugins/Ui/skinned/eqwidget.cpp @@ -147,15 +147,21 @@ void EqWidget::readSettings() { QSettings settings (Qmmp::configFile(), QSettings::IniFormat); QScreen *screen = QGuiApplication::primaryScreen(); + QRect availableGeometry = screen->availableGeometry(); QPoint pos = settings.value("Skinned/eq_pos", QPoint(100, 216)).toPoint(); - if(!screen->availableGeometry().contains(pos)) + int r = m_skin->ratio(); + //TODO QGuiApplication::screenAt + 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; + } } - move (pos); //geometry + 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 readEq(); m_autoButton->setChecked(settings.value("Skinned/eq_auto", false).toBool()); //equalizer presets 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()) 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; } } |
