From 77ebd721e33c423e7a0702b685c97eacbaa6dbf9 Mon Sep 17 00:00:00 2001 From: spycrab Date: Mon, 20 Aug 2018 00:39:57 +0200 Subject: [PATCH] Qt: Fix widgets being visible when they shouldn't be --- Source/Core/DolphinQt/MainWindow.cpp | 4 ++++ Source/Core/DolphinQt/Settings.cpp | 7 +++++++ Source/Core/DolphinQt/Settings.h | 2 ++ 3 files changed, 13 insertions(+) diff --git a/Source/Core/DolphinQt/MainWindow.cpp b/Source/Core/DolphinQt/MainWindow.cpp index 3043479b84dd..56d68b5a3061 100644 --- a/Source/Core/DolphinQt/MainWindow.cpp +++ b/Source/Core/DolphinQt/MainWindow.cpp @@ -159,6 +159,10 @@ MainWindow::MainWindow(std::unique_ptr boot_parameters) : QMainW restoreGeometry(settings.value(QStringLiteral("mainwindow/geometry")).toByteArray()); m_render_widget_geometry = settings.value(QStringLiteral("renderwidget/geometry")).toByteArray(); + + // Restoring of window states can sometimes go wrong, resulting in widgets being visible when they + // shouldn't be so we have to reapply all our rules afterwards. + Settings::Instance().RefreshWidgetVisibility(); } MainWindow::~MainWindow() diff --git a/Source/Core/DolphinQt/Settings.cpp b/Source/Core/DolphinQt/Settings.cpp index 5a10d71c08e0..4d54b98b29ba 100644 --- a/Source/Core/DolphinQt/Settings.cpp +++ b/Source/Core/DolphinQt/Settings.cpp @@ -434,6 +434,13 @@ bool Settings::IsJITVisible() const return QSettings().value(QStringLiteral("debugger/showjit")).toBool(); } +void Settings::RefreshWidgetVisibility() +{ + emit DebugModeToggled(IsDebugModeEnabled()); + emit LogVisibilityChanged(IsLogVisible()); + emit LogConfigVisibilityChanged(IsLogConfigVisible()); +} + void Settings::SetDebugFont(QFont font) { if (GetDebugFont() != font) diff --git a/Source/Core/DolphinQt/Settings.h b/Source/Core/DolphinQt/Settings.h index b80d877e1c9d..ef03490b6386 100644 --- a/Source/Core/DolphinQt/Settings.h +++ b/Source/Core/DolphinQt/Settings.h @@ -66,6 +66,8 @@ class Settings final : public QObject void SetWidgetsLocked(bool visible); bool AreWidgetsLocked() const; + void RefreshWidgetVisibility(); + // GameList QStringList GetPaths() const; void AddPath(const QString& path);