Merge pull request #2081 from MarcSabatella/65861-paste-single-harmony
fix #65861: paste of single chord symbol does not transpose
This commit is contained in:
commit
7cbadc9b4a
2 changed files with 15 additions and 2 deletions
|
@ -41,6 +41,7 @@
|
|||
#include "harmony.h"
|
||||
#include "figuredbass.h"
|
||||
#include "icon.h"
|
||||
#include "utils.h"
|
||||
|
||||
namespace Ms {
|
||||
|
||||
|
@ -882,7 +883,19 @@ Element* ChordRest::drop(const DropData& data)
|
|||
break;
|
||||
|
||||
case Element::Type::HARMONY:
|
||||
static_cast<Harmony*>(e)->render();
|
||||
{
|
||||
// transpose
|
||||
Harmony* harmony = static_cast<Harmony*>(e);
|
||||
Interval interval = staff()->part()->instrument()->transpose();
|
||||
if (!score()->styleB(StyleIdx::concertPitch) && !interval.isZero()) {
|
||||
interval.flip();
|
||||
int rootTpc = transposeTpc(harmony->rootTpc(), interval, true);
|
||||
int baseTpc = transposeTpc(harmony->baseTpc(), interval, true);
|
||||
score()->undoTransposeHarmony(harmony, rootTpc, baseTpc);
|
||||
}
|
||||
// render
|
||||
harmony->render();
|
||||
}
|
||||
// fall through
|
||||
case Element::Type::TEXT:
|
||||
case Element::Type::STAFF_TEXT:
|
||||
|
|
|
@ -796,7 +796,7 @@ PasteStatus Score::cmdPaste(const QMimeData* ms, MuseScoreView* view)
|
|||
qDebug("no application mime data");
|
||||
return PasteStatus::NO_MIME;
|
||||
}
|
||||
if ((_selection.isSingle()|| _selection.isList()) && ms->hasFormat(mimeSymbolFormat)) {
|
||||
if ((_selection.isSingle() || _selection.isList()) && ms->hasFormat(mimeSymbolFormat)) {
|
||||
QByteArray data(ms->data(mimeSymbolFormat));
|
||||
XmlReader e(data);
|
||||
QPointF dragOffset;
|
||||
|
|
Loading…
Reference in a new issue