Now "Tie" button:
- is highlighted when all selected notes have ties;
- if any ties can be added, adds ties;
- if no ties can be added, removes existing ties.
- Show three dots button in palettes only when palette is hovered or expanded
- Move "Create custom palette" button to the top of "Add palettes" popup
- Change default width for palettes
- Change default grid size for custom palettes
- Change arrow and ellipsis icons
- Highlight buttons and palette cells on hovering
- Change highlight color for selected palettes
- Stretch last cell in a row in palettes
1) Fix incorrect track2 assignment to spanners on pasting in some
situations due to not handling the case of track2 == -1.
2) Fix staff index checks in ScoreView code to avoid a crash if
incorrect staff index gets recorded to CmdState.
3) Add an assertion to catch invalid negative staff indices recorded
to CmdState.
Windows defines a menu key allow context menus to be operated by keyboard.
We are triggering the popup menu in this case, but getting the wrong element:
we should be using the selection, not the element near the mouse.
This changes ScoreView::contextMenuEvent() to check for keybaord as reason,
and set the element appropriately if so.
Currently screenreader support for the context menu is still limited,
so I will update this if/when I figure that out.
1) Pasting symbol lists (lyrics, dynamics, chord symbols etc.) to
tuplets work correctly so we don't need to impose any restrictions
here.
2) Pasting a staff range to the first chord/rest of a tuplet correctly
replaces the tuplet with the clipboard content. We need to restrict
pasting a range only if trying to paste to the middle of a tuplet.
which seems to not belong to any segment, so dereferences a NULL pointer
leading to a segment violation (pun intended).
The fix simply ignores this, and this avoids the crash, but also looses
the 'visible' property of that clef for some yet unknown but unrelated reason.
Resolves: https://musescore.org/en/node/292474
This also resolves this issue reported in the forum: https://musescore.org/en/node/294734
It was achieved by extending plugin functionalities from commit c77d904eaa. By adding:
* Support for elements that were causing application to crash such as: symbol, fingering, bend, notehead (note level), and clef and ambitus.
* You can now add and remove elements from notes using `Note::add()` and `Note::remove()`.
Resolves: https://musescore.org/en/node/297152
This might be unique to Linux apps on ChromeOS,
or it might apply to other Debian "stretch systems",
but apparently passing in a null or 1x1 pixmap to a QDrag
causes it to crash on exec().
This PR fixes the problem by making the pixmap 2x2.
It also allocates it statically to be sure there is no issue
with it coming off the stack.
I also replaced the deprecated QDrag::start() call with QDrag::exec(),
which we already do when dragging *from* the palette.
This is recommended as per Qt guidelines.