mirror of https://github.com/PCSX2/pcsx2.git
Qt: Fix progress dialog cancelling
This commit is contained in:
parent
7715d122c7
commit
15091cea54
|
@ -82,8 +82,8 @@ public:
|
||||||
virtual void PushState() override;
|
virtual void PushState() override;
|
||||||
virtual void PopState() override;
|
virtual void PopState() override;
|
||||||
|
|
||||||
bool IsCancelled() const;
|
virtual bool IsCancelled() const override;
|
||||||
bool IsCancellable() const;
|
virtual bool IsCancellable() const override;
|
||||||
|
|
||||||
virtual void SetCancellable(bool cancellable) override;
|
virtual void SetCancellable(bool cancellable) override;
|
||||||
virtual void SetStatusText(const char* text) override;
|
virtual void SetStatusText(const char* text) override;
|
||||||
|
|
|
@ -34,16 +34,12 @@ QtModalProgressCallback::QtModalProgressCallback(QWidget* parent_widget, float s
|
||||||
m_dialog.setModal(parent_widget != nullptr);
|
m_dialog.setModal(parent_widget != nullptr);
|
||||||
m_dialog.setAutoClose(false);
|
m_dialog.setAutoClose(false);
|
||||||
m_dialog.setAutoReset(false);
|
m_dialog.setAutoReset(false);
|
||||||
|
connect(&m_dialog, &QProgressDialog::canceled, this, &QtModalProgressCallback::dialogCancelled);
|
||||||
checkForDelayedShow();
|
checkForDelayedShow();
|
||||||
}
|
}
|
||||||
|
|
||||||
QtModalProgressCallback::~QtModalProgressCallback() = default;
|
QtModalProgressCallback::~QtModalProgressCallback() = default;
|
||||||
|
|
||||||
bool QtModalProgressCallback::IsCancelled() const
|
|
||||||
{
|
|
||||||
return m_dialog.wasCanceled();
|
|
||||||
}
|
|
||||||
|
|
||||||
void QtModalProgressCallback::SetCancellable(bool cancellable)
|
void QtModalProgressCallback::SetCancellable(bool cancellable)
|
||||||
{
|
{
|
||||||
if (m_cancellable == cancellable)
|
if (m_cancellable == cancellable)
|
||||||
|
@ -123,6 +119,11 @@ void QtModalProgressCallback::ModalInformation(const char* message)
|
||||||
QMessageBox::information(&m_dialog, tr("Information"), QString::fromUtf8(message));
|
QMessageBox::information(&m_dialog, tr("Information"), QString::fromUtf8(message));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QtModalProgressCallback::dialogCancelled()
|
||||||
|
{
|
||||||
|
m_cancelled = true;
|
||||||
|
}
|
||||||
|
|
||||||
void QtModalProgressCallback::checkForDelayedShow()
|
void QtModalProgressCallback::checkForDelayedShow()
|
||||||
{
|
{
|
||||||
if (m_dialog.isVisible())
|
if (m_dialog.isVisible())
|
||||||
|
|
|
@ -29,7 +29,7 @@ public:
|
||||||
QtModalProgressCallback(QWidget* parent_widget, float show_delay = 0.0f);
|
QtModalProgressCallback(QWidget* parent_widget, float show_delay = 0.0f);
|
||||||
~QtModalProgressCallback();
|
~QtModalProgressCallback();
|
||||||
|
|
||||||
bool IsCancelled() const override;
|
QProgressDialog& GetDialog() { return m_dialog; }
|
||||||
|
|
||||||
void SetCancellable(bool cancellable) override;
|
void SetCancellable(bool cancellable) override;
|
||||||
void SetTitle(const char* title) override;
|
void SetTitle(const char* title) override;
|
||||||
|
@ -46,6 +46,9 @@ public:
|
||||||
bool ModalConfirmation(const char* message) override;
|
bool ModalConfirmation(const char* message) override;
|
||||||
void ModalInformation(const char* message) override;
|
void ModalInformation(const char* message) override;
|
||||||
|
|
||||||
|
private Q_SLOTS:
|
||||||
|
void dialogCancelled();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void checkForDelayedShow();
|
void checkForDelayedShow();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue