aboutsummaryrefslogtreecommitdiff
path: root/src/yuzu/bootmanager.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-01-20 15:45:07 -0500
committerGitHub <noreply@github.com>2019-01-20 15:45:07 -0500
commit1c733bf175253bbe3f2f7747fe5344e654eff6e0 (patch)
tree5caf78c0e37fd6e158211301c10514f09eac7a77 /src/yuzu/bootmanager.cpp
parent197d0d9d2408e608909b32dfa057791215d42c77 (diff)
parent69da26754003cb4695380738f5a837c9a93b5eaa (diff)
Merge pull request #2034 from jroweboy/loading-widget
QT Frontend: Add a Loading screen with progressbar
Diffstat (limited to 'src/yuzu/bootmanager.cpp')
-rw-r--r--src/yuzu/bootmanager.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/yuzu/bootmanager.cpp b/src/yuzu/bootmanager.cpp
index 40db7a5e9..f74cb693a 100644
--- a/src/yuzu/bootmanager.cpp
+++ b/src/yuzu/bootmanager.cpp
@@ -3,9 +3,7 @@
#include <QKeyEvent>
#include <QScreen>
#include <QWindow>
-
#include <fmt/format.h>
-
#include "common/microprofile.h"
#include "common/scm_rev.h"
#include "core/core.h"
@@ -17,6 +15,7 @@
#include "video_core/renderer_base.h"
#include "video_core/video_core.h"
#include "yuzu/bootmanager.h"
+#include "yuzu/main.h"
EmuThread::EmuThread(GRenderWindow* render_window) : render_window(render_window) {}
@@ -114,6 +113,8 @@ GRenderWindow::GRenderWindow(QWidget* parent, EmuThread* emu_thread)
InputCommon::Init();
InputCommon::StartJoystickEventHandler();
+ connect(this, &GRenderWindow::FirstFrameDisplayed, static_cast<GMainWindow*>(parent),
+ &GMainWindow::OnLoadComplete);
}
GRenderWindow::~GRenderWindow() {
@@ -141,6 +142,10 @@ void GRenderWindow::SwapBuffers() {
child->makeCurrent();
child->swapBuffers();
+ if (!first_frame) {
+ emit FirstFrameDisplayed();
+ first_frame = true;
+ }
}
void GRenderWindow::MakeCurrent() {
@@ -309,6 +314,8 @@ void GRenderWindow::InitRenderTarget() {
delete layout();
}
+ first_frame = false;
+
// TODO: One of these flags might be interesting: WA_OpaquePaintEvent, WA_NoBackground,
// WA_DontShowOnScreen, WA_DeleteOnClose
QGLFormat fmt;