void EditTagDialog::UpdateUI(const QModelIndexList& sel){ ignore_edits_ = true; for (const FieldData& field : fields_) { InitFieldValue(field, sel); } ignore_edits_ = false; }
void EditTagDialog::ResetFieldValue(const FieldData& field, const QModelIndexList& sel) { // Reset each selected song for (const QModelIndex& i : sel) { Data& data = data_[i.row()]; data.set_value(field.id_, data.original_value(field.id_)); } // Reset the field InitFieldValue(field, sel); }
void EditTagDialog::SelectionChanged() { const QModelIndexList sel = ui_->song_list->selectionModel()->selectedIndexes(); if (sel.isEmpty()) return; // Set the editable fields ignore_edits_ = true; for (const FieldData& field : fields_) { InitFieldValue(field, sel); } ignore_edits_ = false; // If we're editing multiple songs then we have to disable certain tabs const bool multiple = sel.count() > 1; ui_->tab_widget->setTabEnabled(ui_->tab_widget->indexOf(ui_->summary_tab), !multiple); if (!multiple) { const Song& song = data_[sel.first().row()].original_; UpdateSummaryTab(song); UpdateStatisticsTab(song); } }