Make sure to always use original metadata when editing tags

This commit is contained in:
Jonas Kvinge 2020-08-10 21:27:56 +02:00
parent 673ded3819
commit 34634d776e
2 changed files with 7 additions and 7 deletions

View File

@ -1948,7 +1948,7 @@ void MainWindow::RenumberTracks() {
if (!source_index.isValid()) continue;
PlaylistItemPtr item = app_->playlist_manager()->current()->item_at(source_index.row());
if (!item) continue;
Song song = item->Metadata();
Song song = item->OriginalMetadata();
if (song.IsEditable()) {
song.set_track(track);
TagReaderReply *reply = TagReaderClient::Instance()->SaveFile(song.url().toLocalFile(), song);
@ -1978,7 +1978,7 @@ void MainWindow::SelectionSetValue() {
if (!source_index.isValid()) continue;
PlaylistItemPtr item = app_->playlist_manager()->current()->item_at(source_index.row());
if (!item) continue;
Song song = item->Metadata();
Song song = item->OriginalMetadata();
if (!song.is_valid() || !song.url().isLocalFile()) continue;
if (Playlist::set_column_value(song, column, column_value)) {
TagReaderReply *reply = TagReaderClient::Instance()->SaveFile(song.url().toLocalFile(), song);
@ -2084,7 +2084,7 @@ void MainWindow::ShowInCollection() {
if (!source_index.isValid()) continue;
PlaylistItemPtr item = app_->playlist_manager()->current()->item_at(source_index.row());
if (item && item->IsLocalCollectionItem()) {
songs << item->Metadata();
songs << item->OriginalMetadata();
break;
}
}
@ -2387,7 +2387,7 @@ void MainWindow::PlaylistOrganizeSelected(const bool copy) {
if (!source_index.isValid()) continue;
PlaylistItemPtr item = app_->playlist_manager()->current()->item_at(source_index.row());
if (!item) continue;
Song song = item->Metadata();
Song song = item->OriginalMetadata();
if (!song.is_valid() || !song.url().isLocalFile()) continue;
songs << song;
}
@ -2477,7 +2477,7 @@ void MainWindow::PlaylistCopyToDevice() {
if (!source_index.isValid()) continue;
PlaylistItemPtr item = app_->playlist_manager()->current()->item_at(source_index.row());
if (!item) continue;
Song song = item->Metadata();
Song song = item->OriginalMetadata();
if (!song.is_valid() || !song.url().isLocalFile()) continue;
songs << song;
}
@ -2667,7 +2667,7 @@ void MainWindow::AutoCompleteTags() {
if (!source_index.isValid()) continue;
PlaylistItemPtr item(app_->playlist_manager()->current()->item_at(source_index.row()));
if (!item) continue;
Song song = item->Metadata();
Song song = item->OriginalMetadata();
if (song.IsEditable()) {
songs << song;
autocomplete_tag_items_ << item;

View File

@ -371,7 +371,7 @@ bool Playlist::setData(const QModelIndex &index, const QVariant &value, int role
int row = index.row();
PlaylistItemPtr item = item_at(row);
Song song = item->Metadata();
Song song = item->OriginalMetadata();
if (index.data() == value) return false;