MuseScore/mscore/shortcut.cpp
2020-05-28 09:50:45 +02:00

4635 lines
142 KiB
C++

//=============================================================================
// MuseScore
// Music Composition & Notation
//
// Copyright (C) 2011-2016 Werner Schweer and others
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENSE.GPL
//=============================================================================
#include "globals.h"
#include "shortcut.h"
#include "icons.h"
#include "libmscore/xml.h"
namespace Ms {
bool Shortcut::dirty = false;
QString Shortcut::source;
QHash<QByteArray, Shortcut*> Shortcut::_shortcuts;
extern QString dataPath;
//---------------------------------------------------------
// initial list of shortcuts
//---------------------------------------------------------
Shortcut Shortcut::_sc[] = {
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"help",
QT_TRANSLATE_NOOP("action","Online Handbook…"), // Appears in menu
QT_TRANSLATE_NOOP("action","Online handbook"), // Appears in Edit > Preferences > Shortcuts
QT_TRANSLATE_NOOP("action","Show online handbook"), // Appears if you use Help > What's This?
Icons::Invalid_ICON,
Qt::ApplicationShortcut,
ShortcutFlags::NONE | ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_DISABLED | STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"file-open",
QT_TRANSLATE_NOOP("action","Open…"),
QT_TRANSLATE_NOOP("action","File > Open"),
QT_TRANSLATE_NOOP("action","Load score from file"),
Icons::fileOpen_ICON
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_TEXT_EDIT | STATE_LYRICS_EDIT
| STATE_HARMONY_FIGBASS_EDIT | STATE_PLAY,
"file-save",
QT_TRANSLATE_NOOP("action","Save"),
QT_TRANSLATE_NOOP("action","File > Save"),
QT_TRANSLATE_NOOP("action","Save score to file"),
Icons::fileSave_ICON
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"file-save-online",
QT_TRANSLATE_NOOP("action","Save Online…"),
QT_TRANSLATE_NOOP("action","File > Save online"),
QT_TRANSLATE_NOOP("action","Save score on MuseScore.com"),
Icons::fileSaveOnline_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_TEXT_EDIT | STATE_LYRICS_EDIT
| STATE_HARMONY_FIGBASS_EDIT | STATE_PLAY,
"file-save-as",
QT_TRANSLATE_NOOP("action","Save As…"),
QT_TRANSLATE_NOOP("action","File > Save as"),
QT_TRANSLATE_NOOP("action","Save score under a new file name"),
Icons::fileSaveAs_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"file-save-selection",
QT_TRANSLATE_NOOP("action","Save Selection…"),
QT_TRANSLATE_NOOP("action","Save selection"),
QT_TRANSLATE_NOOP("action","Save current selection as new score"),
Icons::fileSaveAs_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"file-save-a-copy",
QT_TRANSLATE_NOOP("action","Save a Copy…"),
QT_TRANSLATE_NOOP("action","File > Save a copy"),
QT_TRANSLATE_NOOP("action","Save a copy of the score in addition to the current file"),
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"file-export",
QT_TRANSLATE_NOOP("action","Export…"),
QT_TRANSLATE_NOOP("action","Export score"),
QT_TRANSLATE_NOOP("action","Save a copy of the score in various formats"),
Icons::fileSave_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"file-part-export",
QT_TRANSLATE_NOOP("action","Export Parts…"),
QT_TRANSLATE_NOOP("action","Export parts"),
QT_TRANSLATE_NOOP("action","Save a copy of the score's parts in various formats"),
Icons::fileSave_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::MAIN_WINDOW,
STATE_DISABLED | STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"file-import-pdf",
QT_TRANSLATE_NOOP("action","Import PDF…"),
QT_TRANSLATE_NOOP("action","Import PDF"),
QT_TRANSLATE_NOOP("action","Import a PDF file with an experimental service on musescore.com")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"file-close",
QT_TRANSLATE_NOOP("action","Close"),
QT_TRANSLATE_NOOP("action","File > Close"),
QT_TRANSLATE_NOOP("action","Close current score")
},
{
MsWidget::MAIN_WINDOW,
STATE_DISABLED | STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"file-new",
QT_TRANSLATE_NOOP("action","New…"),
QT_TRANSLATE_NOOP("action","File > New"),
QT_TRANSLATE_NOOP("action","Create new score"),
Icons::fileNew_ICON,
Qt::ApplicationShortcut
},
{
Ms::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"print",
QT_TRANSLATE_NOOP("action","Print…"),
QT_TRANSLATE_NOOP("action","Print"),
QT_TRANSLATE_NOOP("action","Print score/part"),
Icons::print_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_TEXT_EDIT | STATE_LYRICS_EDIT,
"undo",
QT_TRANSLATE_NOOP("action","Undo"),
QT_TRANSLATE_NOOP("action","Undo"),
QT_TRANSLATE_NOOP("action","Undo last change"),
Icons::undo_ICON,
Qt::ApplicationShortcut,
ShortcutFlags::A_UNDO_REDO
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_TEXT_EDIT | STATE_LYRICS_EDIT,
"redo",
QT_TRANSLATE_NOOP("action","Redo"),
QT_TRANSLATE_NOOP("action","Redo"),
QT_TRANSLATE_NOOP("action","Redo last undo"),
Icons::redo_ICON,
Qt::ApplicationShortcut,
ShortcutFlags::A_UNDO_REDO
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_TEXT_EDIT | STATE_LYRICS_EDIT
| STATE_HARMONY_FIGBASS_EDIT,
"cut",
QT_TRANSLATE_NOOP("action","Cut"),
0,
0,
Icons::cut_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_TEXT_EDIT | STATE_LYRICS_EDIT
| STATE_HARMONY_FIGBASS_EDIT | STATE_FOTO,
"copy",
QT_TRANSLATE_NOOP("action","Copy"),
0,
0,
Icons::copy_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_TEXT_EDIT | STATE_LYRICS_EDIT
| STATE_HARMONY_FIGBASS_EDIT,
"paste",
QT_TRANSLATE_NOOP("action","Paste"),
0,
0,
Icons::paste_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"paste-half",
QT_TRANSLATE_NOOP("action","Paste Half Duration"),
QT_TRANSLATE_NOOP("action","Paste half duration"),
0,
Icons::paste_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"paste-double",
QT_TRANSLATE_NOOP("action","Paste Double Duration"),
QT_TRANSLATE_NOOP("action","Paste double duration"),
0,
Icons::paste_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"paste-special",
QT_TRANSLATE_NOOP("action","Paste Special"),
QT_TRANSLATE_NOOP("action","Paste special"),
0,
Icons::paste_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_TEXT_EDIT | STATE_LYRICS_EDIT
| STATE_HARMONY_FIGBASS_EDIT,
"swap",
QT_TRANSLATE_NOOP("action","Swap with Clipboard"),
QT_TRANSLATE_NOOP("action","Swap with clipboard"),
0,
Icons::swap_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"instruments",
QT_TRANSLATE_NOOP("action","Instruments…"),
QT_TRANSLATE_NOOP("action","Show instruments dialog")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"note-input",
QT_TRANSLATE_NOOP("action","Note Input"),
QT_TRANSLATE_NOOP("action","Note input: Toggle Entry/Normal mode"),
QT_TRANSLATE_NOOP("action","Enter notes with a mouse or keyboard"),
Icons::noteEntry_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"note-input-steptime",
QT_TRANSLATE_NOOP("action","Step-Time (Default)"),
QT_TRANSLATE_NOOP("action","Note input: Enter Step-Time mode"),
QT_TRANSLATE_NOOP("action","Enter notes in Step-time"),
Icons::noteEntry_ICON, // Icons::noteEntrySteptime_ICON (using normal icon for the time being.)
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"note-input-repitch",
QT_TRANSLATE_NOOP("action","Re-Pitch"),
QT_TRANSLATE_NOOP("action","Note input: Enter Re-Pitch mode"),
QT_TRANSLATE_NOOP("action","Replace pitches without changing rhythms"),
Icons::noteEntryRepitch_ICON,
Qt::ApplicationShortcut,
ShortcutFlags::A_CMD | ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"note-input-rhythm",
QT_TRANSLATE_NOOP("action","Rhythm"),
QT_TRANSLATE_NOOP("action","Note input: Enter Rhythm mode"),
QT_TRANSLATE_NOOP("action","Enter durations with a single click or keypress"),
Icons::noteEntryRhythm_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"note-input-realtime-auto",
QT_TRANSLATE_NOOP("action","Real-Time (Automatic)"),
QT_TRANSLATE_NOOP("action","Note input: Enter Real-Time (Automatic) mode"),
QT_TRANSLATE_NOOP("action","Enter notes at a fixed tempo indicated by a metronome beat"),
Icons::noteEntryRealtimeAuto_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"note-input-realtime-manual",
QT_TRANSLATE_NOOP("action","Real-Time (Manual)"),
QT_TRANSLATE_NOOP("action","Note input: Enter Real-Time (Manual) mode"),
QT_TRANSLATE_NOOP("action","Enter notes while tapping a key or pedal to set the tempo"),
Icons::noteEntryRealtimeManual_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"note-input-timewise",
QT_TRANSLATE_NOOP("action","Insert"),
QT_TRANSLATE_NOOP("action","Note input: Enter Insert mode"),
QT_TRANSLATE_NOOP("action","Insert notes by increasing measure duration"),
Icons::noteTimewise_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pitch-spell",
QT_TRANSLATE_NOOP("action","Respell Pitches"),
QT_TRANSLATE_NOOP("action","Respell pitches"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval1",
QT_TRANSLATE_NOOP("action","Unison Above"),
QT_TRANSLATE_NOOP("action","Enter unison above")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval2",
QT_TRANSLATE_NOOP("action","Second Above"),
QT_TRANSLATE_NOOP("action","Enter second above")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval3",
QT_TRANSLATE_NOOP("action","Third Above"),
QT_TRANSLATE_NOOP("action","Enter third above")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval4",
QT_TRANSLATE_NOOP("action","Fourth Above"),
QT_TRANSLATE_NOOP("action","Enter fourth above")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval5",
QT_TRANSLATE_NOOP("action","Fifth Above"),
QT_TRANSLATE_NOOP("action","Enter fifth above")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval6",
QT_TRANSLATE_NOOP("action","Sixth Above"),
QT_TRANSLATE_NOOP("action","Enter sixth above")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval7",
QT_TRANSLATE_NOOP("action","Seventh Above"),
QT_TRANSLATE_NOOP("action","Enter seventh above")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval8",
QT_TRANSLATE_NOOP("action","Octave Above"),
QT_TRANSLATE_NOOP("action","Enter octave above")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval9",
QT_TRANSLATE_NOOP("action","Ninth Above"),
QT_TRANSLATE_NOOP("action","Enter ninth above")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval-2",
QT_TRANSLATE_NOOP("action","Second Below"),
QT_TRANSLATE_NOOP("action","Enter second below")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval-3",
QT_TRANSLATE_NOOP("action","Third Below"),
QT_TRANSLATE_NOOP("action","Enter third below")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval-4",
QT_TRANSLATE_NOOP("action","Fourth Below"),
QT_TRANSLATE_NOOP("action","Enter fourth below")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval-5",
QT_TRANSLATE_NOOP("action","Fifth Below"),
QT_TRANSLATE_NOOP("action","Enter fifth below")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval-6",
QT_TRANSLATE_NOOP("action","Sixth Below"),
QT_TRANSLATE_NOOP("action","Enter sixth below")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval-7",
QT_TRANSLATE_NOOP("action","Seventh Below"),
QT_TRANSLATE_NOOP("action","Enter seventh below")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval-8",
QT_TRANSLATE_NOOP("action","Octave Below"),
QT_TRANSLATE_NOOP("action","Enter octave below")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"interval-9",
QT_TRANSLATE_NOOP("action","Ninth Below"),
QT_TRANSLATE_NOOP("action","Enter ninth below")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"note-a",
QT_TRANSLATE_NOOP("action","A"),
QT_TRANSLATE_NOOP("action","Enter note A")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"note-b",
QT_TRANSLATE_NOOP("action","B"),
QT_TRANSLATE_NOOP("action","Enter note B")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"note-c",
QT_TRANSLATE_NOOP("action","C"),
QT_TRANSLATE_NOOP("action","Enter note C")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"note-d",
QT_TRANSLATE_NOOP("action","D"),
QT_TRANSLATE_NOOP("action","Enter note D")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"note-e",
QT_TRANSLATE_NOOP("action","E"),
QT_TRANSLATE_NOOP("action","Enter note E")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"note-f",
QT_TRANSLATE_NOOP("action","F"),
QT_TRANSLATE_NOOP("action","Enter note F")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"note-g",
QT_TRANSLATE_NOOP("action","G"),
QT_TRANSLATE_NOOP("action","Enter note G")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"chord-a",
QT_TRANSLATE_NOOP("action","Add A to Chord"),
QT_TRANSLATE_NOOP("action","Add note A to chord")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"chord-b",
QT_TRANSLATE_NOOP("action","Add B to Chord"),
QT_TRANSLATE_NOOP("action","Add note B to chord")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"chord-c",
QT_TRANSLATE_NOOP("action","Add C to Chord"),
QT_TRANSLATE_NOOP("action","Add note C to chord")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"chord-d",
QT_TRANSLATE_NOOP("action","Add D to Chord"),
QT_TRANSLATE_NOOP("action","Add note D to chord")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"chord-e",
QT_TRANSLATE_NOOP("action","Add E to Chord"),
QT_TRANSLATE_NOOP("action","Add note E to chord")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"chord-f",
QT_TRANSLATE_NOOP("action","Add F to Chord"),
QT_TRANSLATE_NOOP("action","Add note F to chord")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"chord-g",
QT_TRANSLATE_NOOP("action","Add G to Chord"),
QT_TRANSLATE_NOOP("action","Add note G to chord")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"chord-tie",
QT_TRANSLATE_NOOP("action","Add Tied Note to Chord"),
QT_TRANSLATE_NOOP("action","Add tied note to chord")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"insert-a",
QT_TRANSLATE_NOOP("action","Insert A"),
QT_TRANSLATE_NOOP("action","Insert note A")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"insert-b",
QT_TRANSLATE_NOOP("action","Insert B"),
QT_TRANSLATE_NOOP("action","Insert note B")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"insert-c",
QT_TRANSLATE_NOOP("action","Insert C"),
QT_TRANSLATE_NOOP("action","Insert note C")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"insert-d",
QT_TRANSLATE_NOOP("action","Insert D"),
QT_TRANSLATE_NOOP("action","Insert note D")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"insert-e",
QT_TRANSLATE_NOOP("action","Insert E"),
QT_TRANSLATE_NOOP("action","Insert note E")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"insert-f",
QT_TRANSLATE_NOOP("action","Insert F"),
QT_TRANSLATE_NOOP("action","Insert note F")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"insert-g",
QT_TRANSLATE_NOOP("action","Insert G"),
QT_TRANSLATE_NOOP("action","Insert note G")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"rest",
QT_TRANSLATE_NOOP("action","Rest"),
QT_TRANSLATE_NOOP("action","Enter rest"),
0,
Icons::quartrest_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_METHOD_REALTIME_AUTO | STATE_NOTE_ENTRY_METHOD_REALTIME_MANUAL,
"realtime-advance",
QT_TRANSLATE_NOOP("action","Real-Time Advance"),
QT_TRANSLATE_NOOP("action","Move the cursor forward in real-time input mode"),
0,
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-staccato",
QT_TRANSLATE_NOOP("action","Staccato"),
QT_TRANSLATE_NOOP("action","Toggle staccato"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-up-bow",
QT_TRANSLATE_NOOP("action","Up Bow"),
QT_TRANSLATE_NOOP("action","Toggle up bow"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-down-bow",
QT_TRANSLATE_NOOP("action","Down Bow"),
QT_TRANSLATE_NOOP("action","Toggle down bow"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-tenuto",
QT_TRANSLATE_NOOP("action","Tenuto"),
QT_TRANSLATE_NOOP("action","Toggle tenuto"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-trill",
QT_TRANSLATE_NOOP("action","Trill"),
QT_TRANSLATE_NOOP("action","Toggle trill"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-marcato",
QT_TRANSLATE_NOOP("action","Marcato"),
QT_TRANSLATE_NOOP("action","Toggle marcato"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-sforzato",
QT_TRANSLATE_NOOP("action","Accent"),
QT_TRANSLATE_NOOP("action","Toggle accent"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"stretch+",
QT_TRANSLATE_NOOP("action","Increase Layout Stretch"),
QT_TRANSLATE_NOOP("action","Increase layout stretch"),
QT_TRANSLATE_NOOP("action","Increase layout stretch factor of selected measures"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"stretch-",
QT_TRANSLATE_NOOP("action","Decrease Layout Stretch"),
QT_TRANSLATE_NOOP("action","Decrease layout stretch"),
QT_TRANSLATE_NOOP("action","Decrease layout stretch factor of selected measures"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"reset-beammode",
QT_TRANSLATE_NOOP("action","Reset Beams"),
QT_TRANSLATE_NOOP("action","Reset beams"),
QT_TRANSLATE_NOOP("action","Reset beams of selected measures"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"reset-style",
QT_TRANSLATE_NOOP("action","Reset Style"),
QT_TRANSLATE_NOOP("action","Reset style"),
QT_TRANSLATE_NOOP("action","Reset all style values to default"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"reset-groupings",
QT_TRANSLATE_NOOP("action","Regroup Rhythms"),
QT_TRANSLATE_NOOP("action","Regroup rhythms"),
QT_TRANSLATE_NOOP("action","Combine rests and tied notes from selection and resplit at rhythmical locations"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"flip",
QT_TRANSLATE_NOOP("action","Flip Direction"),
QT_TRANSLATE_NOOP("action","Flip direction"),
0,
Icons::flip_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"pitch-up",
QT_TRANSLATE_NOOP("action","Up"),
QT_TRANSLATE_NOOP("action","Pitch up or move text or articulation up"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pitch-up-diatonic",
QT_TRANSLATE_NOOP("action","Diatonic Up"),
QT_TRANSLATE_NOOP("action","Diatonic pitch up"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"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 or move text or articulation up"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"up-chord",
QT_TRANSLATE_NOOP("action","Up Note in Chord"),
QT_TRANSLATE_NOOP("action","Go to higher pitched note in chord"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"top-chord",
QT_TRANSLATE_NOOP("action","Top Note in Chord"),
QT_TRANSLATE_NOOP("action","Go to top note in chord"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"move-up",
QT_TRANSLATE_NOOP("action","Move Up"),
QT_TRANSLATE_NOOP("action","Move up"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"pitch-down",
QT_TRANSLATE_NOOP("action","Down"),
QT_TRANSLATE_NOOP("action","Pitch down or move text or articulation down"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pitch-down-diatonic",
QT_TRANSLATE_NOOP("action","Diatonic Down"),
QT_TRANSLATE_NOOP("action","Diatonic pitch down"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"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 or move text or articulation down"),
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"down-chord",
QT_TRANSLATE_NOOP("action","Down Note in Chord"),
QT_TRANSLATE_NOOP("action","Go to lower pitched note in chord"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"next-segment-element",
QT_TRANSLATE_NOOP("action","Next Segment Element"),
QT_TRANSLATE_NOOP("action","Accessibility: Next segment element"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"prev-segment-element",
QT_TRANSLATE_NOOP("action","Previous Segment Element"),
QT_TRANSLATE_NOOP("action","Accessibility: Previous segment element"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_TEXT_EDIT | STATE_HARMONY_FIGBASS_EDIT,
"next-element",
QT_TRANSLATE_NOOP("action","Next Element"),
QT_TRANSLATE_NOOP("action","Accessibility: Next element"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_TEXT_EDIT | STATE_HARMONY_FIGBASS_EDIT,
"prev-element",
QT_TRANSLATE_NOOP("action","Previous Element"),
QT_TRANSLATE_NOOP("action","Accessibility: Previous element"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"get-location",
QT_TRANSLATE_NOOP("action","Get Location"),
QT_TRANSLATE_NOOP("action","Accessibility: Get location"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"palette-search",
QT_TRANSLATE_NOOP("action","Palette Search"),
QT_TRANSLATE_NOOP("action","Palette Search"),
QT_TRANSLATE_NOOP("action","Palette Search"),
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"apply-current-palette-element",
QT_TRANSLATE_NOOP("action","Apply Current Palette Element"),
QT_TRANSLATE_NOOP("action","Apply current palette element"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"first-element",
QT_TRANSLATE_NOOP("action","First Element"),
QT_TRANSLATE_NOOP("action","Go to the first element"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"last-element",
QT_TRANSLATE_NOOP("action","Last Element"),
QT_TRANSLATE_NOOP("action","Go to the last element"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"bottom-chord",
QT_TRANSLATE_NOOP("action","Bottom Note in Chord"),
QT_TRANSLATE_NOOP("action","Go to bottom note in chord"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"move-down",
QT_TRANSLATE_NOOP("action","Move Down"),
QT_TRANSLATE_NOOP("action","Move down"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"prev-chord",
QT_TRANSLATE_NOOP("action","Previous Chord"),
QT_TRANSLATE_NOOP("action","Go to previous chord or move text left")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"prev-measure",
QT_TRANSLATE_NOOP("action","Previous Measure"),
QT_TRANSLATE_NOOP("action","Go to previous measure or move text left")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"prev-track",
QT_TRANSLATE_NOOP("action","Previous Staff or Voice"),
QT_TRANSLATE_NOOP("action","Previous staff or voice")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"next-chord",
QT_TRANSLATE_NOOP("action","Next Chord"),
QT_TRANSLATE_NOOP("action","Go to next chord or move text right")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"next-measure",
QT_TRANSLATE_NOOP("action","Next Measure"),
QT_TRANSLATE_NOOP("action","Go to next measure or move text right")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"next-track",
QT_TRANSLATE_NOOP("action","Next Staff or Voice"),
QT_TRANSLATE_NOOP("action","Next staff or voice")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"select-prev-chord",
QT_TRANSLATE_NOOP("action","Add Previous Chord to Selection"),
QT_TRANSLATE_NOOP("action","Add previous chord to selection")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"select-prev-measure",
QT_TRANSLATE_NOOP("action","Select to Beginning of Measure"),
QT_TRANSLATE_NOOP("action","Select to beginning of measure")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"select-next-chord",
QT_TRANSLATE_NOOP("action","Add Next Chord to Selection"),
QT_TRANSLATE_NOOP("action","Add next chord to selection")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"select-section",
QT_TRANSLATE_NOOP("action","Select Section"),
QT_TRANSLATE_NOOP("action","Select section")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY,
"move-right",
QT_TRANSLATE_NOOP("action","Move Chord/Rest Right"),
QT_TRANSLATE_NOOP("action","Move chord/rest right")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY,
"move-left",
QT_TRANSLATE_NOOP("action","Move Chord/Rest left"),
QT_TRANSLATE_NOOP("action","Move chord/rest left")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"select-next-measure",
QT_TRANSLATE_NOOP("action","Select to End of Measure"),
QT_TRANSLATE_NOOP("action","Select to end of measure")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"select-begin-line",
QT_TRANSLATE_NOOP("action","Select to Beginning of Line"),
QT_TRANSLATE_NOOP("action","Select to beginning of line")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"select-end-line",
QT_TRANSLATE_NOOP("action","Select to End of Line"),
QT_TRANSLATE_NOOP("action","Select to end of line")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"select-begin-score",
QT_TRANSLATE_NOOP("action","Select to Beginning of Score"),
QT_TRANSLATE_NOOP("action","Select to beginning of score")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"select-end-score",
QT_TRANSLATE_NOOP("action","Select to End of Score"),
QT_TRANSLATE_NOOP("action","Select to end of score")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"select-staff-above",
QT_TRANSLATE_NOOP("action","Add Staff Above to Selection"),
QT_TRANSLATE_NOOP("action","Add staff above to selection")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"select-staff-below",
QT_TRANSLATE_NOOP("action","Add Staff Below to Selection"),
QT_TRANSLATE_NOOP("action","Add staff below to selection")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"scr-prev",
QT_TRANSLATE_NOOP("action","Screen: Previous")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"scr-next",
QT_TRANSLATE_NOOP("action","Screen: Next")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"page-prev",
QT_TRANSLATE_NOOP("action","Page: Previous")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"page-next",
QT_TRANSLATE_NOOP("action","Page: Next")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"page-top",
QT_TRANSLATE_NOOP("action","Page: Top")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"page-end",
QT_TRANSLATE_NOOP("action","Page: End")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-slur",
QT_TRANSLATE_NOOP("action","Slur"),
QT_TRANSLATE_NOOP("action","Add slur")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-hairpin",
QT_TRANSLATE_NOOP("action","Crescendo"),
QT_TRANSLATE_NOOP("action","Add crescendo"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-hairpin-reverse",
QT_TRANSLATE_NOOP("action","Decrescendo"),
QT_TRANSLATE_NOOP("action","Add decrescendo"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-8va",
QT_TRANSLATE_NOOP("action","Ottava 8va alta"),
QT_TRANSLATE_NOOP("action","Add ottava 8va alta"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-8vb",
QT_TRANSLATE_NOOP("action","Ottava 8va bassa"),
QT_TRANSLATE_NOOP("action","Add ottava 8va bassa"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_TEXT_EDIT | STATE_LYRICS_EDIT
| STATE_HARMONY_FIGBASS_EDIT | STATE_PLAY | STATE_FOTO,
"escape",
QT_TRANSLATE_NOOP("action","Escape")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"delete",
QT_TRANSLATE_NOOP("action","Delete"),
QT_TRANSLATE_NOOP("action","Delete"),
QT_TRANSLATE_NOOP("action","Delete the selected element(s)"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"full-measure-rest",
QT_TRANSLATE_NOOP("action","Full Measure Rest"),
QT_TRANSLATE_NOOP("action","Full measure rest"),
QT_TRANSLATE_NOOP("action","Convert the measure to a full measure rest"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"time-delete",
QT_TRANSLATE_NOOP("action","Remove Selected Range"),
QT_TRANSLATE_NOOP("action","Remove selected range"),
QT_TRANSLATE_NOOP("action","Remove element and duration"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"append-measure",
QT_TRANSLATE_NOOP("action","Append One Measure"),
QT_TRANSLATE_NOOP("action","Append one measure")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"append-measures",
QT_TRANSLATE_NOOP("action","Append Measures…"),
QT_TRANSLATE_NOOP("action","Append measures")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"insert-measure",
QT_TRANSLATE_NOOP("action","Insert One Measure"),
QT_TRANSLATE_NOOP("action","Insert one measure"),
0,
Icons::measure_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"insert-measures",
QT_TRANSLATE_NOOP("action","Insert Measures…"),
QT_TRANSLATE_NOOP("action","Insert measures")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"insert-hbox",
QT_TRANSLATE_NOOP("action","Insert Horizontal Frame"),
QT_TRANSLATE_NOOP("action","Insert horizontal frame"),
0,
Icons::hframe_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"insert-textframe",
QT_TRANSLATE_NOOP("action","Insert Text Frame"),
QT_TRANSLATE_NOOP("action","Insert text frame"),
0,
Icons::tframe_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"append-textframe",
QT_TRANSLATE_NOOP("action","Append Text Frame"),
QT_TRANSLATE_NOOP("action","Append text frame")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"insert-fretframe",
QT_TRANSLATE_NOOP("action","Insert Fretboard Diagram Frame"),
QT_TRANSLATE_NOOP("action","Insert fretboard diagram frame"),
0,
Icons::fframe_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"insert-vbox",
QT_TRANSLATE_NOOP("action","Insert Vertical Frame"),
QT_TRANSLATE_NOOP("action","Insert vertical frame"),
0,
Icons::vframe_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"append-hbox",
QT_TRANSLATE_NOOP("action","Append Horizontal Frame"),
QT_TRANSLATE_NOOP("action","Append horizontal frame")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"append-vbox",
QT_TRANSLATE_NOOP("action","Append Vertical Frame"),
QT_TRANSLATE_NOOP("action","Append vertical frame")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"duplet",
QT_TRANSLATE_NOOP("action","Duplet")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"triplet",
QT_TRANSLATE_NOOP("action","Triplet")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"quadruplet",
QT_TRANSLATE_NOOP("action","Quadruplet")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"quintuplet",
QT_TRANSLATE_NOOP("action","Quintuplet")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"sextuplet",
QT_TRANSLATE_NOOP("action","Sextuplet")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"septuplet",
QT_TRANSLATE_NOOP("action","Septuplet")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"octuplet",
QT_TRANSLATE_NOOP("action","Octuplet")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"nonuplet",
QT_TRANSLATE_NOOP("action","Nonuplet")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"tuplet-dialog",
QT_TRANSLATE_NOOP("action","Other…"),
QT_TRANSLATE_NOOP("action","Other tuplets")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"note-longa",
QT_TRANSLATE_NOOP("action","Longa"),
QT_TRANSLATE_NOOP("action","Note duration: Longa"),
QT_TRANSLATE_NOOP("action","Longa"),
Icons::longaUp_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"note-breve",
QT_TRANSLATE_NOOP("action","Double Whole Note"),
QT_TRANSLATE_NOOP("action","Note duration: Double whole"),
QT_TRANSLATE_NOOP("action","Double whole note"),
Icons::brevis_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-note-1",
QT_TRANSLATE_NOOP("action","Whole Note"),
QT_TRANSLATE_NOOP("action","Note duration: Whole"),
QT_TRANSLATE_NOOP("action","Whole note"),
Icons::note_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-note-2",
QT_TRANSLATE_NOOP("action","Half Note"),
QT_TRANSLATE_NOOP("action","Note duration: Half"),
QT_TRANSLATE_NOOP("action","Half note"),
Icons::note2_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-note-4",
QT_TRANSLATE_NOOP("action","Quarter Note"),
QT_TRANSLATE_NOOP("action","Note duration: Quarter"),
QT_TRANSLATE_NOOP("action","Quarter note"),
Icons::note4_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-note-8",
QT_TRANSLATE_NOOP("action","Eighth Note"),
QT_TRANSLATE_NOOP("action","Note duration: Eighth"),
QT_TRANSLATE_NOOP("action","Eighth note"),
Icons::note8_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-note-16",
QT_TRANSLATE_NOOP("action","16th Note"),
QT_TRANSLATE_NOOP("action","Note duration: 16th"),
QT_TRANSLATE_NOOP("action","16th note"),
Icons::note16_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-note-32",
QT_TRANSLATE_NOOP("action","32nd Note"),
QT_TRANSLATE_NOOP("action","Note duration: 32nd"),
QT_TRANSLATE_NOOP("action","32nd note"),
Icons::note32_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-note-64",
QT_TRANSLATE_NOOP("action","64th Note"),
QT_TRANSLATE_NOOP("action","Note duration: 64th"),
QT_TRANSLATE_NOOP("action","64th note"),
Icons::note64_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-note-128",
QT_TRANSLATE_NOOP("action","128th Note"),
QT_TRANSLATE_NOOP("action","Note duration: 128th"),
QT_TRANSLATE_NOOP("action","128th note"),
Icons::note128_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-note-256",
QT_TRANSLATE_NOOP("action","256th Note"),
QT_TRANSLATE_NOOP("action","Note duration: 256th"),
QT_TRANSLATE_NOOP("action","256th note"),
Icons::note256_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-note-512",
QT_TRANSLATE_NOOP("action","512th Note"),
QT_TRANSLATE_NOOP("action","Note duration: 512th"),
QT_TRANSLATE_NOOP("action","512th note"),
Icons::note512_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-note-1024",
QT_TRANSLATE_NOOP("action","1024th Note"),
QT_TRANSLATE_NOOP("action","Note duration: 1024th"),
QT_TRANSLATE_NOOP("action","1024th note"),
Icons::note1024_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY,
"pad-note-increase",
QT_TRANSLATE_NOOP("action","Increase Active Duration"),
QT_TRANSLATE_NOOP("action","Increase active duration")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY,
"pad-note-decrease",
QT_TRANSLATE_NOOP("action","Decrease Active Duration"),
QT_TRANSLATE_NOOP("action","Decrease active duration")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-dot",
QT_TRANSLATE_NOOP("action","Augmentation Dot"),
QT_TRANSLATE_NOOP("action","Note duration: Augmentation dot"),
QT_TRANSLATE_NOOP("action","Augmentation dot"),
Icons::dot_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-dotdot",
QT_TRANSLATE_NOOP("action","Double Augmentation Dot"),
QT_TRANSLATE_NOOP("action","Note duration: Double augmentation dot"),
QT_TRANSLATE_NOOP("action","Double augmentation dot"),
Icons::dotdot_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-dot3",
QT_TRANSLATE_NOOP("action","Triple Augmentation Dot"),
QT_TRANSLATE_NOOP("action","Note duration: Triple augmentation dot"),
QT_TRANSLATE_NOOP("action","Triple augmentation dot"),
Icons::dot3_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"pad-dot4",
QT_TRANSLATE_NOOP("action","Quadruple Augmentation Dot"),
QT_TRANSLATE_NOOP("action","Note duration: Quadruple augmentation dot"),
QT_TRANSLATE_NOOP("action","Quadruple augmentation dot"),
Icons::dot4_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"tie",
QT_TRANSLATE_NOOP("action","Tie"),
QT_TRANSLATE_NOOP("action","Note duration: Tie"),
QT_TRANSLATE_NOOP("action","Tie"),
Icons::tie_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"pad-rest",
QT_TRANSLATE_NOOP("action","Rest"),
QT_TRANSLATE_NOOP("action","Note input: Rest"),
QT_TRANSLATE_NOOP("action","Rest"),
Icons::quartrest_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"sharp2",
QT_TRANSLATE_NOOP("action","Double ♯"),
QT_TRANSLATE_NOOP("action","Note input: Double ♯"),
QT_TRANSLATE_NOOP("action","Double ♯"),
Icons::sharpsharp_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"sharp",
QT_TRANSLATE_NOOP("action",""),
QT_TRANSLATE_NOOP("action","Note input: ♯"),
QT_TRANSLATE_NOOP("action",""),
Icons::sharp_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"nat",
QT_TRANSLATE_NOOP("action",""),
QT_TRANSLATE_NOOP("action","Note input: ♮"),
QT_TRANSLATE_NOOP("action",""),
Icons::natural_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"flat",
QT_TRANSLATE_NOOP("action",""),
QT_TRANSLATE_NOOP("action","Note input: ♭"),
QT_TRANSLATE_NOOP("action",""),
Icons::flat_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"flat2",
QT_TRANSLATE_NOOP("action","Double ♭"),
QT_TRANSLATE_NOOP("action","Note input: Double ♭"),
QT_TRANSLATE_NOOP("action","Double ♭"),
Icons::flatflat_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"acciaccatura",
QT_TRANSLATE_NOOP("action","Acciaccatura"),
QT_TRANSLATE_NOOP("action","Add acciaccatura"),
QT_TRANSLATE_NOOP("action","Acciaccatura"),
Icons::acciaccatura_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"appoggiatura",
QT_TRANSLATE_NOOP("action","Appoggiatura"),
QT_TRANSLATE_NOOP("action","Add appoggiatura"),
QT_TRANSLATE_NOOP("action","Appoggiatura"),
Icons::appoggiatura_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
/* no stroke: 4th*/
"grace4",
QT_TRANSLATE_NOOP("action","Grace: Quarter"),
QT_TRANSLATE_NOOP("action","Add quarter grace note"),
QT_TRANSLATE_NOOP("action","Grace: quarter"),
Icons::grace4_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
/* no stroke: 16th*/
"grace16",
QT_TRANSLATE_NOOP("action","Grace: 16th"),
QT_TRANSLATE_NOOP("action","Add 16th grace note"),
QT_TRANSLATE_NOOP("action","Grace: 16th"),
Icons::grace16_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
/* no stroke: 32nd*/
"grace32",
QT_TRANSLATE_NOOP("action","Grace: 32nd"),
QT_TRANSLATE_NOOP("action","Add 32nd grace note"),
QT_TRANSLATE_NOOP("action","Grace: 32nd"),
Icons::grace32_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
/* no stroke: Eighth*/
"grace8after",
QT_TRANSLATE_NOOP("action","Grace: Eighth After"),
QT_TRANSLATE_NOOP("action","Add Eighth grace note after"),
QT_TRANSLATE_NOOP("action","Grace: eighth after"),
Icons::grace8after_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
/* no stroke: 16th*/
"grace16after",
QT_TRANSLATE_NOOP("action","Grace: 16th After"),
QT_TRANSLATE_NOOP("action","Add 16th grace note after"),
QT_TRANSLATE_NOOP("action","Grace: 16th after"),
Icons::grace16after_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
/* no stroke: 32nd*/
"grace32after",
QT_TRANSLATE_NOOP("action","Grace: 32nd After"),
QT_TRANSLATE_NOOP("action","Add 32nd grace note after"),
QT_TRANSLATE_NOOP("action","Grace: 32nd after"),
Icons::grace32after_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"voice-1",
QT_TRANSLATE_NOOP("action","1"),
QT_TRANSLATE_NOOP("action","Voice 1"),
0,
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"voice-2",
QT_TRANSLATE_NOOP("action","2"),
QT_TRANSLATE_NOOP("action","Voice 2"),
0,
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"voice-3",
QT_TRANSLATE_NOOP("action","3"),
QT_TRANSLATE_NOOP("action","Voice 3"),
0,
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"voice-4",
QT_TRANSLATE_NOOP("action","4"),
QT_TRANSLATE_NOOP("action","Voice 4"),
0,
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"midi-on",
QT_TRANSLATE_NOOP("action","MIDI Input"),
QT_TRANSLATE_NOOP("action","Toggle 'MIDI Input'"),
0,
Icons::midiin_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"beam-start",
QT_TRANSLATE_NOOP("action","Beam Start"),
QT_TRANSLATE_NOOP("action","Beam start"),
0,
Icons::sbeam_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"beam-mid",
QT_TRANSLATE_NOOP("action","Beam Middle"),
QT_TRANSLATE_NOOP("action","Beam middle"),
0,
Icons::mbeam_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"no-beam",
QT_TRANSLATE_NOOP("action","No Beam"),
QT_TRANSLATE_NOOP("action","No beam"),
0,
Icons::nbeam_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"beam32",
QT_TRANSLATE_NOOP("action","Beam 16th Sub"),
QT_TRANSLATE_NOOP("action","Beam 16th sub"),
0,
Icons::beam32_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD | ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"beam64",
QT_TRANSLATE_NOOP("action","Beam 32nd Sub"),
QT_TRANSLATE_NOOP("action","Beam 32nd sub"),
0,
Icons::beam64_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD | ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"auto-beam",
QT_TRANSLATE_NOOP("action","Auto Beam"),
QT_TRANSLATE_NOOP("action","Auto beam"),
0,
Icons::abeam_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD | ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"fbeam1",
QT_TRANSLATE_NOOP("action","Feathered Beam, Slower"),
QT_TRANSLATE_NOOP("action","Feathered beam, slower"),
0,
Icons::fbeam1_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"fbeam2",
QT_TRANSLATE_NOOP("action","Feathered Beam, Faster"),
QT_TRANSLATE_NOOP("action","Feathered beam, faster"),
0,
Icons::fbeam2_ICON
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"toggle-palette",
QT_TRANSLATE_NOOP("action","Palettes"),
QT_TRANSLATE_NOOP("action","Toggle 'Palettes'"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"toggle-playpanel",
QT_TRANSLATE_NOOP("action","Play Panel"),
QT_TRANSLATE_NOOP("action","Toggle 'Play Panel'"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"toggle-selection-window",
QT_TRANSLATE_NOOP("action","Selection Filter"),
QT_TRANSLATE_NOOP("action","Toggle 'Selection Filter'"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"toggle-navigator",
QT_TRANSLATE_NOOP("action","Navigator"),
QT_TRANSLATE_NOOP("action","Toggle 'Navigator'"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"toggle-timeline",
QT_TRANSLATE_NOOP("action","Timeline"),
QT_TRANSLATE_NOOP("action","Toggle 'Timeline'"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"toggle-midiimportpanel",
QT_TRANSLATE_NOOP("action","MIDI Import Panel"),
QT_TRANSLATE_NOOP("action","Toggle 'MIDI Import Panel'"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
#ifdef Q_OS_MAC
//Avoid conflict with M in text
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
#else
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
#endif
"toggle-mixer",
QT_TRANSLATE_NOOP("action","Mixer"),
QT_TRANSLATE_NOOP("action","Toggle 'Mixer'"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"toggle-fileoperations",
QT_TRANSLATE_NOOP("action","File Operations"),
QT_TRANSLATE_NOOP("action","Toggle 'File Operations' toolbar")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"toggle-transport",
QT_TRANSLATE_NOOP("action","Playback Controls"),
QT_TRANSLATE_NOOP("action","Toggle 'Playback Controls' toolbar")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"toggle-concertpitch",
QT_TRANSLATE_NOOP("action","Concert Pitch"),
QT_TRANSLATE_NOOP("action","Toggle 'Concert Pitch' toolbar")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"toggle-imagecapture",
QT_TRANSLATE_NOOP("action","Image Capture"),
QT_TRANSLATE_NOOP("action","Toggle 'Image Capture' toolbar")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"toggle-noteinput",
QT_TRANSLATE_NOOP("action","Note Input"),
QT_TRANSLATE_NOOP("action","Toggle 'Note Input' toolbar")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"toggle-feedback",
QT_TRANSLATE_NOOP("action","Feedback"),
QT_TRANSLATE_NOOP("action","Toggle 'Feedback' toolbar"),
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"toggle-workspaces-toolbar",
QT_TRANSLATE_NOOP("action","Workspaces"),
QT_TRANSLATE_NOOP("action","Toggle 'Workspaces' toolbar"),
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"toggle-statusbar",
QT_TRANSLATE_NOOP("action","Status Bar"),
QT_TRANSLATE_NOOP("action","Toggle 'Status Bar'")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"create-new-workspace",
"+",
QT_TRANSLATE_NOOP("action","Add new workspace"),
},
{
MsWidget::MAIN_WINDOW,
STATE_DISABLED | STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_TEXT_EDIT | STATE_PLAY | STATE_FOTO,
"quit",
QT_TRANSLATE_NOOP("action","Quit")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"mag",
QT_TRANSLATE_NOOP("action","Zoom Canvas"),
QT_TRANSLATE_NOOP("action","Zoom canvas")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"lyrics",
QT_TRANSLATE_NOOP("action","Lyrics"),
QT_TRANSLATE_NOOP("action","Add lyrics"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
// ,ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"tempo",
QT_TRANSLATE_NOOP("action","Tempo Marking"),
QT_TRANSLATE_NOOP("action","Add tempo marking"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"system-text",
QT_TRANSLATE_NOOP("action","System Text"),
QT_TRANSLATE_NOOP("action","Add system text")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"staff-text",
QT_TRANSLATE_NOOP("action","Staff Text"),
QT_TRANSLATE_NOOP("action","Add staff text")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"expression-text",
QT_TRANSLATE_NOOP("action","Expression Text"),
QT_TRANSLATE_NOOP("action","Expression text")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"frame-text",
QT_TRANSLATE_NOOP("action","Text"),
QT_TRANSLATE_NOOP("action","Add frame text")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"title-text",
QT_TRANSLATE_NOOP("action","Title"),
QT_TRANSLATE_NOOP("action","Add title text")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"subtitle-text",
QT_TRANSLATE_NOOP("action","Subtitle"),
QT_TRANSLATE_NOOP("action","Add subtitle text")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"composer-text",
QT_TRANSLATE_NOOP("action","Composer"),
QT_TRANSLATE_NOOP("action","Add composer text")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"poet-text",
QT_TRANSLATE_NOOP("action","Lyricist"),
QT_TRANSLATE_NOOP("action","Add lyricist text")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"part-text",
QT_TRANSLATE_NOOP("action","Part Name"),
QT_TRANSLATE_NOOP("action","Add part name")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"chord-text",
QT_TRANSLATE_NOOP("action","Chord Symbol"),
QT_TRANSLATE_NOOP("action","Add chord symbol")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"roman-numeral-text",
QT_TRANSLATE_NOOP("action","Roman Numeral Analysis"),
QT_TRANSLATE_NOOP("action","Add Roman numeral analysis")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"nashville-number-text",
QT_TRANSLATE_NOOP("action","Nashville Number"),
QT_TRANSLATE_NOOP("action","Add Nashville number")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"rehearsalmark-text",
QT_TRANSLATE_NOOP("action","Rehearsal Mark"),
QT_TRANSLATE_NOOP("action","Add rehearsal mark")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"instrument-change-text",
QT_TRANSLATE_NOOP("action","Instrument Change"),
QT_TRANSLATE_NOOP("action","Add instrument change")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"fingering-text",
QT_TRANSLATE_NOOP("action","Fingering"),
QT_TRANSLATE_NOOP("action","Add fingering")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"sticking-text",
QT_TRANSLATE_NOOP("action","Sticking"),
QT_TRANSLATE_NOOP("action","Add sticking")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"picture",
QT_TRANSLATE_NOOP("action","Image"),
QT_TRANSLATE_NOOP("action","Add image")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"play",
QT_TRANSLATE_NOOP("action","Play"),
QT_TRANSLATE_NOOP("action","Player: play"),
QT_TRANSLATE_NOOP("action","Start or stop playback"),
Icons::play_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_PLAY,
"play-prev-chord",
QT_TRANSLATE_NOOP("action","Play Previous Chord"),
QT_TRANSLATE_NOOP("action","Play previous chord"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_PLAY,
"play-prev-measure",
QT_TRANSLATE_NOOP("action","Play Previous Measure"),
QT_TRANSLATE_NOOP("action","Play previous measure"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_PLAY,
"play-next-chord",
QT_TRANSLATE_NOOP("action","Play Next Chord"),
QT_TRANSLATE_NOOP("action","Play next chord"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_PLAY,
"play-next-measure",
QT_TRANSLATE_NOOP("action","Play Next Measure"),
QT_TRANSLATE_NOOP("action","Play next measure"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_PLAY,
"seek-begin",
QT_TRANSLATE_NOOP("action","Seek to Begin"),
QT_TRANSLATE_NOOP("action","Player: seek to begin"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"rewind",
QT_TRANSLATE_NOOP("action","Rewind"),
QT_TRANSLATE_NOOP("action","Player: rewind"),
QT_TRANSLATE_NOOP("action","Rewind to start position"),
Icons::start_ICON
},
{
MsWidget::MAIN_WINDOW,
STATE_PLAY,
"seek-end",
QT_TRANSLATE_NOOP("action","Seek to End"),
QT_TRANSLATE_NOOP("action","Player: seek to end")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL,
"repeat",
QT_TRANSLATE_NOOP("action","Play Repeats"),
QT_TRANSLATE_NOOP("action","Toggle 'Play Repeats'"),
QT_TRANSLATE_NOOP("action","Play repeats"),
Icons::repeat_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE | ShortcutFlags::A_CHECKABLE | ShortcutFlags::A_CHECKED
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"pan",
QT_TRANSLATE_NOOP("action","Pan Score"),
QT_TRANSLATE_NOOP("action","Toggle 'Pan Score'"),
QT_TRANSLATE_NOOP("action","Pan score automatically"),
Icons::pan_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE | ShortcutFlags::A_CHECKABLE | ShortcutFlags::A_CHECKED
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"load-style",
QT_TRANSLATE_NOOP("action","Load Style…"),
QT_TRANSLATE_NOOP("action","Load style"),
0,
Icons::fileOpen_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"save-style",
QT_TRANSLATE_NOOP("action","Save Style…"),
QT_TRANSLATE_NOOP("action","Save style"),
0,
Icons::fileSave_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"select-all",
QT_TRANSLATE_NOOP("action","Select All"),
QT_TRANSLATE_NOOP("action","Select all"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL,
"transpose",
QT_TRANSLATE_NOOP("action","&Transpose…"),
QT_TRANSLATE_NOOP("action","Transpose"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"clef-violin",
QT_TRANSLATE_NOOP("action","Treble Clef"),
QT_TRANSLATE_NOOP("action","Add treble clef"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"clef-bass",
QT_TRANSLATE_NOOP("action","Bass Clef"),
QT_TRANSLATE_NOOP("action","Add bass clef"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"voice-x12",
QT_TRANSLATE_NOOP("action","Exchange Voice 1-2"),
QT_TRANSLATE_NOOP("action","Exchange voice 1-2"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"voice-x13",
QT_TRANSLATE_NOOP("action","Exchange Voice 1-3"),
QT_TRANSLATE_NOOP("action","Exchange voice 1-3"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"voice-x14",
QT_TRANSLATE_NOOP("action","Exchange Voice 1-4"),
QT_TRANSLATE_NOOP("action","Exchange voice 1-4"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"voice-x23",
QT_TRANSLATE_NOOP("action","Exchange Voice 2-3"),
QT_TRANSLATE_NOOP("action","Exchange voice 2-3"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"voice-x24",
QT_TRANSLATE_NOOP("action","Exchange Voice 2-4"),
QT_TRANSLATE_NOOP("action","Exchange voice 2-4"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"voice-x34",
QT_TRANSLATE_NOOP("action","Exchange Voice 3-4"),
QT_TRANSLATE_NOOP("action","Exchange voice 3-4"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"concert-pitch",
QT_TRANSLATE_NOOP("action","Concert Pitch"),
QT_TRANSLATE_NOOP("action","Toggle 'Concert Pitch'"),
QT_TRANSLATE_NOOP("action","Switch between concert/sounding pitch and transposing/written pitch"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"repeat-cmd",
QT_TRANSLATE_NOOP("action","Repeat Last Command"),
QT_TRANSLATE_NOOP("action","Repeat last command"),
0,
Icons::fileOpen_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"edit-info",
QT_TRANSLATE_NOOP("action","Score Properties…"),
QT_TRANSLATE_NOOP("action","Edit score properties"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"system-break",
QT_TRANSLATE_NOOP("action","Toggle System Break"),
QT_TRANSLATE_NOOP("action","Toggle 'System Break'"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"page-break",
QT_TRANSLATE_NOOP("action","Toggle Page Break"),
QT_TRANSLATE_NOOP("action","Toggle 'Page Break'"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"section-break",
QT_TRANSLATE_NOOP("action","Toggle Section Break"),
QT_TRANSLATE_NOOP("action","Toggle 'Section Break'"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"edit-element",
QT_TRANSLATE_NOOP("action","Edit Element"),
QT_TRANSLATE_NOOP("action","Edit element")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_EDIT,
"reset",
QT_TRANSLATE_NOOP("action","Reset Shapes and Positions"),
QT_TRANSLATE_NOOP("action","Reset shapes and positions"),
QT_TRANSLATE_NOOP("action","Reset shapes and positions of selected elements to their defaults")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"debugger",
QT_TRANSLATE_NOOP("action","Debugger")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"reset-stretch",
QT_TRANSLATE_NOOP("action","Reset Layout Stretch"),
QT_TRANSLATE_NOOP("action","Reset layout stretch"),
QT_TRANSLATE_NOOP("action","Reset layout stretch factor of selected measures or entire score"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"show-invisible",
QT_TRANSLATE_NOOP("action","Show Invisible"),
QT_TRANSLATE_NOOP("action","Show invisible"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE | ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"show-unprintable",
QT_TRANSLATE_NOOP("action","Show Unprintable"),
QT_TRANSLATE_NOOP("action","Show unprintable"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE | ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"show-frames",
QT_TRANSLATE_NOOP("action","Show Frames"),
QT_TRANSLATE_NOOP("action","Show frames"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE | ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"show-pageborders",
QT_TRANSLATE_NOOP("action","Show Page Margins"),
QT_TRANSLATE_NOOP("action","Show page margins"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE | ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"mark-irregular",
QT_TRANSLATE_NOOP("action","Mark Irregular Measures"),
QT_TRANSLATE_NOOP("action","Mark irregular measures"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE | ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_TEXT_EDIT | STATE_LYRICS_EDIT | STATE_HARMONY_FIGBASS_EDIT,
"show-keys",
QT_TRANSLATE_NOOP("action","Insert Special Characters…"),
QT_TRANSLATE_NOOP("action","Insert special characters"),
0,
Icons::keys_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"rest-1",
QT_TRANSLATE_NOOP("action","Whole Rest"),
QT_TRANSLATE_NOOP("action","Note input: Whole rest")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"rest-2",
QT_TRANSLATE_NOOP("action","Half Rest"),
QT_TRANSLATE_NOOP("action","Note input: Half rest")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"rest-4",
QT_TRANSLATE_NOOP("action","Quarter Rest"),
QT_TRANSLATE_NOOP("action","Note input: Quarter rest")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"rest-8",
QT_TRANSLATE_NOOP("action","Eighth Rest"),
QT_TRANSLATE_NOOP("action","Note input: Eighth rest")
},
{ // mapped to undo in note entry mode
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"backspace",
QT_TRANSLATE_NOOP("action","Backspace"),
// 0,
// 0,
// Icons::Invalid_ICON,
// Qt::WindowShortcut,
// ShortcutFlags::A_CMD
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"find",
QT_TRANSLATE_NOOP("action","Find")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"zoomin",
QT_TRANSLATE_NOOP("action","Zoom In"),
QT_TRANSLATE_NOOP("action","Zoom in")
},
{
MsWidget::MAIN_WINDOW,
// conflicts with Ctrl+- in edit mode to enter lyrics hyphen
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"zoomout",
QT_TRANSLATE_NOOP("action","Zoom Out"),
QT_TRANSLATE_NOOP("action","Zoom out")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"zoom100",
QT_TRANSLATE_NOOP("action","Zoom to 100%"),
QT_TRANSLATE_NOOP("action","Zoom to 100%")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"mirror-note",
QT_TRANSLATE_NOOP("action","Mirror Notehead"),
QT_TRANSLATE_NOOP("action","Mirror notehead"),
0,
Icons::flip_ICON,
Qt::WindowShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"edit-style",
QT_TRANSLATE_NOOP("action","Style…"),
QT_TRANSLATE_NOOP("action","Edit style"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"edit-harmony",
QT_TRANSLATE_NOOP("action","Chord Symbols…"),
QT_TRANSLATE_NOOP("action","Edit chord symbols style")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"select-similar",
QT_TRANSLATE_NOOP("action","All Similar Elements"),
QT_TRANSLATE_NOOP("action","Select all similar elements")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"select-similar-staff",
QT_TRANSLATE_NOOP("action","All Similar Elements in Same Staff"),
QT_TRANSLATE_NOOP("action","Select all similar elements in same staff")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"select-similar-range",
QT_TRANSLATE_NOOP("action","All Similar Elements in Range Selection"),
QT_TRANSLATE_NOOP("action","Select all similar elements in the range selection")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"select-dialog",
QT_TRANSLATE_NOOP("action","All Similar Elements with More Options"),
QT_TRANSLATE_NOOP("action","Select all similar elements with more options")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"synth-control",
QT_TRANSLATE_NOOP("action","Synthesizer"),
0,
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM /*| STATE_NOTE_ENTRY_TAB*/,
"double-duration",
QT_TRANSLATE_NOOP("action","Double Duration"),
QT_TRANSLATE_NOOP("action","Double duration"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM /*| STATE_NOTE_ENTRY_TAB*/,
"half-duration",
QT_TRANSLATE_NOOP("action","Half Duration"),
QT_TRANSLATE_NOOP("action","Half duration"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM /*| STATE_NOTE_ENTRY_TAB*/,
"inc-duration-dotted",
QT_TRANSLATE_NOOP("action","Increase Duration Dotted"),
QT_TRANSLATE_NOOP("action","Increase duration dotted"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM /*| STATE_NOTE_ENTRY_TAB*/,
"dec-duration-dotted",
QT_TRANSLATE_NOOP("action","Decrease Duration Dotted"),
QT_TRANSLATE_NOOP("action","Decrease duration dotted"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"repeat-sel",
QT_TRANSLATE_NOOP("action","Repeat Selection"),
QT_TRANSLATE_NOOP("action","Repeat selection"),
0,
Icons::fileOpen_ICON
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"follow",
QT_TRANSLATE_NOOP("action","Pan Piano Roll"),
QT_TRANSLATE_NOOP("action","Toggle pan piano roll"),
QT_TRANSLATE_NOOP("action","Pan roll during playback"),
Icons::pan_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE | ShortcutFlags::A_CHECKABLE | ShortcutFlags::A_CHECKED
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"split-h",
QT_TRANSLATE_NOOP("action","Documents Side by Side"),
QT_TRANSLATE_NOOP("action","Display documents side by side")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"split-v",
QT_TRANSLATE_NOOP("action","Documents Stacked"),
QT_TRANSLATE_NOOP("action","Display documents stacked")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"parts",
QT_TRANSLATE_NOOP("action","Parts…"),
QT_TRANSLATE_NOOP("action","Manage parts")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"enh-both",
QT_TRANSLATE_NOOP("action","Change Enharmonic Spelling (Both Modes)"),
QT_TRANSLATE_NOOP("action","Change enharmonic spelling (both modes)"),
QT_TRANSLATE_NOOP("action","Change enharmonic note (alters the spelling in concert pitch and transposed mode)")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY_STAFF_PITCHED | STATE_NOTE_ENTRY_STAFF_DRUM,
"enh-current",
QT_TRANSLATE_NOOP("action","Change Enharmonic Spelling (Current Mode)"),
QT_TRANSLATE_NOOP("action","Change enharmonic spelling (current mode)"),
QT_TRANSLATE_NOOP("action","Change enharmonic note (alters the spelling in the current mode only)")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL,
"revision",
QT_TRANSLATE_NOOP("action","Create New Revision"),
QT_TRANSLATE_NOOP("action","Create new revision")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_FOTO,
"fotomode",
QT_TRANSLATE_NOOP("action","Image Capture"),
QT_TRANSLATE_NOOP("action","Toggle 'Image Capture'"),
0,
Icons::fotomode_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
#ifdef OMR
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"show-omr",
QT_TRANSLATE_NOOP("action","Show PDF Image"),
QT_TRANSLATE_NOOP("action","Show PDF image")
},
#endif
{
MsWidget::MAIN_WINDOW,
~STATE_TEXT_EDIT,
"fullscreen",
QT_TRANSLATE_NOOP("action","Full Screen"),
QT_TRANSLATE_NOOP("action","Full screen")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"hraster",
QT_TRANSLATE_NOOP("action","Enable Snap to Horizontal Grid"),
QT_TRANSLATE_NOOP("action","Enable snap to horizontal grid"),
0,
Icons::hraster_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"vraster",
QT_TRANSLATE_NOOP("action","Enable Snap to Vertical Grid"),
QT_TRANSLATE_NOOP("action","Enable snap to vertical grid"),
0,
Icons::vraster_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT,
"config-raster",
QT_TRANSLATE_NOOP("action","Configure Grid"),
QT_TRANSLATE_NOOP("action","Configure grid")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY | STATE_FOTO | STATE_EDIT,
"toggle-piano",
QT_TRANSLATE_NOOP("action","Piano Keyboard"),
QT_TRANSLATE_NOOP("action","Piano keyboard")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY | STATE_FOTO | STATE_EDIT,
"toggle-scorecmp-tool",
QT_TRANSLATE_NOOP("action","Score Comparison Tool"),
QT_TRANSLATE_NOOP("action","Score comparison tool")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY | STATE_FOTO,
"media",
QT_TRANSLATE_NOOP("action","Additional Media…"),
QT_TRANSLATE_NOOP("action","Show media dialog")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"split-measure",
QT_TRANSLATE_NOOP("action","Split Measure Before Selected Note/Rest"),
QT_TRANSLATE_NOOP("action","Split measure before selected note/rest")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"join-measures",
QT_TRANSLATE_NOOP("action","Join Selected Measures"),
QT_TRANSLATE_NOOP("action","Join selected measures")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY | STATE_FOTO,
"page-settings",
QT_TRANSLATE_NOOP("action","Page Settings…"),
QT_TRANSLATE_NOOP("action","Page settings")
},
{
MsWidget::MAIN_WINDOW,
STATE_DISABLED | STATE_NORMAL,
"album",
QT_TRANSLATE_NOOP("action","Album…"),
QT_TRANSLATE_NOOP("action","Album"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL,
"layer",
QT_TRANSLATE_NOOP("action","Layers…"),
QT_TRANSLATE_NOOP("action","Layers"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"next-score",
QT_TRANSLATE_NOOP("action","Next Score"),
QT_TRANSLATE_NOOP("action","Next score"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"previous-score",
QT_TRANSLATE_NOOP("action","Previous Score"),
QT_TRANSLATE_NOOP("action","Previous score"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
// conflicts with Ctrl+Shift-P when editing dynamics
STATE_DISABLED | STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY | STATE_EDIT | STATE_FOTO,
"plugin-creator",
QT_TRANSLATE_NOOP("action", "Plugin Creator…"),
QT_TRANSLATE_NOOP("action", "Plugin creator"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"plugin-manager",
QT_TRANSLATE_NOOP("action", "Plugin Manager…"),
QT_TRANSLATE_NOOP("action", "Plugin manager"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY | STATE_EDIT | STATE_FOTO | STATE_TEXT_EDIT,
"inspector",
QT_TRANSLATE_NOOP("action","Inspector"),
QT_TRANSLATE_NOOP("action","Show inspector")
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"resource-manager",
QT_TRANSLATE_NOOP("action", "Resource Manager…"),
QT_TRANSLATE_NOOP("action", "Resource manager"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
#ifdef OMR
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY | STATE_EDIT,
"omr",
QT_TRANSLATE_NOOP("action","PDF Transcribing Assistant"),
QT_TRANSLATE_NOOP("action","Show PDF transcribing assistant")
},
#endif
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"loop",
QT_TRANSLATE_NOOP("action","Loop Playback"),
QT_TRANSLATE_NOOP("action","Toggle 'Loop Playback'"),
0,
Icons::loop_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"loop-in",
QT_TRANSLATE_NOOP("action","Loop In"),
QT_TRANSLATE_NOOP("action","Set loop in position"),
0,
Icons::loopIn_ICON,
Qt::WindowShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY,
"loop-out",
QT_TRANSLATE_NOOP("action","Loop Out"),
QT_TRANSLATE_NOOP("action","Set loop out position"),
0,
Icons::loopOut_ICON,
Qt::WindowShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY | STATE_EDIT,
"metronome",
QT_TRANSLATE_NOOP("action","Metronome"),
QT_TRANSLATE_NOOP("action","Toggle metronome playback"),
QT_TRANSLATE_NOOP("action","Play metronome during playback"),
Icons::metronome_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY | STATE_PLAY | STATE_EDIT,
"countin",
QT_TRANSLATE_NOOP("action","Count-In"),
QT_TRANSLATE_NOOP("action","Toggle 'Count-In' playback"),
QT_TRANSLATE_NOOP("action","Play count-in at playback start"),
Icons::countin_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"figured-bass",
QT_TRANSLATE_NOOP("action","Figured Bass"),
QT_TRANSLATE_NOOP("action","Add figured bass"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"transpose-up",
QT_TRANSLATE_NOOP("action","Transpose Up"),
QT_TRANSLATE_NOOP("action","Transpose up")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"transpose-down",
QT_TRANSLATE_NOOP("action","Transpose Down"),
QT_TRANSLATE_NOOP("action","Transpose down")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"masterpalette",
QT_TRANSLATE_NOOP("action","Master Palette…"),
QT_TRANSLATE_NOOP("action","Show master palette"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"key-signatures",
QT_TRANSLATE_NOOP("action","Key Signatures…"),
QT_TRANSLATE_NOOP("action","Show key signature palette"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"time-signatures",
QT_TRANSLATE_NOOP("action","Time Signatures…"),
QT_TRANSLATE_NOOP("action","Show time signature palette"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_NOTE_ENTRY,
"symbols",
QT_TRANSLATE_NOOP("action","Symbols…"),
QT_TRANSLATE_NOOP("action","Show symbol palette"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL,
"viewmode",
QT_TRANSLATE_NOOP("action","Toggle View Mode"),
QT_TRANSLATE_NOOP("action","Toggle 'View Mode'"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::SCORE_TAB,
STATE_LYRICS_EDIT,
"next-lyric",
QT_TRANSLATE_NOOP("action","Next Syllable"),
QT_TRANSLATE_NOOP("action","Next syllable")
},
{
MsWidget::SCORE_TAB,
STATE_LYRICS_EDIT,
"prev-lyric",
QT_TRANSLATE_NOOP("action","Previous Syllable"),
QT_TRANSLATE_NOOP("action","Previous syllable")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"toggle-visible",
QT_TRANSLATE_NOOP("action","Toggle Visibility"),
QT_TRANSLATE_NOOP("action","Toggle 'Visibility'")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"set-visible",
QT_TRANSLATE_NOOP("action","Set Visible"),
QT_TRANSLATE_NOOP("action","Set visible")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"unset-visible",
QT_TRANSLATE_NOOP("action","Set Invisible"),
QT_TRANSLATE_NOOP("action","Set invisible")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-noteline",
QT_TRANSLATE_NOOP("action","Note Anchored Line"),
QT_TRANSLATE_NOOP("action","Note anchored line")
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL | STATE_LOCK,
"lock",
QT_TRANSLATE_NOOP("action","Lock Score"),
QT_TRANSLATE_NOOP("action","Lock score")
},
// TAB-specific actions
{
MsWidget::SCORE_TAB,
STATE_NEVER, // use a STATE value which is never used: shortcut is never active
"note-longa-TAB",
QT_TRANSLATE_NOOP("action","Longa (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: Longa (TAB)"),
QT_TRANSLATE_NOOP("action","Longa note"),
Icons::longaUp_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"note-breve-TAB",
QT_TRANSLATE_NOOP("action","Double Whole Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: Double whole (TAB)"),
QT_TRANSLATE_NOOP("action","Double whole note"),
Icons::brevis_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"pad-note-1-TAB",
QT_TRANSLATE_NOOP("action","Whole Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: Whole (TAB)"),
QT_TRANSLATE_NOOP("action","Whole note"),
Icons::note_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"pad-note-2-TAB",
QT_TRANSLATE_NOOP("action","Half Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: Half (TAB)"),
QT_TRANSLATE_NOOP("action","Half note"),
Icons::note2_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"pad-note-4-TAB",
QT_TRANSLATE_NOOP("action","Quarter Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: Quarter (TAB)"),
QT_TRANSLATE_NOOP("action","Quarter note"),
Icons::note4_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"pad-note-8-TAB",
QT_TRANSLATE_NOOP("action","Eighth Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: Eighth (TAB)"),
QT_TRANSLATE_NOOP("action","Eighth note"),
Icons::note8_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"pad-note-16-TAB",
QT_TRANSLATE_NOOP("action","16th Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: 16th (TAB)"),
QT_TRANSLATE_NOOP("action","16th note"),
Icons::note16_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"pad-note-32-TAB",
QT_TRANSLATE_NOOP("action","32nd Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: 32nd (TAB)"),
QT_TRANSLATE_NOOP("action","32nd note"),
Icons::note32_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"pad-note-64-TAB",
QT_TRANSLATE_NOOP("action","64th Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: 64th (TAB)"),
QT_TRANSLATE_NOOP("action","64th note"),
Icons::note64_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"pad-note-128-TAB",
QT_TRANSLATE_NOOP("action","128th Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: 128th (TAB)"),
QT_TRANSLATE_NOOP("action","128th note"),
Icons::note128_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"pad-note-256-TAB",
QT_TRANSLATE_NOOP("action","256th Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: 256th (TAB)"),
QT_TRANSLATE_NOOP("action","256th note"),
Icons::note256_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"pad-note-512-TAB",
QT_TRANSLATE_NOOP("action","512th Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: 512th (TAB)"),
QT_TRANSLATE_NOOP("action","512th note"),
Icons::note512_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NEVER,
"pad-note-1024-TAB",
QT_TRANSLATE_NOOP("action","1024th Note (TAB)"),
QT_TRANSLATE_NOOP("action","Note duration: 1024th (TAB)"),
QT_TRANSLATE_NOOP("action","1024th note"),
Icons::note1024_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"pad-note-increase-TAB",
QT_TRANSLATE_NOOP("action","Increase Active Duration (TAB)"),
QT_TRANSLATE_NOOP("action","Increase active duration (TAB)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"pad-note-decrease-TAB",
QT_TRANSLATE_NOOP("action","Decrease Active Duration (TAB)"),
QT_TRANSLATE_NOOP("action","Decrease active duration (TAB)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"rest-TAB",
QT_TRANSLATE_NOOP("action","Rest (TAB)"),
QT_TRANSLATE_NOOP("action","Enter rest (TAB)"),
0,
Icons::quartrest_ICON
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"pad-rest-TAB",
QT_TRANSLATE_NOOP("action","Rest (TAB)"),
QT_TRANSLATE_NOOP("action","Note input: Rest (TAB)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"string-above",
QT_TRANSLATE_NOOP("action","String Above (TAB)"),
QT_TRANSLATE_NOOP("action","Select string above (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"string-below",
QT_TRANSLATE_NOOP("action","String Below (TAB)"),
QT_TRANSLATE_NOOP("action","Select string below (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-0",
QT_TRANSLATE_NOOP("action","Fret 0 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 0 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-1",
QT_TRANSLATE_NOOP("action","Fret 1 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 1 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-2",
QT_TRANSLATE_NOOP("action","Fret 2 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 2 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-3",
QT_TRANSLATE_NOOP("action","Fret 3 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 3 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-4",
QT_TRANSLATE_NOOP("action","Fret 4 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 4 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-5",
QT_TRANSLATE_NOOP("action","Fret 5 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 5 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-6",
QT_TRANSLATE_NOOP("action","Fret 6 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 6 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-7",
QT_TRANSLATE_NOOP("action","Fret 7 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 7 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-8",
QT_TRANSLATE_NOOP("action","Fret 8 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 8 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-9",
QT_TRANSLATE_NOOP("action","Fret 9 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 9 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-10",
QT_TRANSLATE_NOOP("action","Fret 10 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 10 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-11",
QT_TRANSLATE_NOOP("action","Fret 11 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 11 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-12",
QT_TRANSLATE_NOOP("action","Fret 12 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 12 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-13",
QT_TRANSLATE_NOOP("action","Fret 13 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 13 on current string (TAB only)")
},
{
MsWidget::SCORE_TAB,
STATE_NOTE_ENTRY_STAFF_TAB,
"fret-14",
QT_TRANSLATE_NOOP("action","Fret 14 (TAB)"),
QT_TRANSLATE_NOOP("action","Add fret 14 on current string (TAB only)")
},
// HARMONY / FIGURED BASS specific actions
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"advance-longa",
QT_TRANSLATE_NOOP("action","Longa Advance (F.B./Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Advance of a longa (Figured bass/Chord symbol only)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"advance-breve",
QT_TRANSLATE_NOOP("action","Breve Advance (F.B./Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Advance of a double whole note (Figured bass/Chord symbol only)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"advance-1",
QT_TRANSLATE_NOOP("action","Whole Note Advance (F.B./Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Advance of a whole note (Figured bass/Chord symbol only)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"advance-2",
QT_TRANSLATE_NOOP("action","Half Note Advance (F.B./Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Advance of a half note (Figured bass/Chord symbol only)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"advance-4",
QT_TRANSLATE_NOOP("action","Quarter Note Advance (F.B./Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Advance of a quarter note (Figured bass/Chord symbol only)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"advance-8",
QT_TRANSLATE_NOOP("action","Eighth Note Advance (F.B./Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Advance of an eighth note (Figured bass/Chord symbol only)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"advance-16",
QT_TRANSLATE_NOOP("action","16th Note Advance (F.B./Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Advance of a 16th note (Figured bass/Chord symbol only)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"advance-32",
QT_TRANSLATE_NOOP("action","32nd Note Advance (F.B./Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Advance of a 32nd note (Figured bass/Chord symbol only)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"advance-64",
QT_TRANSLATE_NOOP("action","64th Note Advance (F.B./Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Advance of a 64th note (Figured bass/Chord symbol only)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"prev-measure-TEXT",
QT_TRANSLATE_NOOP("action","Previous Measure (F.B./Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Previous measure (Figured bass/Chord symbol only)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"next-measure-TEXT",
QT_TRANSLATE_NOOP("action","Next Measure (F.B./Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Next measure (Figured bass/Chord symbol only)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"prev-beat-TEXT",
QT_TRANSLATE_NOOP("action","Previous Beat (Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Previous beat (Chord symbol)")
},
{
MsWidget::SCORE_TAB,
STATE_HARMONY_FIGBASS_EDIT,
"next-beat-TEXT",
QT_TRANSLATE_NOOP("action","Next Beat (Chord Symbol)"),
QT_TRANSLATE_NOOP("action","Next beat (Chord symbol)")
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-brackets",
QT_TRANSLATE_NOOP("action","Add Brackets to Accidental"),
QT_TRANSLATE_NOOP("action","Add brackets to accidental"),
0,
Icons::brackets_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"add-parentheses",
QT_TRANSLATE_NOOP("action","Add Parentheses to Element"),
QT_TRANSLATE_NOOP("action","Add parentheses to element"),
0,
Icons::parentheses_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"toggle-mmrest",
QT_TRANSLATE_NOOP("action","Toggle 'Create Multimeasure Rest'"),
QT_TRANSLATE_NOOP("action","Toggle 'Create Multimeasure Rest'"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"toggle-hide-empty",
QT_TRANSLATE_NOOP("action","Toggle 'Hide Empty Staves'"),
QT_TRANSLATE_NOOP("action","Toggle 'Hide Empty Staves'"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_TEXT_EDIT,
"text-b",
QT_TRANSLATE_NOOP("action","Bold Face"),
QT_TRANSLATE_NOOP("action","Bold face")
},
{
MsWidget::SCORE_TAB,
STATE_TEXT_EDIT,
"text-i",
QT_TRANSLATE_NOOP("action","Italic")
},
{
MsWidget::SCORE_TAB,
STATE_TEXT_EDIT,
"text-u",
QT_TRANSLATE_NOOP("action","Underline")
},
{
MsWidget::SCORE_TAB,
STATE_TEXT_EDIT,
"text-word-left",
QT_TRANSLATE_NOOP("action","Move Word Left"),
QT_TRANSLATE_NOOP("action","Move word left"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::SCORE_TAB,
STATE_TEXT_EDIT,
"text-word-right",
QT_TRANSLATE_NOOP("action","Move Word Right"),
QT_TRANSLATE_NOOP("action","Move word right"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_SCORE
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"explode",
QT_TRANSLATE_NOOP("action","Explode"),
QT_TRANSLATE_NOOP("action","Explode"),
QT_TRANSLATE_NOOP("action","Explode contents of top selected staff into staves below"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"realize-chord-symbols",
QT_TRANSLATE_NOOP("action","Realize Chord Symbols"),
QT_TRANSLATE_NOOP("action","Realize chord symbols"),
QT_TRANSLATE_NOOP("action","Convert chord symbols into notes"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"implode",
QT_TRANSLATE_NOOP("action","Implode"),
QT_TRANSLATE_NOOP("action","Implode"),
QT_TRANSLATE_NOOP("action","Implode contents of selected staves into top selected staff"),
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"slash-fill",
QT_TRANSLATE_NOOP("action","Fill With Slashes"),
QT_TRANSLATE_NOOP("action","Fill with slashes"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"slash-rhythm",
QT_TRANSLATE_NOOP("action","Toggle Rhythmic Slash Notation"),
QT_TRANSLATE_NOOP("action","Toggle 'Rhythmic Slash Notation'"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"add-remove-breaks",
QT_TRANSLATE_NOOP("action","Add/Remove System Breaks…"),
QT_TRANSLATE_NOOP("action","Add/remove system breaks"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"resequence-rehearsal-marks",
QT_TRANSLATE_NOOP("action","Resequence Rehearsal Marks"),
QT_TRANSLATE_NOOP("action","Resequence rehearsal marks"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL,
"copy-lyrics-to-clipboard",
QT_TRANSLATE_NOOP("action","Copy Lyrics to Clipboard"),
QT_TRANSLATE_NOOP("action","Copy lyrics to clipboard"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CMD
},
{
MsWidget::MAIN_WINDOW,
STATE_DISABLED | STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"startcenter",
QT_TRANSLATE_NOOP("action","Start Center…"),
QT_TRANSLATE_NOOP("action","Start center"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL,
"edit-toolbars",
QT_TRANSLATE_NOOP("action","Customize Toolbars…"),
QT_TRANSLATE_NOOP("action","Customize toolbars"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL,
"del-empty-measures",
QT_TRANSLATE_NOOP("action","Remove Empty Trailing Measures"),
QT_TRANSLATE_NOOP("action","Remove empty trailing measures"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL,
"unroll-repeats",
QT_TRANSLATE_NOOP("action","Unroll Repeats"),
QT_TRANSLATE_NOOP("action","Unroll Repeats"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_DISABLED | STATE_NORMAL | STATE_NOTE_ENTRY | STATE_EDIT | STATE_PLAY,
"toggle-insert-mode",
QT_TRANSLATE_NOOP("action","Toggle Insert Mode"),
QT_TRANSLATE_NOOP("action","Toggle 'Insert Mode'"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"show-tours",
QT_TRANSLATE_NOOP("action", "Show Tours"),
QT_TRANSLATE_NOOP("action", "Show tours"),
QT_TRANSLATE_NOOP("action", "Toggle display of tours"),
Icons::Invalid_ICON,
Qt::WindowShortcut,
ShortcutFlags::A_CHECKABLE
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"reset-tours",
QT_TRANSLATE_NOOP("action", "Reset Tours"),
QT_TRANSLATE_NOOP("action", "Reset tours"),
0,
Icons::Invalid_ICON,
Qt::WindowShortcut
},
{
MsWidget::SCORE_TAB,
STATE_NORMAL | STATE_NOTE_ENTRY,
"toggle-autoplace",
QT_TRANSLATE_NOOP("action","Toggle Automatic Placement"),
QT_TRANSLATE_NOOP("action","Toggle 'Automatic Placement' for selected elements")
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"autoplace-enabled",
QT_TRANSLATE_NOOP("action","Toggle Automatic Placement Globally"),
QT_TRANSLATE_NOOP("action","Toggle 'Automatic Placement' globally"),
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"report-bug",
QT_TRANSLATE_NOOP("action", "Report a Bug"),
QT_TRANSLATE_NOOP("action", "Report a bug"),
0,
Icons::bug_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"leave-feedback",
QT_TRANSLATE_NOOP("action", "Feedback"),
QT_TRANSLATE_NOOP("action", "Leave feedback"),
0,
Icons::mail_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::PIANO_ROLL_EDITOR,
STATE_ALL,
"zoom-in-horiz-pre",
QT_TRANSLATE_NOOP("action", "Zoom In Horizontally"),
QT_TRANSLATE_NOOP("action", "Zoom in horizontal - piano roll editor"),
0,
Icons::Invalid_ICON
},
{
MsWidget::PIANO_ROLL_EDITOR,
STATE_ALL,
"zoom-out-horiz-pre",
QT_TRANSLATE_NOOP("action", "Zoom Out Horizontally"),
QT_TRANSLATE_NOOP("action", "Zoom out horizontal - piano roll editor"),
0,
Icons::Invalid_ICON
},
{
MsWidget::PIANO_ROLL_EDITOR,
STATE_ALL,
"zoom-in-vert-pre",
QT_TRANSLATE_NOOP("action", "Zoom In Vertically"),
QT_TRANSLATE_NOOP("action", "Zoom in vertical - piano roll editor"),
0,
Icons::Invalid_ICON
},
{
MsWidget::PIANO_ROLL_EDITOR,
STATE_ALL,
"zoom-out-vert-pre",
QT_TRANSLATE_NOOP("action", "Zoom Out Vertically"),
QT_TRANSLATE_NOOP("action", "Zoom out vertical - piano roll editor"),
0,
Icons::Invalid_ICON
},
#ifdef MSCORE_UNSTABLE
{
MsWidget::MAIN_WINDOW,
STATE_NORMAL,
"toggle-script-recorder",
"Script Recorder",
"Script recorder",
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
#endif
#ifndef NDEBUG
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"no-horizontal-stretch",
"No Horizontal Stretch",
"No horizontal stretch",
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"no-vertical-stretch",
"No Vertical Stretch",
"No vertical stretch",
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"show-segment-shapes",
"Show Segment Shapes",
"Show segment shapes",
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"show-skylines",
"Show Skylines",
"Show Skylines",
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"show-bounding-rect",
"Show Bounding Rectangles",
"Show bounding rectangles for selected elements",
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"show-system-bounding-rect",
"Show System Bounding Rectangles",
"Show bounding rectangles for systems",
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"show-corrupted-measures",
"Show Corrupted Measures",
"Show corrupted measures",
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL & ~STATE_TEXT_EDIT,
"relayout",
"Re-Layout",
"Re-layout",
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
{
MsWidget::MAIN_WINDOW,
STATE_ALL,
"qml-reload-source",
"Reload QML code",
"Reload QML code",
0,
Icons::Invalid_ICON,
Qt::ApplicationShortcut
},
#endif
};
//---------------------------------------------------------
// Shortcut
//---------------------------------------------------------
Shortcut::Shortcut(MsWidget assignedWidget, int s, const char* name,
const char* txt, const char* d, const char* h, Icons i, Qt::ShortcutContext cont, ShortcutFlags f)
{
_assignedWidget = assignedWidget;
_state = s;
_flags = f;
_key = QByteArray(name);
_context = cont;
if (txt) {
_text = QByteArray(txt);
}
_descr = d ? QByteArray(d) : _text;
_help = h ? QByteArray(h) : _descr;
_icon = i;
}
//---------------------------------------------------------
// clear
//---------------------------------------------------------
void Shortcut::clear()
{
_standardKey = QKeySequence::UnknownKey;
_keys.clear();
if (_action) {
_action->setShortcuts(_keys);
}
}
//---------------------------------------------------------
// setKeys
//---------------------------------------------------------
void Shortcut::setKeys(const QList<QKeySequence>& ks)
{
_standardKey = QKeySequence::UnknownKey;
_keys = ks;
if (_action) {
_action->setShortcuts(_keys);
}
}
//---------------------------------------------------------
// setStandardKey
//---------------------------------------------------------
void Shortcut::setStandardKey(QKeySequence::StandardKey k)
{
if (QKeySequence::keyBindings(k).empty()) { // make sure key binding is set for OS
return;
}
_standardKey = k;
if (_action && k != QKeySequence::UnknownKey) {
_action->setShortcuts(_standardKey);
}
}
//---------------------------------------------------------
// setKeys
// Copies keys from the other Shortcut object
//---------------------------------------------------------
void Shortcut::setKeys(const Shortcut& sc)
{
setKeys(sc._keys);
setStandardKey(sc._standardKey);
}
//---------------------------------------------------------
// descr
//---------------------------------------------------------
QString Shortcut::descr() const
{
return qApp->translate("action", _descr.data());
}
//---------------------------------------------------------
// text
//---------------------------------------------------------
QString Shortcut::text() const
{
return qApp->translate("action", _text.data());
}
//---------------------------------------------------------
// help
//---------------------------------------------------------
QString Shortcut::help() const
{
return qApp->translate("action", _help.data());
}
//---------------------------------------------------------
// getShortcut
//---------------------------------------------------------
Shortcut* Shortcut::getShortcut(const char* id)
{
Shortcut* s = _shortcuts.value(QByteArray(id));
if (s == 0) {
qDebug("Internal error: shortcut <%s> not found", id);
return 0;
}
return s;
}
//---------------------------------------------------------
// getAction
// returns action for shortcut
//---------------------------------------------------------
QAction* getAction(const char* id)
{
Shortcut* s = Shortcut::getShortcut(id);
return s ? s->action() : 0;
}
//---------------------------------------------------------
// aAction
//---------------------------------------------------------
QAction* Shortcut::action() const
{
if (_action) {
return _action;
}
if (_state == STATE_NEVER) {
return 0;
}
_action = new QAction(0);
_action->setData(_key);
_action->setIconVisibleInMenu(false);
if (isCheckable()) {
_action->setCheckable(isCheckable());
_action->setChecked(isChecked());
}
if (_keys.isEmpty()) {
_action->setShortcuts(_standardKey);
} else {
_action->setShortcuts(_keys);
}
_action->setShortcutContext(_context);
translateAction(_action);
if (_icon != Icons::Invalid_ICON) {
_action->setIcon(*icons[int(_icon)]);
}
return _action;
}
//---------------------------------------------------------
// translateAction
//---------------------------------------------------------
void Shortcut::translateAction(QAction* action) const
{
action->setText(text());
if (!_help.isEmpty()) {
action->setToolTip(help());
action->setWhatsThis(help());
} else {
action->setToolTip(descr());
action->setWhatsThis(descr());
}
action->setStatusTip(QString("action:%1").arg(_key.data()));
QList<QKeySequence> kl = action->shortcuts();
if (!kl.isEmpty()) {
QString s(action->toolTip());
s += " (";
for (int i = 0; i < kl.size(); ++i) {
if (i) {
s += ",";
}
s += Shortcut::keySeqToString(kl[i], QKeySequence::NativeText);
}
s += ")";
action->setToolTip(s);
}
}
//---------------------------------------------------------
// addShortcut
//---------------------------------------------------------
void Shortcut::addShortcut(const QKeySequence& ks)
{
_keys.append(ks);
if (_action) {
_action->setShortcuts(_keys);
}
dirty = true;
}
//---------------------------------------------------------
// keysToString
//---------------------------------------------------------
QString Shortcut::keysToString() const
{
QString s;
for (int i = 0; i < _keys.size(); ++i) {
if (i) {
s += "; ";
}
s += Shortcut::keySeqToString(_keys[i], QKeySequence::NativeText);
}
if (s.isEmpty() && _standardKey != QKeySequence::UnknownKey) {
QList<QKeySequence> keySeqList = QKeySequence::keyBindings(_standardKey);
for (int i = 0; i < keySeqList.size(); i++) {
if (i) {
s += "; ";
}
s += Shortcut::keySeqToString(keySeqList[i], QKeySequence::NativeText);
}
}
return s;
}
//---------------------------------------------------------
// getMenuShortcutString
//---------------------------------------------------------
QString Shortcut::getMenuShortcutString(const QMenu* menu)
{
if (menu->title().isEmpty()) {
return "";
}
int shortcutKeyPosition = menu->title().indexOf('&');
if (shortcutKeyPosition < 0) {
return "";
}
return QString("Alt+") + menu->title().at(shortcutKeyPosition + 1);
}
//---------------------------------------------------------
// compareKeys
// return true if keys are equal
//---------------------------------------------------------
bool Shortcut::compareKeys(const Shortcut& sc) const
{
if (sc._keys.size() != _keys.size()) {
return false;
}
for (int i = 0; i < _keys.size(); ++i) {
if (sc._keys[i] != _keys[i]) {
return false;
}
}
return _standardKey == sc._standardKey;
}
//---------------------------------------------------------
// initShortcuts
//---------------------------------------------------------
void Shortcut::init()
{
//
// initialize shortcut hash table
//
_shortcuts.clear();
for (Shortcut& i : _sc) {
_shortcuts.insert(i._key, &i);
}
if (!MScore::noGui) {
load();
}
}
//---------------------------------------------------------
// retranslate
//---------------------------------------------------------
void Shortcut::retranslate()
{
for (const Shortcut& i : _sc) {
if (i._action) {
i.translateAction(i._action);
}
}
}
void Shortcut::refreshIcons()
{
for (Shortcut* s : _shortcuts) {
QAction* a = s->action();
if (a && s->icon() != Icons::Invalid_ICON) {
a->setIcon(*icons[int(s->icon())]);
}
}
}
//---------------------------------------------------------
// save
//---------------------------------------------------------
void Shortcut::save()
{
QFile f(dataPath + "/shortcuts.xml");
if (!f.open(QIODevice::WriteOnly)) {
qDebug("cannot save shortcuts");
return;
}
XmlWriter xml(0, &f);
xml.header();
xml.stag("Shortcuts");
for (auto i : _sc) {
i.write(xml);
}
xml.etag();
f.close();
}
void Shortcut::saveToNewFile(QString fileLocation)
{
QFile f(fileLocation);
if (!f.open(QIODevice::WriteOnly)) {
qDebug("cannot save shortcuts");
return;
}
XmlWriter xml(0, &f);
xml.header();
xml.stag("Shortcuts");
for (auto i : _sc) {
i.write(xml);
}
xml.etag();
f.close();
}
//---------------------------------------------------------
// write
//---------------------------------------------------------
void Shortcut::write(XmlWriter& xml) const
{
xml.stag("SC");
xml.tag("key", _key.data());
if (_standardKey != QKeySequence::UnknownKey) {
xml.tag("std", QString("%1").arg(_standardKey));
}
for (QKeySequence ks : _keys) {
xml.tag("seq", Shortcut::keySeqToString(ks, QKeySequence::PortableText, true));
}
xml.etag();
}
//---------------------------------------------------------
// read
//---------------------------------------------------------
void Shortcut::read(XmlReader& e)
{
while (e.readNextStartElement()) {
const QStringRef& tag(e.name());
if (tag == "key") {
_key = e.readElementText().toLocal8Bit();
} else if (tag == "std") {
int i = e.readInt();
if (!QKeySequence::keyBindings((QKeySequence::StandardKey(i))).empty()) { // make sure key binding is set for OS
_standardKey = QKeySequence::StandardKey(i);
}
} else if (tag == "seq") {
QKeySequence seq = Shortcut::keySeqFromString(e.readElementText(), QKeySequence::PortableText);
#ifndef NDEBUG
for (const Shortcut& sc : _sc) {
for (const QKeySequence s : sc._keys) {
if (s == seq) {
qDebug("Ambiguous shortcut for action <%s>", _key.data());
}
}
}
#endif
_keys.append(seq);
} else {
e.unknown();
}
}
}
//---------------------------------------------------------
// read
//---------------------------------------------------------
void Shortcut::load()
{
QFile f(dataPath + "/shortcuts.xml");
if (!f.exists()) {
f.setFileName(defaultFileName);
}
if (!f.open(QIODevice::ReadOnly)) {
qDebug("Cannot open shortcuts <%s>", qPrintable(f.fileName()));
return;
}
if (MScore::debugMode) {
qDebug("read shortcuts from <%s>", qPrintable(f.fileName()));
}
XmlReader e(&f);
while (e.readNextStartElement()) {
if (e.name() == "Shortcuts") {
while (e.readNextStartElement()) {
if (e.name() == "SC") {
Shortcut* sc = 0;
while (e.readNextStartElement()) {
const QStringRef& tag(e.name());
if (tag == "key") {
QString val(e.readElementText());
sc = getShortcut(qPrintable(val));
if (!sc) {
qDebug("cannot find shortcut <%s>", qPrintable(val));
} else {
sc->clear();
}
} else if (tag == "std") {
int i = e.readInt();
if (sc && !QKeySequence::keyBindings((QKeySequence::StandardKey(i))).empty()) { // make sure key binding is set for OS
sc->_standardKey = QKeySequence::StandardKey(i);
}
} else if (tag == "seq") {
QString s = e.readElementText();
if (sc) {
sc->_keys.append(Shortcut::keySeqFromString(s, QKeySequence::PortableText));
}
} else {
e.unknown();
}
}
} else {
e.unknown();
}
}
} else {
e.unknown();
}
}
source = f.fileName();
dirty = false;
}
//---------------------------------------------------------
// Shortcut1
//---------------------------------------------------------
struct Shortcut1 {
QByteArray key;
QList<QKeySequence> keys;
QKeySequence::StandardKey standardKey { QKeySequence::UnknownKey };
};
//---------------------------------------------------------
// read
//---------------------------------------------------------
static QList<Shortcut1> loadShortcuts(QString fileLocation)
{
QList<Shortcut1> list;
QFile f(fileLocation);
if (!f.open(QIODevice::ReadOnly)) {
qDebug("Cannot open shortcuts");
QMessageBox::critical(0, QObject::tr("Load Shortcuts"),
QObject::tr("Can't load shortcuts file: %1").arg(strerror(errno)));
return list;
}
XmlReader e(&f);
while (e.readNextStartElement()) {
if (e.name() == "Shortcuts") {
while (e.readNextStartElement()) {
if (e.name() == "SC") {
Shortcut1 sc;
while (e.readNextStartElement()) {
const QStringRef& tag(e.name());
if (tag == "key") {
sc.key = e.readElementText().toLocal8Bit();
} else if (tag == "std") {
int i = e.readInt();
if (!QKeySequence::keyBindings(QKeySequence::StandardKey(i)).empty()) { // make sure key binding is set for OS
sc.standardKey = QKeySequence::StandardKey(i);
}
} else if (tag == "seq") {
sc.keys.append(Shortcut::keySeqFromString(e.readElementText(), QKeySequence::PortableText));
} else {
e.unknown();
}
}
list.append(sc);
} else {
e.unknown();
}
}
} else {
e.unknown();
}
}
return list;
}
void Shortcut::loadFromNewFile(QString fileLocation)
{
QList<Shortcut1> list = loadShortcuts(fileLocation);
for (const Shortcut1& sc : list) {
Shortcut* s = getShortcut(sc.key);
if (s) {
s->setKeys(sc.keys);
s->setStandardKey(sc.standardKey);
}
}
source = fileLocation;
dirty = true;
}
//---------------------------------------------------------
// getActionGroupForWidget
//---------------------------------------------------------
QActionGroup* Shortcut::getActionGroupForWidget(MsWidget w)
{
QActionGroup* ag = new QActionGroup(NULL);
ag->setExclusive(false);
ag->setEnabled(true);
for (Shortcut* s : Shortcut::shortcuts()) {
if (s->assignedWidget() == w) {
QAction* a = s->action();
if (a) {
ag->addAction(s->action());
}
}
}
return ag;
}
QActionGroup* Shortcut::getActionGroupForWidget(MsWidget w, Qt::ShortcutContext newShortcutContext)
{
QActionGroup* ag = Shortcut::getActionGroupForWidget(w);
for (QAction* a : ag->actions()) {
a->setShortcutContext(newShortcutContext);
}
return ag;
}
//---------------------------------------------------------
// resetToBuildin
// reset all shortcuts to builtin values
//---------------------------------------------------------
void Shortcut::resetToDefault()
{
QList<Shortcut1> sl = loadShortcuts(defaultFileName);
for (const Shortcut1& sc : sl) {
Shortcut* s = getShortcut(sc.key);
if (s) {
s->setKeys(sc.keys);
s->setStandardKey(sc.standardKey);
}
}
source = defaultFileName;
dirty = true;
}
//---------------------------------------------------------
// getShortcutByKeySequence
//---------------------------------------------------------
Shortcut* Shortcut::getShortcutByKeySequence(const QKeySequence& keySequence, const ScoreState state)
{
for (Shortcut* shortcut : _shortcuts.values()) {
if (!(shortcut->state() & state)) {
continue;
}
QAction* action = shortcut->action();
if (!action) {
continue;
}
for (const QKeySequence& _keySequence : action->shortcuts()) {
if (_keySequence == keySequence) {
return shortcut;
}
}
}
return nullptr;
}
//---------------------------------------------------------
// reset
//---------------------------------------------------------
void Shortcut::reset()
{
_standardKey = QKeySequence::UnknownKey;
_keys.clear();
QList<Shortcut1> sl = loadShortcuts(defaultFileName);
for (const Shortcut1& sc : sl) {
if (sc.key == _key) {
setKeys(sc.keys);
setStandardKey(sc.standardKey);
break;
}
}
dirty = true;
}
//---------------------------------------------------------
// keySeqToString / keySeqFromString
//---------------------------------------------------------
static const QString numPadPrefix("NumPad+");
static const int NUMPADPREFIX_SIZE = 7; // the length in chars of the above string
QString Shortcut::keySeqToString(const QKeySequence& keySeq, QKeySequence::SequenceFormat fmt,
bool escapeKeyStr /* = false */)
{
QString s;
for (int i = 0; i < KEYSEQ_SIZE; ++i) {
int code;
if ((code = keySeq[i]) == 0) {
break;
}
if (i) {
s += ",";
}
if (code & Qt::KeypadModifier) {
s += numPadPrefix;
code &= ~Qt::KeypadModifier;
}
QString kStr = QKeySequence(code).toString(fmt);
if (escapeKeyStr) {
kStr.replace("\\", "\\\\");
kStr.replace(",", "\\,");
}
s += kStr;
}
return s;
}
//---------------------------------------------------------
// keySeqFromString
//---------------------------------------------------------
QKeySequence Shortcut::keySeqFromString(const QString& str, QKeySequence::SequenceFormat fmt)
{
int code[KEYSEQ_SIZE], i;
for (i = 0; i < KEYSEQ_SIZE; ++i) {
code[i] = 0;
}
QStringList strList = str.split(QRegularExpression("(?<!\\\\),|(?<=\\\\\\\\),"), QString::SkipEmptyParts);
//split based on commas that are not preceded by a single slash; two is okay
//original regex: (?<!\\),|(?<=\\\\),
i = 0;
for (const QString& s : strList) {
QString keyStr = s.trimmed();
if (keyStr.contains("\\")) {
keyStr.remove(keyStr.length() - 2, 1); //remove escaped characters which will always be second to last
}
if (keyStr.startsWith(numPadPrefix, Qt::CaseInsensitive)) {
code[i] += Qt::KeypadModifier;
keyStr.remove(0, NUMPADPREFIX_SIZE);
}
QKeySequence seq = QKeySequence::fromString(keyStr, fmt);
code[i] += seq[0];
if (++i >= KEYSEQ_SIZE) {
break;
}
}
QKeySequence keySeq(code[0], code[1], code[2], code[3]);
return keySeq;
}
}