From 3bea58cf560dbc969d4ea35b5e6ab6388752ef36 Mon Sep 17 00:00:00 2001 From: Jonas Kvinge Date: Sun, 30 Aug 2020 18:28:51 +0200 Subject: [PATCH] Fix resetting last.fm import dialog on close when finished --- src/dialogs/lastfmimportdialog.cpp | 34 +++++++++++++++++------------- src/dialogs/lastfmimportdialog.h | 4 ++-- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/dialogs/lastfmimportdialog.cpp b/src/dialogs/lastfmimportdialog.cpp index 24b886e4a..db7e4803a 100644 --- a/src/dialogs/lastfmimportdialog.cpp +++ b/src/dialogs/lastfmimportdialog.cpp @@ -22,7 +22,6 @@ #include #include #include -#include #include #include "lastfmimportdialog.h" @@ -47,7 +46,7 @@ LastFMImportDialog::LastFMImportDialog(LastFMImport *lastfm_import, QWidget *par Reset(); - connect(ui_->button_close, SIGNAL(clicked()), SLOT(hide())); + connect(ui_->button_close, SIGNAL(clicked()), SLOT(Close())); connect(ui_->button_go, SIGNAL(clicked()), SLOT(Start())); connect(ui_->button_cancel, SIGNAL(clicked()), SLOT(Cancel())); @@ -58,21 +57,9 @@ LastFMImportDialog::LastFMImportDialog(LastFMImport *lastfm_import, QWidget *par LastFMImportDialog::~LastFMImportDialog() { delete ui_; } -void LastFMImportDialog::showEvent(QShowEvent*) { - - if (ui_->stackedWidget->currentWidget() == ui_->page_start) { - Reset(); - } - -} - void LastFMImportDialog::closeEvent(QCloseEvent*) { - if (ui_->stackedWidget->currentWidget() == ui_->page_progress && finished_) { - finished_ = false; - Reset(); - ui_->stackedWidget->setCurrentWidget(ui_->page_start); - } + ResetFinished(); } @@ -98,6 +85,23 @@ void LastFMImportDialog::Cancel() { } +void LastFMImportDialog::Close() { + + ResetFinished(); + hide(); + +} + +void LastFMImportDialog::ResetFinished() { + + if (finished_ && ui_->stackedWidget->currentWidget() == ui_->page_progress) { + finished_ = false; + Reset(); + ui_->stackedWidget->setCurrentWidget(ui_->page_start); + } + +} + void LastFMImportDialog::Reset() { ui_->button_go->show(); diff --git a/src/dialogs/lastfmimportdialog.h b/src/dialogs/lastfmimportdialog.h index 57f297eaa..9d76a31c8 100644 --- a/src/dialogs/lastfmimportdialog.h +++ b/src/dialogs/lastfmimportdialog.h @@ -28,7 +28,6 @@ #include "ui_lastfmimportdialog.h" -class QShowEvent; class QCloseEvent; class LastFMImport; @@ -40,15 +39,16 @@ class LastFMImportDialog : public QDialog { ~LastFMImportDialog() override; protected: - void showEvent(QShowEvent*); void closeEvent(QCloseEvent*); private: + void ResetFinished(); void Reset(); private slots: void Start(); void Cancel(); + void Close(); void UpdateGoButtonState(); void UpdateTotal(const int lastplayed_total, const int playcount_total);