From 62f1800c82b5f637e1a6037229e66f1ce36dd8d5 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sun, 7 Feb 2021 14:21:23 +0000 Subject: removed TagUpdater class git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9696 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/detailsdialog.cpp | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) (limited to 'src/qmmpui/detailsdialog.cpp') diff --git a/src/qmmpui/detailsdialog.cpp b/src/qmmpui/detailsdialog.cpp index e03e757a0..54b9b870c 100644 --- a/src/qmmpui/detailsdialog.cpp +++ b/src/qmmpui/detailsdialog.cpp @@ -46,10 +46,27 @@ DetailsDialog::DetailsDialog(const QList &tracks, QWidget *pare m_ui->prevButton->setIcon(QApplication::style()->standardIcon(QStyle::SP_ArrowLeft)); updatePage(); on_tabWidget_currentChanged(0); + + for(PlayListTrack *t : qAsConst(m_tracks)) + t->beginUsage(); } DetailsDialog::~DetailsDialog() { + for(PlayListTrack *t : qAsConst(m_tracks)) + { + t->endUsage(); + if (!t->isUsed() && t->isSheduledForDeletion()) + { + delete t; + t = nullptr; + } + else + { + t->updateMetaData(); + } + } + if(m_metaDataModel) { delete m_metaDataModel; @@ -58,6 +75,11 @@ DetailsDialog::~DetailsDialog() delete m_ui; } +QStringList DetailsDialog::modifiedPaths() const +{ + return m_modifiedPaths.values(); +} + void DetailsDialog:: on_directoryButton_clicked() { QString dir_path; @@ -81,19 +103,25 @@ void DetailsDialog::on_buttonBox_clicked(QAbstractButton *button) { if(m_ui->buttonBox->standardButton(button) == QDialogButtonBox::Save) { - TagEditor *tagEditor = qobject_cast(m_ui->tabWidget->currentWidget()); + TagEditor *tagEditor = nullptr; CoverEditor *coverEditor = nullptr; CueEditor *cueEditor = nullptr; - if(tagEditor) + + if((tagEditor = qobject_cast(m_ui->tabWidget->currentWidget()))) + { tagEditor->save(); + m_modifiedPaths.insert(m_info.path()); + } else if((coverEditor = qobject_cast(m_ui->tabWidget->currentWidget()))) { coverEditor->save(); + m_modifiedPaths.insert(m_info.path()); MetaDataManager::instance()->clearCoverCache(); } else if((cueEditor = qobject_cast(m_ui->tabWidget->currentWidget()))) { cueEditor->save(); + m_modifiedPaths.insert(m_info.path()); } } else -- cgit v1.2.3-13-gbd6f