diff --git a/src/internet/core/cloudfileservice.cpp b/src/internet/core/cloudfileservice.cpp index 2a3ad7518..2809beba0 100644 --- a/src/internet/core/cloudfileservice.cpp +++ b/src/internet/core/cloudfileservice.cpp @@ -21,6 +21,8 @@ #include "internet/core/cloudfileservice.h" #include +#include +#include #include #include "core/application.h" @@ -243,3 +245,21 @@ void CloudFileService::AbortReadTagsReplies() { indexing_task_id_ = -1; emit AllIndexingTasksFinished(); } + +void CloudFileService::FullRescanRequested() { + QMessageBox* message_box = new QMessageBox( + QMessageBox::Warning, tr("Do a full rescan"), + tr("Doing a full rescan will lose any metadata you've saved in " + "Clementine such as cover art, play counts and ratings. Clementine " + "will rescan all your music in %1 which may take some " + "time.") + .arg(name()), + QMessageBox::NoButton); + QPushButton* button = message_box->addButton(tr("Do a full rescan"), + QMessageBox::DestructiveRole); + connect(button, SIGNAL(clicked()), SLOT(DoFullRescan())); + + message_box->addButton(QMessageBox::Cancel); + message_box->setAttribute(Qt::WA_DeleteOnClose); + message_box->show(); +} diff --git a/src/internet/core/cloudfileservice.h b/src/internet/core/cloudfileservice.h index b2f58b13d..75eeadd95 100644 --- a/src/internet/core/cloudfileservice.h +++ b/src/internet/core/cloudfileservice.h @@ -72,6 +72,8 @@ class CloudFileService : public InternetService { void AddToPlaylist(QMimeData* mime); void ReadTagsFinished(TagReaderClient::ReplyType* reply, const Song& metadata); + void FullRescanRequested(); + virtual void DoFullRescan() {} protected: QStandardItem* root_; diff --git a/src/internet/googledrive/googledriveservice.cpp b/src/internet/googledrive/googledriveservice.cpp index 645f137ce..808688605 100644 --- a/src/internet/googledrive/googledriveservice.cpp +++ b/src/internet/googledrive/googledriveservice.cpp @@ -22,8 +22,6 @@ #include #include #include -#include -#include #include #include #include @@ -225,7 +223,7 @@ void GoogleDriveService::ShowContextMenu(const QPoint& global_pos) { tr("Check for updates"), this, SLOT(CheckForUpdates())); full_rescan_action_ = context_menu_->addAction( IconLoader::Load("view-refresh", IconLoader::Base), - tr("Do a full rescan..."), this, SLOT(ConfirmFullRescan())); + tr("Do a full rescan..."), this, SLOT(FullRescanRequested())); context_menu_->addSeparator(); context_menu_->addAction(IconLoader::Load("download", IconLoader::Base), tr("Cover Manager"), this, @@ -268,23 +266,6 @@ void GoogleDriveService::OpenWithDrive() { } } -void GoogleDriveService::ConfirmFullRescan() { - QMessageBox* message_box = new QMessageBox( - QMessageBox::Warning, tr("Do a full rescan"), - tr("Doing a full rescan will lose any metadata you've saved in " - "Clementine such as cover art, play counts and ratings. Clementine " - "will rescan all your music in Google Drive which may take some " - "time."), - QMessageBox::NoButton); - QPushButton* button = message_box->addButton(tr("Do a full rescan"), - QMessageBox::DestructiveRole); - connect(button, SIGNAL(clicked()), SLOT(DoFullRescan())); - - message_box->addButton(QMessageBox::Cancel); - message_box->setAttribute(Qt::WA_DeleteOnClose); - message_box->show(); -} - void GoogleDriveService::DoFullRescan() { QSettings s; s.beginGroup(kSettingsGroup); diff --git a/src/internet/googledrive/googledriveservice.h b/src/internet/googledrive/googledriveservice.h index 8cde6bb44..a3324b4e1 100644 --- a/src/internet/googledrive/googledriveservice.h +++ b/src/internet/googledrive/googledriveservice.h @@ -62,8 +62,7 @@ class GoogleDriveService : public CloudFileService { void SaveCursor(const QString& cursor); void OpenWithDrive(); - void ConfirmFullRescan(); - void DoFullRescan(); + void DoFullRescan() override; void CheckForUpdates(); private: