Exemple #1
0
void EditStaff::editStringDataClicked()
      {
      int         frets = instrument.stringData()->frets();
      QList<int>  stringList = instrument.stringData()->stringList();

      EditStringData* esd = new EditStringData(this, &stringList, &frets);
      if (esd->exec()) {
            StringData* stringData = new StringData(frets, stringList);
            // detect number of strings going from 0 to !0 or vice versa
            bool redoStaffTypeCombo =
                  (stringList.size() != 0) != (instrument.stringData()->strings() != 0);
            instrument.setStringData(stringData);
            int numStr = stringData ? stringData->strings() : 0;
            numOfStrings->setText(QString::number(numStr));
            if (redoStaffTypeCombo)
                  fillStaffTypeCombo();
            }
      }