Example #1
0
void EditTagDialog::UpdateUI(const QModelIndexList& sel){
  ignore_edits_ = true;
  for (const FieldData& field : fields_) {
    InitFieldValue(field, sel);
  }
  ignore_edits_ = false;
}
Example #2
0
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);
}
Example #3
0
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);
  }
}