Qt: Implement "Auto-Adjust Window Size"

This commit is contained in:
spycrab 2018-03-24 16:40:47 +01:00
parent a838d13fd1
commit 806990968d
2 changed files with 10 additions and 0 deletions

View File

@ -115,9 +115,12 @@ void Host_UpdateProgressDialog(const char* caption, int position, int total)
void Host_UpdateMainFrame() void Host_UpdateMainFrame()
{ {
} }
void Host_RequestRenderWindowSize(int w, int h) void Host_RequestRenderWindowSize(int w, int h)
{ {
emit Host::GetInstance()->RequestRenderSize(w, h);
} }
bool Host_UINeedsControllerState() bool Host_UINeedsControllerState()
{ {
return Settings::Instance().IsControllerStateNeeded(); return Settings::Instance().IsControllerStateNeeded();

View File

@ -5,6 +5,7 @@
#include <QKeyEvent> #include <QKeyEvent>
#include <QTimer> #include <QTimer>
#include "Core/ConfigManager.h"
#include "DolphinQt2/Host.h" #include "DolphinQt2/Host.h"
#include "DolphinQt2/RenderWidget.h" #include "DolphinQt2/RenderWidget.h"
#include "DolphinQt2/Settings.h" #include "DolphinQt2/Settings.h"
@ -15,6 +16,12 @@ RenderWidget::RenderWidget(QWidget* parent) : QWidget(parent)
setAttribute(Qt::WA_NoSystemBackground, true); setAttribute(Qt::WA_NoSystemBackground, true);
connect(Host::GetInstance(), &Host::RequestTitle, this, &RenderWidget::setWindowTitle); connect(Host::GetInstance(), &Host::RequestTitle, this, &RenderWidget::setWindowTitle);
connect(Host::GetInstance(), &Host::RequestRenderSize, this, [this](int w, int h) {
if (!SConfig::GetInstance().bRenderWindowAutoSize || isFullScreen() || isMaximized())
return;
resize(w, h);
});
// We have to use Qt::DirectConnection here because we don't want those signals to get queued // We have to use Qt::DirectConnection here because we don't want those signals to get queued
// (which results in them not getting called) // (which results in them not getting called)