Skip to content

Commit a336e63

Browse files
committed
Transpose attached diagrams if only symbols are selected
1 parent e4b09b9 commit a336e63

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/engraving/editing/transpose.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,17 @@ bool Transpose::transpose(Score* score, TransposeMode mode, TransposeDirection d
117117
result = false;
118118
}
119119
} else if (e->isHarmony() && transposeChordNames) {
120-
const EngravingObject* parent = e->parent();
121-
if (parent && parent->isFretDiagram()
122-
&& std::find(selectionList.begin(), selectionList.end(), parent) != selectionList.end()) {
123-
continue;
120+
EngravingObject* parent = e->parent();
121+
if (parent && parent->isFretDiagram()) {
122+
if (std::find(selectionList.begin(), selectionList.end(), parent) != selectionList.end()) {
123+
continue;
124+
}
125+
126+
FretDiagram* fd = toFretDiagram(parent);
127+
transposeFretDiagram(toFretDiagram(fd), score, interval, mode, transposeInterval, trKeys, useDoubleSharpsFlats);
128+
} else {
129+
transposeHarmony(toHarmony(e), score, interval, mode, transposeInterval, trKeys, useDoubleSharpsFlats);
124130
}
125-
transposeHarmony(toHarmony(e), score, interval, mode, transposeInterval, trKeys, useDoubleSharpsFlats);
126131
} else if (e->isFretDiagram() && transposeChordNames) {
127132
transposeFretDiagram(toFretDiagram(e), score, interval, mode, transposeInterval, trKeys, useDoubleSharpsFlats);
128133
} else if (e->isKeySig() && mode != TransposeMode::DIATONICALLY && trKeys) {

0 commit comments

Comments
 (0)