diff --git a/src/inspector/CMakeLists.txt b/src/inspector/CMakeLists.txt
index 9806b49e81d72..2e1eb52636362 100644
--- a/src/inspector/CMakeLists.txt
+++ b/src/inspector/CMakeLists.txt
@@ -86,6 +86,8 @@ set(MODULE_SRC
${CMAKE_CURRENT_LIST_DIR}/models/measures/measuressettingsmodel.h
${CMAKE_CURRENT_LIST_DIR}/models/score/scoreappearancesettingsmodel.cpp
${CMAKE_CURRENT_LIST_DIR}/models/score/scoreappearancesettingsmodel.h
+ ${CMAKE_CURRENT_LIST_DIR}/models/score/scoreaccessibilitysettingsmodel.cpp
+ ${CMAKE_CURRENT_LIST_DIR}/models/score/scoreaccessibilitysettingsmodel.h
${CMAKE_CURRENT_LIST_DIR}/models/score/scoredisplaysettingsmodel.cpp
${CMAKE_CURRENT_LIST_DIR}/models/score/scoredisplaysettingsmodel.h
${CMAKE_CURRENT_LIST_DIR}/models/score/internal/pagetypelistmodel.cpp
diff --git a/src/inspector/models/abstractinspectormodel.h b/src/inspector/models/abstractinspectormodel.h
index dcb3b3eda10ba..034e4e42af8df 100644
--- a/src/inspector/models/abstractinspectormodel.h
+++ b/src/inspector/models/abstractinspectormodel.h
@@ -65,6 +65,7 @@ class AbstractInspectorModel : public QObject, public muse::async::Asyncable
SECTION_TEXT,
SECTION_SCORE_DISPLAY,
SECTION_SCORE_APPEARANCE,
+ SECTION_SCORE_ACCESSIBILITY,
SECTION_PARTS,
};
Q_ENUM(InspectorSectionType)
diff --git a/src/inspector/models/inspectorlistmodel.cpp b/src/inspector/models/inspectorlistmodel.cpp
index 212951ddb1f05..bae2afc954328 100644
--- a/src/inspector/models/inspectorlistmodel.cpp
+++ b/src/inspector/models/inspectorlistmodel.cpp
@@ -28,6 +28,7 @@
#include "text/textsettingsmodel.h"
#include "score/scoredisplaysettingsmodel.h"
#include "score/scoreappearancesettingsmodel.h"
+#include "score/scoreaccessibilitysettingsmodel.h"
#include "notation/inotationinteraction.h"
#include "internal/services/elementrepositoryservice.h"
@@ -73,7 +74,8 @@ void InspectorListModel::buildModelsForEmptySelection()
static const InspectorSectionTypeSet persistentSections {
InspectorSectionType::SECTION_SCORE_DISPLAY,
- InspectorSectionType::SECTION_SCORE_APPEARANCE
+ InspectorSectionType::SECTION_SCORE_APPEARANCE,
+ InspectorSectionType::SECTION_SCORE_ACCESSIBILITY
};
removeUnusedModels({}, false /*isRangeSelection*/, {}, persistentSections);
@@ -195,6 +197,9 @@ void InspectorListModel::createModelsBySectionType(const InspectorSectionTypeSet
case InspectorSectionType::SECTION_SCORE_APPEARANCE:
newModel = new ScoreAppearanceSettingsModel(this, m_repository);
break;
+ case InspectorSectionType::SECTION_SCORE_ACCESSIBILITY:
+ newModel = new ScoreAccessibilitySettingsModel(this, m_repository);
+ break;
case InspectorSectionType::SECTION_PARTS:
newModel = new PartsSettingsModel(this, m_repository);
break;
diff --git a/src/inspector/models/score/scoreaccessibilitysettingsmodel.cpp b/src/inspector/models/score/scoreaccessibilitysettingsmodel.cpp
new file mode 100644
index 0000000000000..eca1e9803e11c
--- /dev/null
+++ b/src/inspector/models/score/scoreaccessibilitysettingsmodel.cpp
@@ -0,0 +1,68 @@
+/*
+ * SPDX-License-Identifier: GPL-3.0-only
+ * MuseScore-Studio-CLA-applies
+ *
+ * MuseScore Studio
+ * Music Composition & Notation
+ *
+ * Copyright (C) 2021 MuseScore Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * 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 .
+ */
+#include "scoreaccessibilitysettingsmodel.h"
+
+#include "engraving/style/defaultstyle.h"
+#include "translation.h"
+
+using namespace mu::inspector;
+using namespace mu::notation;
+
+ScoreAccessibilitySettingsModel::ScoreAccessibilitySettingsModel(QObject* parent, IElementRepositoryService* repository)
+ : AbstractInspectorModel(parent, repository)
+{
+ setSectionType(InspectorSectionType::SECTION_SCORE_ACCESSIBILITY);
+ setTitle(muse::qtrc("inspector", "Accessibility"));
+}
+
+PropertyItem* ScoreAccessibilitySettingsModel::scoreStylePreset() const
+{
+ return m_scoreStylePreset;
+}
+
+void ScoreAccessibilitySettingsModel::setScoreStylePreset(PropertyItem* item)
+{
+ if (m_scoreStylePreset != item) {
+ m_scoreStylePreset = item;
+ emit scoreStylePresetChanged();
+ }
+}
+
+void ScoreAccessibilitySettingsModel::createProperties()
+{
+ // Placeholder
+}
+
+void ScoreAccessibilitySettingsModel::requestElements()
+{
+ // Placeholder
+}
+
+void ScoreAccessibilitySettingsModel::loadProperties()
+{
+ // Placeholder
+}
+
+void ScoreAccessibilitySettingsModel::resetProperties()
+{
+ // Placeholder
+}
diff --git a/src/inspector/models/score/scoreaccessibilitysettingsmodel.h b/src/inspector/models/score/scoreaccessibilitysettingsmodel.h
new file mode 100644
index 0000000000000..fb43823042956
--- /dev/null
+++ b/src/inspector/models/score/scoreaccessibilitysettingsmodel.h
@@ -0,0 +1,55 @@
+/*
+ * SPDX-License-Identifier: GPL-3.0-only
+ * MuseScore-Studio-CLA-applies
+ *
+ * MuseScore Studio
+ * Music Composition & Notation
+ *
+ * Copyright (C) 2021 MuseScore Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * 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 .
+ */
+#ifndef MU_INSPECTOR_SCOREACCESSIBILITYSETTINGSMODEL_H
+#define MU_INSPECTOR_SCOREACCESSIBILITYSETTINGSMODEL_H
+
+#include "models/abstractinspectormodel.h"
+#include "models/propertyitem.h"
+#include "async/asyncable.h"
+
+namespace mu::inspector {
+class ScoreAccessibilitySettingsModel : public AbstractInspectorModel
+{
+ Q_OBJECT
+
+ Q_PROPERTY(PropertyItem * scoreStylePreset READ scoreStylePreset CONSTANT)
+
+public:
+ explicit ScoreAccessibilitySettingsModel(QObject* parent, IElementRepositoryService* repository);
+
+ void createProperties() override;
+ void requestElements() override;
+ void loadProperties() override;
+ void resetProperties() override;
+
+ PropertyItem* scoreStylePreset() const;
+ void setScoreStylePreset(PropertyItem* item);
+
+signals:
+ void scoreStylePresetChanged();
+
+private:
+ PropertyItem* m_scoreStylePreset = nullptr;
+};
+}
+
+#endif // MU_INSPECTOR_SCOREACCESSIBILITYSETTINGSMODEL_H
diff --git a/src/inspector/view/inspector_resources.qrc b/src/inspector/view/inspector_resources.qrc
index 72bec0e217055..1a9b7510e48ca 100644
--- a/src/inspector/view/inspector_resources.qrc
+++ b/src/inspector/view/inspector_resources.qrc
@@ -50,6 +50,7 @@
qml/MuseScore/Inspector/notation/fretdiagrams/internal/FretAdvancedSettingsTab.qml
qml/MuseScore/Inspector/score/ScoreDisplayInspectorView.qml
qml/MuseScore/Inspector/score/ScoreAppearanceInspectorView.qml
+ qml/MuseScore/Inspector/score/ScoreAccessibilityInspectorView.qml
qml/MuseScore/Inspector/score/HideEmptyStavesSettings.qml
qml/MuseScore/Inspector/common/InspectorPropertyView.qml
qml/MuseScore/Inspector/common/TextSection.qml
diff --git a/src/inspector/view/qml/MuseScore/Inspector/InspectorSectionDelegate.qml b/src/inspector/view/qml/MuseScore/Inspector/InspectorSectionDelegate.qml
index 5455947ff5dd8..6ec434f4e9069 100644
--- a/src/inspector/view/qml/MuseScore/Inspector/InspectorSectionDelegate.qml
+++ b/src/inspector/view/qml/MuseScore/Inspector/InspectorSectionDelegate.qml
@@ -73,6 +73,7 @@ ExpandableBlank {
}
case Inspector.SECTION_SCORE_DISPLAY: return scoreSection
case Inspector.SECTION_SCORE_APPEARANCE: return scoreAppearanceSection
+ case Inspector.SECTION_SCORE_ACCESSIBILITY: return scoreAccessibilitySection
case Inspector.SECTION_PARTS: return partsSection
}
@@ -206,6 +207,26 @@ ExpandableBlank {
}
}
+ Component {
+ id: scoreAccessibilitySection
+
+ ScoreAccessibilityInspectorView {
+ model: root.sectionModel
+ navigationPanel: root.navigationPanel
+ navigationRowStart: root.navigation.row + 1
+ anchorItem: root.anchorItem
+
+ onEnsureContentVisibleRequested: function(invisibleContentHeight) {
+ console.log("Ensure content visible requested with height: " + invisibleContentHeight)
+ root.ensureContentVisibleRequested(-invisibleContentHeight)
+ }
+
+ onPopupOpened: {
+ root.popupOpened(openedPopup, control)
+ }
+ }
+ }
+
Component {
id: partsSection
diff --git a/src/inspector/view/qml/MuseScore/Inspector/score/ScoreAccessibilityInspectorView.qml b/src/inspector/view/qml/MuseScore/Inspector/score/ScoreAccessibilityInspectorView.qml
new file mode 100644
index 0000000000000..decc466505704
--- /dev/null
+++ b/src/inspector/view/qml/MuseScore/Inspector/score/ScoreAccessibilityInspectorView.qml
@@ -0,0 +1,64 @@
+/*
+ * SPDX-License-Identifier: GPL-3.0-only
+ * MuseScore-Studio-CLA-applies
+ *
+ * MuseScore Studio
+ * Music Composition & Notation
+ *
+ * Copyright (C) 2021 MuseScore Limited
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 3 as
+ * published by the Free Software Foundation.
+ *
+ * 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 .
+ */
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import QtQuick.Layouts 1.15
+
+import MuseScore.Inspector 1.0
+import Muse.UiComponents 1.0
+import Muse.Ui 1.0
+
+import "../common"
+
+InspectorSectionView {
+ id: root
+ implicitHeight: contentColumn.implicitHeight
+
+ Column {
+ id: contentColumn
+ width: parent.width
+ spacing: 8
+
+ DropdownPropertyView {
+ id: scoreStylePreset
+
+ titleText: qsTrc("inspector", "Score style preset")
+ propertyItem: null
+ visible: true
+
+ model: [
+ { text: qsTrc("inspector", "Default") },
+ { text: qsTrc("inspector", "16mm MSN") },
+ { text: qsTrc("inspector", "18mm MSN") },
+ { text: qsTrc("inspector", "20mm MSN") },
+ { text: qsTrc("inspector", "24mm MSN") },
+ { text: qsTrc("inspector", "25mm MSN") }
+ ]
+ }
+
+ FlatButton {
+ width: parent.width
+ text: qsTrc("inspector", "Customize shapes & colours")
+ onClicked: console.log("Customize shapes & colours button clicked")
+ }
+ }
+}