diff --git a/src/libs/core/score/tscoreobject.cpp b/src/libs/core/score/tscoreobject.cpp index dfaabb666b3d3b864240144d495b497d80b1cbea..5257116e845172e9795b4ac62d8bd39b6cd7ebff 100644 --- a/src/libs/core/score/tscoreobject.cpp +++ b/src/libs/core/score/tscoreobject.cpp @@ -572,6 +572,14 @@ void TscoreObject::setRecordMode(bool r) { } +void TscoreObject::setScaleFactor(qreal factor) { + if (factor != m_scaleFactor) { + m_scaleFactor = factor; + emit scaleFactorChanged(); + } +} + + qreal TscoreObject::stavesHeight() { if (m_staves.isEmpty()) return 0.0; diff --git a/src/libs/core/score/tscoreobject.h b/src/libs/core/score/tscoreobject.h index fcc69e4a6a7e4ae2412f982c38b19de9e0dd0d55..0e505f3d0618a618e8cfdd4aff505dc94b39b0bc 100644 --- a/src/libs/core/score/tscoreobject.h +++ b/src/libs/core/score/tscoreobject.h @@ -77,6 +77,7 @@ class NOOTKACORE_EXPORT TscoreObject : public QObject Q_PROPERTY(bool singleNote READ singleNote WRITE setSingleNote NOTIFY singleNoteChanged) Q_PROPERTY(bool enharmNotesEnabled READ enharmNotesEnabled WRITE setEnharmNotesEnabled) Q_PROPERTY(bool recordMode READ recordMode WRITE setRecordMode NOTIFY recordModeChanged) + Q_PROPERTY(qreal scaleFactor READ scaleFactor WRITE setScaleFactor NOTIFY scaleFactorChanged) /* Helper variables */ Q_PROPERTY(qreal stavesHeight READ stavesHeight NOTIFY stavesHeightChanged) Q_PROPERTY(qreal width READ width WRITE setWidth) @@ -190,6 +191,9 @@ public: bool recordMode() const { return m_recordMode; } void setRecordMode(bool r); + qreal scaleFactor() const { return m_scaleFactor; } + void setScaleFactor(qreal factor); + /* ------------------ Lists with score content (staves, measures notes) ------------------ */ int notesCount() const { return m_notes.count(); } @@ -370,6 +374,7 @@ signals: void selectedNoteChanged(); void singleNoteChanged(); void recordModeChanged(); + void scaleFactorChanged(); protected: /** @@ -490,6 +495,7 @@ private: bool m_singleNote = false; bool m_enharmNotesEnabled = false; bool m_recordMode = false; + qreal m_scaleFactor = 1.0; /* Lists with notes, measures, staves, meter groups */ QList<TnotePair*> m_segments; QList<TnotePair*> m_spareSegments; diff --git a/src/qml/score/Score.qml b/src/qml/score/Score.qml index 629d318bb93a89328bd1eb2c9fbf78a5c0b65513..57f35f0c9980ae557ba8c7e07129a7767ad9ba2a 100644 --- a/src/qml/score/Score.qml +++ b/src/qml/score/Score.qml @@ -21,7 +21,7 @@ Flickable { property bool enableKeySign: scoreObj.keySignatureEnabled property bool enableDoubleAccids: false property alias workRhythm: scoreObj.workRhythm - property real scaleFactor: 1.0 + property alias scaleFactor: scoreObj.scaleFactor property alias notesCount: scoreObj.notesCount property alias currentNote: scoreObj.selectedItem property alias note: scoreObj.selectedNote