void MeasureProperties::apply() { Score* score = m->score(); for (int staffIdx = 0; staffIdx < score->nstaves(); ++staffIdx) { MStaff* ms = m->mstaff(staffIdx); bool v = visible(staffIdx); bool s = slashStyle(staffIdx); if (ms->visible() != v || ms->slashStyle() != s) score->undo(new ChangeMStaffProperties(ms, v, s)); } m->undoChangeProperty(P_ID::REPEAT_COUNT, repeatCount()); m->undoChangeProperty(P_ID::BREAK_MMR, breakMultiMeasureRest->isChecked()); m->undoChangeProperty(P_ID::USER_STRETCH, layoutStretch->value()); m->undoChangeProperty(P_ID::MEASURE_NUMBER_MODE, measureNumberMode->currentIndex()); m->undoChangeProperty(P_ID::NO_OFFSET, measureNumberOffset->value()); m->undoChangeProperty(P_ID::IRREGULAR, isIrregular()); if (m->len() != len()) { ScoreRange range; range.read(m->first(), m->last()); if (range.canWrite(len())) m->adjustToLen(len()); else if (!MScore::noGui) { QMessageBox::warning(0, QT_TRANSLATE_NOOP("MeasureProperties", "MuseScore"), QT_TRANSLATE_NOOP("MeasureProperties", "cannot change measure length:\n" "tuplet would cross measure") ); } } score->update(); }
void MeasureProperties::apply() { Score* score = m->score(); for (int staffIdx = 0; staffIdx < score->nstaves(); ++staffIdx) { MStaff* ms = m->mstaff(staffIdx); bool v = visible(staffIdx); bool s = slashStyle(staffIdx); if (ms->visible() != v || ms->slashStyle() != s) score->undo(new ChangeMStaffProperties(ms, v, s)); } if (isIrregular() != m->irregular() || breakMultiMeasureRest->isChecked() != m->breakMultiMeasureRest() || repeatCount() != m->repeatCount() || layoutStretch->value() != m->userStretch() || measureNumberOffset->value() != m->noOffset() || m->len() != len() ) { score->undo(new ChangeMeasureProperties( m, breakMultiMeasureRest->isChecked(), repeatCount(), layoutStretch->value(), measureNumberOffset->value(), isIrregular()) ); if (m->len() != len()) { m->adjustToLen(len()); score->select(m, SELECT_RANGE, 0); } } score->select(0, SELECT_SINGLE, 0); score->end(); }