Qt: Fix progress dialog cancelling

This commit is contained in:
Stenzek
2023-11-24 16:08:28 +10:00
parent cc6f22163c
commit 365e3fb965
2 changed files with 14 additions and 8 deletions

View File

@ -16,16 +16,12 @@ QtModalProgressCallback::QtModalProgressCallback(QWidget* parent_widget, float s
m_dialog.setModal(parent_widget != nullptr);
m_dialog.setAutoClose(false);
m_dialog.setAutoReset(false);
connect(&m_dialog, &QProgressDialog::canceled, this, &QtModalProgressCallback::dialogCancelled);
checkForDelayedShow();
}
QtModalProgressCallback::~QtModalProgressCallback() = default;
bool QtModalProgressCallback::IsCancelled() const
{
return m_dialog.wasCanceled();
}
void QtModalProgressCallback::SetCancellable(bool cancellable)
{
if (m_cancellable == cancellable)
@ -105,6 +101,11 @@ void QtModalProgressCallback::ModalInformation(const char* message)
QMessageBox::information(&m_dialog, tr("Information"), QString::fromUtf8(message));
}
void QtModalProgressCallback::dialogCancelled()
{
m_cancelled = true;
}
void QtModalProgressCallback::checkForDelayedShow()
{
if (m_dialog.isVisible())