From a2bf9a86a9738989b0e424ae2c833610427d8f91 Mon Sep 17 00:00:00 2001
From: SeeLook <SeeLook@localhost>
Date: Sun, 24 Dec 2017 20:32:08 +0100
Subject: [PATCH] Move scaleFactor property to C++ TscoreObject

---
 src/libs/core/score/tscoreobject.cpp | 8 ++++++++
 src/libs/core/score/tscoreobject.h   | 6 ++++++
 src/qml/score/Score.qml              | 2 +-
 3 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/src/libs/core/score/tscoreobject.cpp b/src/libs/core/score/tscoreobject.cpp
index dfaabb666..5257116e8 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 fcc69e4a6..0e505f3d0 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 629d318bb..57f35f0c9 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
-- 
GitLab