diff options
Diffstat (limited to 'src/mainwindow.cpp')
| -rw-r--r-- | src/mainwindow.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 9586cb93..d06f79f2 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -99,7 +99,6 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>. #include <QCoreApplication> #include <QCursor> #include <QDebug> -#include <QDesktopWidget> #include <QDesktopServices> #include <QDialog> #include <QDirIterator> @@ -1342,7 +1341,12 @@ void MainWindow::displaySaveGameInfo(QListWidgetItem *newItem) } m_CurrentSaveView->setSave(save); - QRect screenRect = QApplication::desktop()->availableGeometry(m_CurrentSaveView); + QWindow *window = m_CurrentSaveView->window()->windowHandle(); + QRect screenRect; + if (window == nullptr) + screenRect = QGuiApplication::primaryScreen()->geometry(); + else + screenRect = window->screen()->geometry(); QPoint pos = QCursor::pos(); if (pos.x() + m_CurrentSaveView->width() > screenRect.right()) { @@ -2281,7 +2285,9 @@ void MainWindow::storeSettings(QSettings &settings) { settings.setValue("menubar_visible", m_menuBarVisible); settings.setValue("statusbar_visible", m_statusBarVisible); settings.setValue("window_split", ui->splitter->saveState()); - settings.setValue("window_monitor", QApplication::desktop()->screenNumber(this)); + QScreen *screen = this->window()->windowHandle()->screen(); + int screenId = QGuiApplication::screens().indexOf(screen); + settings.setValue("window_monitor", screenId); settings.setValue("log_split", ui->topLevelSplitter->saveState()); settings.setValue("browser_geometry", m_IntegratedBrowser.saveGeometry()); settings.setValue("filters_visible", ui->displayCategoriesBtn->isChecked()); |
