22class EditChordObjectCommand :
public QUndoCommand
25 EditChordObjectCommand (
28 : object_ (chord_object),
30 ChordPadState::from_descriptor (*chord_object->chordDescriptor ())),
31 after_ (ChordPadState::from_descriptor (new_descriptor))
33 setText (QObject::tr (
"Edit chord"));
36 int id ()
const override {
return 1762954987; }
38 bool mergeWith (
const QUndoCommand * other)
override
40 if (other->id () != id ())
42 const auto * o =
static_cast<const EditChordObjectCommand *
> (other);
43 if (object_ ==
nullptr || o->object_ ==
nullptr)
45 if (object_.data () != o->object_.data ())
54 before_.apply_to (*object_->chordDescriptor ());
60 after_.apply_to (*object_->chordDescriptor ());
64 QPointer<structure::arrangement::ChordObject> object_;