fix #22307, enable nudging texts with arrow keys when selected
This commit is contained in:
parent
82ef459392
commit
a5bb211fb0
8 changed files with 73 additions and 48 deletions
|
@ -2051,7 +2051,7 @@ void Score::cmd(const QAction* a)
|
|||
//
|
||||
Element* el = selection().element();
|
||||
if (cmd == "pitch-up") {
|
||||
if (el && (el->type() == Element::ARTICULATION || el->type() == Element::FINGERING))
|
||||
if (el && (el->type() == Element::ARTICULATION || el->isText()))
|
||||
undoMove(el, el->userOff() + QPointF(0.0, -MScore::nudgeStep * el->spatium()));
|
||||
else if (el && el->type() == Element::REST)
|
||||
cmdMoveRest(static_cast<Rest*>(el), MScore::UP);
|
||||
|
@ -2061,7 +2061,7 @@ void Score::cmd(const QAction* a)
|
|||
upDown(true, UP_DOWN_CHROMATIC);
|
||||
}
|
||||
else if (cmd == "pitch-down") {
|
||||
if (el && (el->type() == Element::ARTICULATION || el->type() == Element::FINGERING))
|
||||
if (el && (el->type() == Element::ARTICULATION || el->isText()))
|
||||
undoMove(el, el->userOff() + QPointF(0.0, MScore::nudgeStep * el->spatium()));
|
||||
else if (el && el->type() == Element::REST)
|
||||
cmdMoveRest(static_cast<Rest*>(el), MScore::DOWN);
|
||||
|
@ -2093,10 +2093,18 @@ void Score::cmd(const QAction* a)
|
|||
// remove measures if stave-range is 0-nstaves()
|
||||
cmdDeleteSelectedMeasures();
|
||||
}
|
||||
else if (cmd == "pitch-up-octave")
|
||||
upDown(true, UP_DOWN_OCTAVE);
|
||||
else if (cmd == "pitch-down-octave")
|
||||
upDown(false, UP_DOWN_OCTAVE);
|
||||
else if (cmd == "pitch-up-octave") {
|
||||
if (el && (el->type() == Element::ARTICULATION || el->isText()))
|
||||
undoMove(el, el->userOff() + QPointF(0.0, -MScore::nudgeStep10 * el->spatium()));
|
||||
else
|
||||
upDown(true, UP_DOWN_OCTAVE);
|
||||
}
|
||||
else if (cmd == "pitch-down-octave") {
|
||||
if (el && (el->type() == Element::ARTICULATION || el->isText()))
|
||||
undoMove(el, el->userOff() + QPointF(0.0, MScore::nudgeStep10 * el->spatium()));
|
||||
else
|
||||
upDown(false, UP_DOWN_OCTAVE);
|
||||
}
|
||||
else if (cmd == "pitch-up-diatonic")
|
||||
upDown(true, UP_DOWN_DIATONIC);
|
||||
else if (cmd == "pitch-down-diatonic")
|
||||
|
|
|
@ -51,6 +51,8 @@ bool MScore::replaceFractions;
|
|||
bool MScore::playRepeats;
|
||||
bool MScore::panPlayback;
|
||||
qreal MScore::nudgeStep;
|
||||
qreal MScore::nudgeStep10;
|
||||
qreal MScore::nudgeStep50;
|
||||
int MScore::defaultPlayDuration;
|
||||
QString MScore::partStyle;
|
||||
QString MScore::lastError;
|
||||
|
|
|
@ -379,6 +379,8 @@ class MScore : public QObject {
|
|||
static qreal vRaster() { return _vRaster; }
|
||||
static void setHRaster(int val) { _hRaster = val; }
|
||||
static void setVRaster(int val) { _vRaster = val; }
|
||||
static void setNudgeStep10(qreal val) { nudgeStep10 = val; }
|
||||
static void setNudgeStep50(qreal val) { nudgeStep50 = val; }
|
||||
|
||||
static QColor selectColor[4];
|
||||
static QColor defaultColor;
|
||||
|
@ -392,6 +394,8 @@ class MScore : public QObject {
|
|||
static bool playRepeats;
|
||||
static bool panPlayback;
|
||||
static qreal nudgeStep;
|
||||
static qreal nudgeStep10;
|
||||
static qreal nudgeStep50;
|
||||
static int defaultPlayDuration;
|
||||
static QString partStyle;
|
||||
static QString lastError;
|
||||
|
|
|
@ -500,7 +500,7 @@ Shortcut Shortcut::sc[] = {
|
|||
A_CMD,
|
||||
"stretch+",
|
||||
QT_TRANSLATE_NOOP("action","Add More Stretch"),
|
||||
QT_TRANSLATE_NOOP("action","Add More Stretch"),
|
||||
QT_TRANSLATE_NOOP("action","Add more stretch"),
|
||||
QT_TRANSLATE_NOOP("action","Add more stretch to selected measure")
|
||||
),
|
||||
Shortcut(
|
||||
|
@ -508,7 +508,7 @@ Shortcut Shortcut::sc[] = {
|
|||
A_CMD,
|
||||
"stretch-",
|
||||
QT_TRANSLATE_NOOP("action","Add Less Stretch"),
|
||||
QT_TRANSLATE_NOOP("action","Less stretch"),
|
||||
QT_TRANSLATE_NOOP("action","Add less stretch"),
|
||||
QT_TRANSLATE_NOOP("action","Add less stretch to selected measure")
|
||||
),
|
||||
Shortcut(
|
||||
|
@ -516,7 +516,7 @@ Shortcut Shortcut::sc[] = {
|
|||
A_CMD,
|
||||
"reset-beammode",
|
||||
QT_TRANSLATE_NOOP("action","Reset Beam Mode"),
|
||||
QT_TRANSLATE_NOOP("action","Reset Beam Mode"),
|
||||
QT_TRANSLATE_NOOP("action","Reset beam mode"),
|
||||
QT_TRANSLATE_NOOP("action","Reset beam mode of selected measures")
|
||||
),
|
||||
Shortcut(
|
||||
|
@ -531,7 +531,7 @@ Shortcut Shortcut::sc[] = {
|
|||
A_CMD,
|
||||
"pitch-up",
|
||||
QT_TRANSLATE_NOOP("action","Up"),
|
||||
QT_TRANSLATE_NOOP("action","Pitch up")
|
||||
QT_TRANSLATE_NOOP("action","Pitch up or move text or articulation up")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
|
@ -546,7 +546,7 @@ Shortcut Shortcut::sc[] = {
|
|||
"pitch-up-octave",
|
||||
QT_TRANSLATE_NOOP("action","Up Octave"),
|
||||
QT_TRANSLATE_NOOP("action","Pitch up octave"),
|
||||
QT_TRANSLATE_NOOP("action","Pitch up by an octave")
|
||||
QT_TRANSLATE_NOOP("action","Pitch up by an octave or move text or articulation up")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY_PITCHED | STATE_NOTE_ENTRY_DRUM,
|
||||
|
@ -573,7 +573,7 @@ Shortcut Shortcut::sc[] = {
|
|||
A_CMD,
|
||||
"pitch-down",
|
||||
QT_TRANSLATE_NOOP("action","Down"),
|
||||
QT_TRANSLATE_NOOP("action","Pitch down")
|
||||
QT_TRANSLATE_NOOP("action","Pitch down or move text or articulation down")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
|
@ -588,7 +588,7 @@ Shortcut Shortcut::sc[] = {
|
|||
"pitch-down-octave",
|
||||
QT_TRANSLATE_NOOP("action","Down octave"),
|
||||
QT_TRANSLATE_NOOP("action","Pitch down octave"),
|
||||
QT_TRANSLATE_NOOP("action","Pitch down by an octave")
|
||||
QT_TRANSLATE_NOOP("action","Pitch down by an octave or move text or articulation down")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY_PITCHED | STATE_NOTE_ENTRY_DRUM,
|
||||
|
@ -616,13 +616,15 @@ Shortcut Shortcut::sc[] = {
|
|||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
0,
|
||||
"prev-chord",
|
||||
QT_TRANSLATE_NOOP("action","Previous chord")
|
||||
QT_TRANSLATE_NOOP("action","Previous chord"),
|
||||
QT_TRANSLATE_NOOP("action","Go to previous chord or move text left")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
0,
|
||||
"prev-measure",
|
||||
QT_TRANSLATE_NOOP("action","Previous measure")
|
||||
QT_TRANSLATE_NOOP("action","Previous measure"),
|
||||
QT_TRANSLATE_NOOP("action","Go to previous measure or move text left")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
|
@ -634,13 +636,15 @@ Shortcut Shortcut::sc[] = {
|
|||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
0,
|
||||
"next-chord",
|
||||
QT_TRANSLATE_NOOP("action","Next chord")
|
||||
QT_TRANSLATE_NOOP("action","Next chord"),
|
||||
QT_TRANSLATE_NOOP("action","Go to next chord or move text right")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
0,
|
||||
"next-measure",
|
||||
QT_TRANSLATE_NOOP("action","Next measure")
|
||||
QT_TRANSLATE_NOOP("action","Next measure"),
|
||||
QT_TRANSLATE_NOOP("action","Go to next measure or move text right")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
|
@ -755,32 +759,35 @@ Shortcut Shortcut::sc[] = {
|
|||
0,
|
||||
"add-slur",
|
||||
QT_TRANSLATE_NOOP("action","Slur"),
|
||||
QT_TRANSLATE_NOOP("action","Add Slur")
|
||||
QT_TRANSLATE_NOOP("action","Add slur")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
A_CMD,
|
||||
"add-hairpin",
|
||||
QT_TRANSLATE_NOOP("action","Crescendo"),
|
||||
QT_TRANSLATE_NOOP("action","Add Crescendo")
|
||||
QT_TRANSLATE_NOOP("action","Add crescendo")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
A_CMD,
|
||||
"add-hairpin-reverse",
|
||||
QT_TRANSLATE_NOOP("action","Decrescendo")
|
||||
QT_TRANSLATE_NOOP("action","Decrescendo"),
|
||||
QT_TRANSLATE_NOOP("action","Add decrescendo")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
A_CMD,
|
||||
"add-8va",
|
||||
QT_TRANSLATE_NOOP("action","Ottava 8va")
|
||||
QT_TRANSLATE_NOOP("action","Ottava 8va"),
|
||||
QT_TRANSLATE_NOOP("action","Add ottava 8va")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
A_CMD,
|
||||
"add-8vb",
|
||||
QT_TRANSLATE_NOOP("action","Ottava 8vb")
|
||||
QT_TRANSLATE_NOOP("action","Ottava 8vb"),
|
||||
QT_TRANSLATE_NOOP("action","Add ottava 8vb")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_TEXT_EDIT | STATE_LYRICS_EDIT
|
||||
|
@ -1129,7 +1136,7 @@ Shortcut Shortcut::sc[] = {
|
|||
0,
|
||||
"acciaccatura",
|
||||
QT_TRANSLATE_NOOP("action","Acciaccatura"),
|
||||
QT_TRANSLATE_NOOP("action","Acciaccatura"),
|
||||
QT_TRANSLATE_NOOP("action","Add acciaccatura"),
|
||||
QT_TRANSLATE_NOOP("action","Acciaccatura"),
|
||||
acciaccatura_ICON
|
||||
),
|
||||
|
@ -1138,7 +1145,7 @@ Shortcut Shortcut::sc[] = {
|
|||
0,
|
||||
"appoggiatura",
|
||||
QT_TRANSLATE_NOOP("action","Appoggiatura"),
|
||||
QT_TRANSLATE_NOOP("action","Appoggiatura"),
|
||||
QT_TRANSLATE_NOOP("action","Add appoggiatura"),
|
||||
QT_TRANSLATE_NOOP("action","Appoggiatura"),
|
||||
appoggiatura_ICON
|
||||
),
|
||||
|
@ -1148,7 +1155,7 @@ Shortcut Shortcut::sc[] = {
|
|||
/* no stroke: 4th*/
|
||||
"grace4",
|
||||
QT_TRANSLATE_NOOP("action","Grace: quarter"),
|
||||
QT_TRANSLATE_NOOP("action","Grace: quarter"),
|
||||
QT_TRANSLATE_NOOP("action","Add quarter grace node"),
|
||||
QT_TRANSLATE_NOOP("action","Grace: quarter"),
|
||||
grace4_ICON
|
||||
),
|
||||
|
@ -1158,7 +1165,7 @@ Shortcut Shortcut::sc[] = {
|
|||
/* no stroke: 16th*/
|
||||
"grace16",
|
||||
QT_TRANSLATE_NOOP("action","Grace: 16th"),
|
||||
QT_TRANSLATE_NOOP("action","Grace: 16th"),
|
||||
QT_TRANSLATE_NOOP("action","Add 16th grace note"),
|
||||
QT_TRANSLATE_NOOP("action","Grace: 16th"),
|
||||
grace16_ICON
|
||||
),
|
||||
|
@ -1168,7 +1175,7 @@ Shortcut Shortcut::sc[] = {
|
|||
/* no stroke: 32nd*/
|
||||
"grace32",
|
||||
QT_TRANSLATE_NOOP("action","Grace: 32nd"),
|
||||
QT_TRANSLATE_NOOP("action","Grace: 32nd"),
|
||||
QT_TRANSLATE_NOOP("action","Add 32nd grace note"),
|
||||
QT_TRANSLATE_NOOP("action","Grace: 32nd"),
|
||||
grace32_ICON
|
||||
),
|
||||
|
@ -1177,7 +1184,7 @@ Shortcut Shortcut::sc[] = {
|
|||
0,
|
||||
"grace8b",
|
||||
QT_TRANSLATE_NOOP("action","Grace: 8th after"),
|
||||
QT_TRANSLATE_NOOP("action","Grace: 8th after"),
|
||||
QT_TRANSLATE_NOOP("action","Add 8th grace note after"),
|
||||
QT_TRANSLATE_NOOP("action","Grace: 8th after"),
|
||||
grace8b_ICON
|
||||
),
|
||||
|
@ -1368,14 +1375,15 @@ Shortcut Shortcut::sc[] = {
|
|||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
A_CMD,
|
||||
"lyrics",
|
||||
QT_TRANSLATE_NOOP("action","Lyrics")
|
||||
QT_TRANSLATE_NOOP("action","Lyrics"),
|
||||
QT_TRANSLATE_NOOP("action","Add lyrics")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
A_CMD,
|
||||
"tempo",
|
||||
QT_TRANSLATE_NOOP("action","Tempo Marking..."),
|
||||
QT_TRANSLATE_NOOP("action","Tempo Marking")
|
||||
QT_TRANSLATE_NOOP("action","Add tempo marking")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
|
@ -1396,7 +1404,7 @@ Shortcut Shortcut::sc[] = {
|
|||
0,
|
||||
"frame-text",
|
||||
QT_TRANSLATE_NOOP("action","Text"),
|
||||
QT_TRANSLATE_NOOP("action","Add Frame Text")
|
||||
QT_TRANSLATE_NOOP("action","Add frame text")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
|
@ -1569,13 +1577,15 @@ Shortcut Shortcut::sc[] = {
|
|||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
A_CMD,
|
||||
"clef-violin",
|
||||
QT_TRANSLATE_NOOP("action","Violin Clef")
|
||||
QT_TRANSLATE_NOOP("action","Treble Clef"),
|
||||
QT_TRANSLATE_NOOP("action","Add treble clef")
|
||||
),
|
||||
Shortcut (
|
||||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
A_CMD,
|
||||
"clef-bass",
|
||||
QT_TRANSLATE_NOOP("action","Bass Clef")
|
||||
QT_TRANSLATE_NOOP("action","Bass Clef"),
|
||||
QT_TRANSLATE_NOOP("action","Add bass clef")
|
||||
),
|
||||
Shortcut (
|
||||
STATE_NORMAL,
|
||||
|
@ -2069,7 +2079,8 @@ Shortcut Shortcut::sc[] = {
|
|||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
A_CMD,
|
||||
"figured-bass",
|
||||
QT_TRANSLATE_NOOP("action","Figured Bass")
|
||||
QT_TRANSLATE_NOOP("action","Figured Bass"),
|
||||
QT_TRANSLATE_NOOP("action","Add figured bass")
|
||||
),
|
||||
Shortcut(
|
||||
STATE_NORMAL,
|
||||
|
@ -2438,7 +2449,7 @@ Shortcut Shortcut::sc[] = {
|
|||
STATE_NORMAL | STATE_NOTE_ENTRY,
|
||||
A_CMD,
|
||||
"add-brackets",
|
||||
QT_TRANSLATE_NOOP("action","add brackets to notehead"),
|
||||
QT_TRANSLATE_NOOP("action","Add brackets to notehead"),
|
||||
brackets_ICON
|
||||
),
|
||||
// xml==0 marks end of list
|
||||
|
|
|
@ -232,9 +232,9 @@ void ScoreView::editKey(QKeyEvent* ev)
|
|||
else {
|
||||
xval = MScore::nudgeStep * _spatium;
|
||||
if (modifiers & Qt::ControlModifier)
|
||||
xval = preferences.nudgeStep10 * _spatium;
|
||||
xval = MScore::nudgeStep10 * _spatium;
|
||||
else if (modifiers & Qt::AltModifier)
|
||||
xval = preferences.nudgeStep50 * _spatium;
|
||||
xval = MScore::nudgeStep50 * _spatium;
|
||||
}
|
||||
yval = xval;
|
||||
|
||||
|
|
|
@ -194,8 +194,8 @@ void Preferences::init()
|
|||
sfPath = QDir(QString("%1%2;%3/%4").arg(mscoreGlobalShare).arg("sound").arg(wd).arg(QCoreApplication::translate("soundfonts_directory", "Soundfonts"))).absolutePath();
|
||||
sfzPath = QDir(QString("%1/%2").arg(wd).arg(QCoreApplication::translate("sfz_files_directory", "SfzFiles"))).absolutePath();
|
||||
|
||||
nudgeStep10 = 1.0; // Ctrl + cursor key (default 1.0)
|
||||
nudgeStep50 = 5.0; // Alt + cursor key (default 5.0)
|
||||
MScore::setNudgeStep10(1.0); // Ctrl + cursor key (default 1.0)
|
||||
MScore::setNudgeStep50(0.01); // Alt + cursor key (default 0.01)
|
||||
|
||||
MScore::setHRaster(2); // _spatium / value
|
||||
MScore::setVRaster(2);
|
||||
|
|
|
@ -165,9 +165,6 @@ struct Preferences {
|
|||
QString sfPath;
|
||||
QString sfzPath;
|
||||
|
||||
double nudgeStep10; // Ctrl + cursor key (default 1.0)
|
||||
double nudgeStep50; // Alt + cursor key (default 5.0)
|
||||
|
||||
bool nativeDialogs;
|
||||
|
||||
int exportAudioSampleRate;
|
||||
|
|
|
@ -1691,11 +1691,11 @@ void ScoreView::paintEvent(QPaintEvent* ev)
|
|||
if (dragElement)
|
||||
dragElement->scanElements(&vp, paintElement, false);
|
||||
if (!dropAnchor.isNull()) {
|
||||
QPen pen(QBrush(QColor(80, 0, 0)), 2.0 / vp.worldMatrix().m11(), Qt::DotLine);
|
||||
QPen pen(QBrush(QColor(80, 0, 0)), 2.0 / vp.worldTransform().m11(), Qt::DotLine);
|
||||
vp.setPen(pen);
|
||||
vp.drawLine(dropAnchor);
|
||||
|
||||
qreal d = 4.0 / vp.worldMatrix().m11();
|
||||
qreal d = 4.0 / vp.worldTransform().m11();
|
||||
QRectF r(-d, -d, 2 * d, 2 * d);
|
||||
|
||||
vp.setBrush(QBrush(QColor(80, 0, 0)));
|
||||
|
@ -2705,13 +2705,16 @@ void ScoreView::cmd(const QAction* a)
|
|||
|| cmd == "next-measure"
|
||||
|| cmd == "prev-measure") {
|
||||
Element* el = score()->selection().element();
|
||||
if (el && (el->type() == Element::FINGERING)) {
|
||||
if (el && (el->isText())) {
|
||||
score()->startCmd();
|
||||
QPointF pt(MScore::nudgeStep * el->spatium(), 0.0);
|
||||
if (cmd == "prev-chord")
|
||||
score()->undoMove(el, el->userOff() - pt);
|
||||
score()->undoMove(el, el->userOff() - QPointF (MScore::nudgeStep * el->spatium(), 0.0));
|
||||
else if (cmd == "next-chord")
|
||||
score()->undoMove(el, el->userOff() + pt);
|
||||
score()->undoMove(el, el->userOff() + QPointF (MScore::nudgeStep * el->spatium(), 0.0));
|
||||
else if (cmd == "prev-measure")
|
||||
score()->undoMove(el, el->userOff() - QPointF (MScore::nudgeStep10 * el->spatium(), 0.0));
|
||||
else if (cmd == "next-measure")
|
||||
score()->undoMove(el, el->userOff() + QPointF (MScore::nudgeStep10 * el->spatium(), 0.0));
|
||||
score()->endCmd();
|
||||
}
|
||||
else {
|
||||
|
|
Loading…
Reference in a new issue