Index: mscore/mscore/actions.cpp
===================================================================
--- mscore/mscore/actions.cpp (Revision 3819)
+++ mscore/mscore/actions.cpp (Arbeitskopie)
@@ -1269,7 +1269,7 @@
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-dotdot",
QT_TRANSLATE_NOOP("action","Note duration: double augmentation dot"),
- 0,
+ Qt::SHIFT + Qt::Key_Period,
Qt::WindowShortcut,
QT_TRANSLATE_NOOP("action","Double augmentation dot"),
QT_TRANSLATE_NOOP("action","Double augmentation dot"),
@@ -1299,7 +1299,7 @@
STATE_NORMAL | STATE_NOTE_ENTRY,
"sharp2",
QT_TRANSLATE_NOOP("action","Note entry: double sharp"),
- 0,
+ Qt::SHIFT + Qt::Key_Slash,
Qt::WindowShortcut,
QT_TRANSLATE_NOOP("action","Double sharp"),
QT_TRANSLATE_NOOP("action","Double sharp"),
@@ -1309,7 +1309,7 @@
STATE_NORMAL | STATE_NOTE_ENTRY,
"sharp",
QT_TRANSLATE_NOOP("action","Note entry: sharp"),
- 0,
+ Qt::Key_Slash,
Qt::WindowShortcut,
QT_TRANSLATE_NOOP("action","Sharp"),
QT_TRANSLATE_NOOP("action","Sharp"),
@@ -1319,7 +1319,7 @@
STATE_NORMAL | STATE_NOTE_ENTRY,
"nat",
QT_TRANSLATE_NOOP("action","Note entry: natural"),
- 0,
+ Qt::Key_Asterisk,
Qt::WindowShortcut,
QT_TRANSLATE_NOOP("action","Natural"),
QT_TRANSLATE_NOOP("action","Natural"),
@@ -1339,7 +1339,7 @@
STATE_NORMAL | STATE_NOTE_ENTRY,
"flat2",
QT_TRANSLATE_NOOP("action","Note entry: double flat"),
- 0,
+ Qt::SHIFT + Qt::Key_Minus,
Qt::WindowShortcut,
QT_TRANSLATE_NOOP("action","Double flat"),
QT_TRANSLATE_NOOP("action","Double flat"),
@@ -1347,9 +1347,19 @@
),
Shortcut(
STATE_NORMAL | STATE_NOTE_ENTRY,
+ "remove-accidentals",
+ QT_TRANSLATE_NOOP("action","Note entry: remove accidentals"),
+ Qt::SHIFT + Qt::Key_Asterisk,
+ Qt::WindowShortcut,
+ QT_TRANSLATE_NOOP("action","Remove accidentals"),
+ QT_TRANSLATE_NOOP("action","Remove accidentals"),
+ removeaccidentals_ICON
+ ),
+ Shortcut(
+ STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-acciaccatura",
QT_TRANSLATE_NOOP("action","acciaccatura"),
- Qt::Key_Slash,
+ Qt::CTRL + Qt::Key_Slash,
Qt::WindowShortcut,
QT_TRANSLATE_NOOP("action","acciaccatura"),
QT_TRANSLATE_NOOP("action","acciaccatura"),
Index: mscore/mscore/icons.h
===================================================================
--- mscore/mscore/icons.h (Revision 3819)
+++ mscore/mscore/icons.h (Arbeitskopie)
@@ -30,7 +30,7 @@
extern void genIcons();
enum { longaUp_ICON, brevis_ICON, note_ICON, note2_ICON, note4_ICON, note8_ICON, note16_ICON,
- note32_ICON, note64_ICON, natural_ICON, sharp_ICON, sharpsharp_ICON, flat_ICON, flatflat_ICON,
+ note32_ICON, note64_ICON, natural_ICON, sharp_ICON, sharpsharp_ICON, flat_ICON, flatflat_ICON, removeaccidentals_ICON,
staccato_ICON, quartrest_ICON, dot_ICON, dotdot_ICON, sforzatoaccent_ICON,
tenuto_ICON, plus_ICON, flip_ICON,
undo_ICON, redo_ICON, cut_ICON, copy_ICON, paste_ICON, print_ICON, clef_ICON,
Index: mscore/mscore/icons.cpp
===================================================================
--- mscore/mscore/icons.cpp (Revision 3819)
+++ mscore/mscore/icons.cpp (Arbeitskopie)
@@ -48,6 +48,7 @@
"sharpsharp.svg",
"flat.svg",
"flatflat.svg",
+ "removeaccidentals.svg",
"staccato.svg",
"quartrest.svg",
"dot.svg",
Index: mscore/mscore/mscore.qrc
===================================================================
--- mscore/mscore/mscore.qrc (Revision 3819)
+++ mscore/mscore/mscore.qrc (Arbeitskopie)
@@ -147,6 +147,7 @@
data/icons/text_bottom.svg
data/icons/text_vcenter.svg
data/icons/mscore.xpm
+ data/icons/removeaccidentals.svg
data/icons-dark/minus.svg
data/icons-dark/flip.svg
@@ -254,5 +255,6 @@
data/icons-dark/text_bottom.svg
data/icons-dark/text_vcenter.svg
data/icons-dark/mscore.xpm
+ data/icons-dark/removeaccidentals.svg
Index: mscore/mscore/cmd.cpp
===================================================================
--- mscore/mscore/cmd.cpp (Revision 3819)
+++ mscore/mscore/cmd.cpp (Arbeitskopie)
@@ -1711,9 +1711,19 @@
int pitch, tpc;
if (accidental == ACC_NONE) {
//
- // delete accidental
+ // delete accidentals
//
+
+ // first check for precautionary accidentals
accType = ACC_NONE;
+ // if there is any
+ Accidental *a_rem = note->accidental();
+ if (a_rem) {
+ // remove
+ delete a_rem;
+ note->setAccidental(0);
+ }
+ // handle rest
pitch = line2pitch(note->line(), clef, 0) + acc2;
tpc = step2tpc(step, acc2);
}
@@ -1722,8 +1732,10 @@
//
// this is a precautionary accidental
//
- pitch = note->pitch();
- tpc = note->tpc();
+ accType = accidental;
+ pitch = line2pitch(note->line(), clef, 0) + Accidental::subtype2value(accType);
+ tpc = step2tpc(step, acc);
+
Accidental* a = new Accidental(this);
a->setParent(note);
a->setSubtype(accidental);
@@ -2182,6 +2194,8 @@
changeAccidental(ACC_FLAT);
else if (cmd == "flat2")
changeAccidental(ACC_FLAT2);
+ else if (cmd == "remove-accidentals")
+ changeAccidental(ACC_NONE);
else if (cmd == "flip")
cmdFlip();
else if (cmd == "stretch+")
Index: mscore/mscore/mscore.cpp
===================================================================
--- mscore/mscore/mscore.cpp (Revision 3819)
+++ mscore/mscore/mscore.cpp (Arbeitskopie)
@@ -571,7 +571,7 @@
entryTools->addSeparator();
}
QStringList sl2;
- sl2 << "sharp2" << "sharp" << "nat" << "flat" <<"flat2";
+ sl2 << "sharp2" << "sharp" << "nat" << "flat" << "flat2" << "remove-accidentals";
foreach(const QString& s, sl2) {
QToolButton* nb = new QToolButton;
QAction* a = getAction(qPrintable(s));
Index: mscore/mscore/mscore-apple.qrc
===================================================================
--- mscore/mscore/mscore-apple.qrc (Revision 3819)
+++ mscore/mscore/mscore-apple.qrc (Arbeitskopie)
@@ -147,6 +147,7 @@
data/icons/text_bottom.svg
data/icons/text_vcenter.svg
data/icons/mscore.xpm
+ data/removeaccidentals.svg
data/icons-dark/minus.svg
data/icons-dark/flip.svg
@@ -254,5 +255,6 @@
data/icons-dark/text_bottom.svg
data/icons-dark/text_vcenter.svg
data/icons-dark/mscore.xpm
+ data/icons-dark/removeaccidentals.svg
Index: mscore/mscore/CMakeLists.txt
===================================================================
--- mscore/mscore/CMakeLists.txt (Revision 3819)
+++ mscore/mscore/CMakeLists.txt (Arbeitskopie)
@@ -547,6 +547,7 @@
data/icons/subscript.svg
data/icons/superscript.svg
data/icons/fotomode.svg
+ data/icons/removeaccidentals.svg
DESTINATION ${Mscore_SHARE_NAME}${Mscore_INSTALL_NAME}/icons/icons
)
install (FILES
@@ -655,6 +656,7 @@
data/icons-dark/subscript.svg
data/icons-dark/superscript.svg
data/icons-dark/fotomode.svg
+ data/icons-dark/removeaccidentals.svg
DESTINATION ${Mscore_SHARE_NAME}${Mscore_INSTALL_NAME}/icons/icons-dark
)
# endif (NOT EMBED_ICONS)