Newer
Older
/***************************************************************************
* Copyright (C) 2017 by Tomasz Bojczuk *
* seelook@gmail.com *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 3 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
import QtQuick 2.7
import QtQuick.Controls 2.0
import Score 1.0
import Nootka 1.0
Score {
id: mainScore
width: parent.width
property alias showNamesAct: showNamesAct
property alias extraAccidsAct: extraAccidsAct
property alias zoomInAct: zoomInAct
property alias zoomOutAct: zoomOutAct
enableDoubleAccids: GLOB.enableDoubleAccids
enableKeySign: GLOB.keySignatureEnabled
scoreObj.nameColor: GLOB.nameColor
scoreObj.showNoteNames: GLOB.namesOnScore
scoreObj.enableDoubleAccidentals: GLOB.enableDoubleAccids
Rectangle { // note highlight
id: noteHighlight
parent: currentNote
visible: currentNote != null
width: currentNote ? (currentNote.width - currentNote.alterWidth) * 1.5 : 0
height: currentNote ? Math.min(12.0, currentNote.notePosY + 6.0) : 0
x: currentNote ? -width * 0.25 : 0
y: currentNote ? Math.min(currentNote.height - height, Math.max(0.0, currentNote.notePosY - height / 2.0)) : 0
color: Qt.rgba(activPal.highlight.r, activPal.highlight.g, activPal.highlight.b, 0.3)
z: -1
radius: width / 3.0
}
Taction {
id: extraAccidsAct
text: qsTr("Additional accidentals")
checkable: true
Taction {
id: showNamesAct
text: qsTr("Show note names")
checkable: true
checked: GLOB.namesOnScore
onTriggered: { scoreObj.showNoteNames = checked }
}
Taction {
id: zoomOutAct
icon: "zoom-out"
text: qsTr("Zoom score out")
onTriggered: scaleFactor = Math.max(0.4, scaleFactor - 0.2)
shortcut: Shortcut { sequence: StandardKey.ZoomOut; onActivated: zoomOutAct.triggered() }
}
Taction {
id: zoomInAct
icon: "zoom-in"
text: qsTr("Zoom score in")
onTriggered: scaleFactor = scaleFactor = Math.min(scaleFactor + 0.2, 1.4)
shortcut: Shortcut { sequence: StandardKey.ZoomIn; onActivated: zoomInAct.triggered() }
}
Shortcut {
sequence: StandardKey.MoveToNextChar;
onActivated: {
if (currentNote) {
if (currentNote.index < notesCount - 1)
currentNote = scoreObj.note(currentNote.index + 1)
} else
currentNote = scoreObj.note(0)
console.log(portableText)
}
}
Shortcut {
sequence: StandardKey.MoveToPreviousChar;
onActivated: {
if (currentNote) {
if (currentNote.index > 0)
currentNote = scoreObj.note(currentNote.index - 1)
} else {
currentNote = scoreObj.note(0)
}
console.log(portableText)
}
}