diff options
| author | Anthony <Helios747@users.noreply.github.com> | 2018-05-08 11:29:12 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-05-08 11:29:12 -0700 |
| commit | cb02a4bb95c49acfcffd75335a77717129c8d25b (patch) | |
| tree | 2db2cc855722f2f2fc7d09dfb916c6f6ad4047db /Source/Core/DolphinQt2/MainWindow.cpp | |
| parent | a9987588eb4fbd69a6fb9f405a83827084b1a874 (diff) | |
| parent | 285295981191e8600e5faf7833f5475985a0a1c6 (diff) | |
Merge pull request #6787 from spycrab/qt_restore_window
Qt: Restore render widget size and position
Diffstat (limited to 'Source/Core/DolphinQt2/MainWindow.cpp')
| -rw-r--r-- | Source/Core/DolphinQt2/MainWindow.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt2/MainWindow.cpp b/Source/Core/DolphinQt2/MainWindow.cpp index dde2f11c15..af820bf582 100644 --- a/Source/Core/DolphinQt2/MainWindow.cpp +++ b/Source/Core/DolphinQt2/MainWindow.cpp @@ -113,6 +113,11 @@ MainWindow::MainWindow(std::unique_ptr<BootParameters> boot_parameters) : QMainW QSettings& settings = Settings::GetQSettings(); restoreState(settings.value(QStringLiteral("mainwindow/state")).toByteArray()); + m_render_widget_size = + QSize(SConfig::GetInstance().iRenderWindowWidth, SConfig::GetInstance().iRenderWindowHeight); + + m_render_widget_position = + QPoint(SConfig::GetInstance().iRenderWindowXPos, SConfig::GetInstance().iRenderWindowYPos); } MainWindow::~MainWindow() @@ -125,6 +130,12 @@ MainWindow::~MainWindow() QSettings& settings = Settings::GetQSettings(); settings.setValue(QStringLiteral("mainwindow/state"), saveState()); + + SConfig::GetInstance().iRenderWindowWidth = m_render_widget_size.width(); + SConfig::GetInstance().iRenderWindowHeight = m_render_widget_size.height(); + + SConfig::GetInstance().iRenderWindowXPos = m_render_widget_position.x(); + SConfig::GetInstance().iRenderWindowYPos = m_render_widget_position.y(); } void MainWindow::InitControllers() @@ -547,6 +558,12 @@ bool MainWindow::RequestStop() return true; } + if (!m_render_widget->isFullScreen()) + { + m_render_widget_size = m_render_widget->size(); + m_render_widget_position = m_render_widget->pos(); + } + if (SConfig::GetInstance().bConfirmStop) { const Core::State state = Core::GetState(); @@ -629,6 +646,7 @@ void MainWindow::FullScreen() else { m_render_widget_size = m_render_widget->size(); + m_render_widget_position = m_render_widget->pos(); m_render_widget->showFullScreen(); } } @@ -729,6 +747,9 @@ void MainWindow::ShowRenderWidget() m_render_widget->showNormal(); m_render_widget->resize(m_render_widget_size); + + if (m_render_widget_position.x() != -1) + m_render_widget->move(m_render_widget_position); } SetFullScreenResolution(false); |
