summaryrefslogtreecommitdiff
path: root/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp
diff options
context:
space:
mode:
authorPokechu22 <Pokechu022@gmail.com>2021-02-16 11:24:57 -0800
committerPokechu22 <Pokechu022@gmail.com>2021-05-07 15:42:19 -0700
commit83f7c41e318be983879eb18bbce3f7d5585bdcfd (patch)
treedd2bfdaf06616f26b229dfd7a18a38a328c5ba77 /Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp
parent05bd15a928a6e9d81653812829d569789ee72718 (diff)
Make the FIFO Player a separate window
This way, it can be focused with the render window behind it, instead of having the main window show up and cover the render window. This is useful for adjusting the object range, among other things.
Diffstat (limited to 'Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp')
-rw-r--r--Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp25
1 files changed, 22 insertions, 3 deletions
diff --git a/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp b/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp
index e4154b6b6c..dc1b4f44b7 100644
--- a/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp
+++ b/Source/Core/DolphinQt/FIFO/FIFOPlayerWindow.cpp
@@ -6,9 +6,13 @@
#include <QCheckBox>
#include <QDialogButtonBox>
+#include <QEvent>
#include <QFileDialog>
#include <QGroupBox>
#include <QHBoxLayout>
+#include <QIcon>
+#include <QKeyEvent>
+#include <QKeySequence>
#include <QLabel>
#include <QPushButton>
#include <QSpinBox>
@@ -26,12 +30,13 @@
#include "DolphinQt/FIFO/FIFOAnalyzer.h"
#include "DolphinQt/QtUtils/ModalMessageBox.h"
#include "DolphinQt/QtUtils/QueueOnObject.h"
+#include "DolphinQt/Resources.h"
#include "DolphinQt/Settings.h"
-FIFOPlayerWindow::FIFOPlayerWindow(QWidget* parent) : QDialog(parent)
+FIFOPlayerWindow::FIFOPlayerWindow(QWidget* parent) : QWidget(parent)
{
setWindowTitle(tr("FIFO Player"));
- setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
+ setWindowIcon(Resources::GetAppIcon());
CreateWidgets();
ConnectWidgets();
@@ -56,6 +61,8 @@ FIFOPlayerWindow::FIFOPlayerWindow(QWidget* parent) : QDialog(parent)
OnEmulationStopped();
m_emu_state = state;
});
+
+ installEventFilter(this);
}
FIFOPlayerWindow::~FIFOPlayerWindow()
@@ -167,7 +174,7 @@ void FIFOPlayerWindow::ConnectWidgets()
connect(m_save, &QPushButton::clicked, this, &FIFOPlayerWindow::SaveRecording);
connect(m_record, &QPushButton::clicked, this, &FIFOPlayerWindow::StartRecording);
connect(m_stop, &QPushButton::clicked, this, &FIFOPlayerWindow::StopRecording);
- connect(m_button_box, &QDialogButtonBox::rejected, this, &FIFOPlayerWindow::reject);
+ connect(m_button_box, &QDialogButtonBox::rejected, this, &FIFOPlayerWindow::hide);
connect(m_early_memory_updates, &QCheckBox::toggled, this,
&FIFOPlayerWindow::OnEarlyMemoryUpdatesChanged);
connect(m_frame_range_from, qOverload<int>(&QSpinBox::valueChanged), this,
@@ -371,3 +378,15 @@ void FIFOPlayerWindow::UpdateControls()
m_save->setEnabled(FifoRecorder::GetInstance().IsRecordingDone());
}
+
+bool FIFOPlayerWindow::eventFilter(QObject* object, QEvent* event)
+{
+ // Close when escape is pressed
+ if (event->type() == QEvent::KeyPress)
+ {
+ if (static_cast<QKeyEvent*>(event)->matches(QKeySequence::Cancel))
+ hide();
+ }
+
+ return false;
+}