summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt2/MainWindow.cpp
diff options
context:
space:
mode:
authorAnthony <Helios747@users.noreply.github.com>2018-05-08 11:29:12 -0700
committerGitHub <noreply@github.com>2018-05-08 11:29:12 -0700
commitcb02a4bb95c49acfcffd75335a77717129c8d25b (patch)
tree2db2cc855722f2f2fc7d09dfb916c6f6ad4047db /Source/Core/DolphinQt2/MainWindow.cpp
parenta9987588eb4fbd69a6fb9f405a83827084b1a874 (diff)
parent285295981191e8600e5faf7833f5475985a0a1c6 (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.cpp21
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);