Merge pull request #9679 from JosJuice/disable-verify

DolphinQt: Disable verify button when emulation is running
This commit is contained in:
Léo Lam 2021-05-02 10:52:46 +02:00 committed by GitHub
commit ade9d6c954
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions

View File

@ -17,9 +17,11 @@
#include <QVBoxLayout>
#include "Common/CommonTypes.h"
#include "Core/Core.h"
#include "DiscIO/Volume.h"
#include "DiscIO/VolumeVerifier.h"
#include "DolphinQt/QtUtils/ParallelProgressDialog.h"
#include "DolphinQt/Settings.h"
VerifyWidget::VerifyWidget(std::shared_ptr<DiscIO::Volume> volume) : m_volume(std::move(volume))
{
@ -38,6 +40,20 @@ VerifyWidget::VerifyWidget(std::shared_ptr<DiscIO::Volume> volume) : m_volume(st
layout->setStretchFactor(m_summary_text, 2);
setLayout(layout);
connect(&Settings::Instance(), &Settings::EmulationStateChanged, this,
&VerifyWidget::OnEmulationStateChanged);
OnEmulationStateChanged();
}
void VerifyWidget::OnEmulationStateChanged()
{
const bool running = Core::GetState() != Core::State::Uninitialized;
// Verifying a Wii game while emulation is running doesn't work correctly
// due to verification of a Wii game creating an instance of IOS
m_verify_button->setEnabled(!running);
}
void VerifyWidget::CreateWidgets()

View File

@ -27,6 +27,9 @@ class VerifyWidget final : public QWidget
public:
explicit VerifyWidget(std::shared_ptr<DiscIO::Volume> volume);
private slots:
void OnEmulationStateChanged();
private:
void CreateWidgets();
std::pair<QCheckBox*, QLineEdit*> AddHashLine(QFormLayout* layout, QString text);