Skip to content

Commit

Permalink
Merge pull request #25038 from shubham-shinde-442/properties-dialog-a…
Browse files Browse the repository at this point in the history
…ccessibility

Fix Palette Properties Dialog Accessibility
  • Loading branch information
cbjeukendrup authored Nov 8, 2024
2 parents 5c959ca + 18637d8 commit 4cff629
Show file tree
Hide file tree
Showing 4 changed files with 219 additions and 123 deletions.
1 change: 1 addition & 0 deletions src/palette/palette.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@
<file>qml/MuseScore/Palette/PaletteCellPropertiesDialog.qml</file>
<file>qml/MuseScore/Palette/PalettePropertiesDialog.qml</file>
<file>qml/MuseScore/Palette/DrumsetPanel.qml</file>
<file>qml/MuseScore/Palette/internal/PalettePropertyItem.qml</file>
</qresource>
</RCC>
126 changes: 68 additions & 58 deletions src/palette/qml/MuseScore/Palette/PaletteCellPropertiesDialog.qml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import QtQuick 2.15
import QtQuick

import Muse.Ui 1.0
import Muse.UiComponents 1.0
import MuseScore.Palette 1.0
import Muse.Ui
import Muse.UiComponents
import MuseScore.Palette

import "internal"

StyledDialogView {
id: root
Expand All @@ -44,6 +46,19 @@ StyledDialogView {
propertiesModel.load(root.properties)
}

NavigationPanel {
id: navPanel
name: "PaletteCellPropertiesDialog"
section: root.navigationSection
enabled: root.enabled && root.visible
order: 1
direction: NavigationPanel.Horizontal
}

onNavigationActivateRequested: {
nameField.navigation.requestActive()
}

Column {
id: contentColumn
anchors.fill: parent
Expand All @@ -55,11 +70,15 @@ StyledDialogView {
}

TextInputField {
id: nameField
currentText: propertiesModel.name

onTextChanged: function(newTextValue) {
propertiesModel.name = newTextValue
}

navigation.panel: navPanel
navigation.order: 1
}

SeparatorLine { anchors.margins: -parent.margins }
Expand All @@ -76,67 +95,52 @@ StyledDialogView {
columns: 2
spacing: 12

Repeater {
id: repeater

model: [
{
title: qsTrc("palette", "X"),
value: propertiesModel.xOffset,
incrementStep: 1,
minValue: -10,
maxValue: 10,
//: Abbreviation of "spatium"
measureUnit: qsTrc("global", "sp")
},
{
title: qsTrc("palette", "Y"),
value: propertiesModel.yOffset,
incrementStep: 1,
minValue: -10,
maxValue: 10,
measureUnit: qsTrc("global", "sp")
},
{
title: qsTrc("palette", "Content scale"),
value: propertiesModel.scaleFactor,
incrementStep: 0.1,
minValue: 0.1,
maxValue: 10
}
]

function setValue(index, value) {
if (index === 0) {
propertiesModel.xOffset = value
} else if (index === 1) {
propertiesModel.yOffset = value
} else if (index === 2) {
propertiesModel.scaleFactor = value
}
PalettePropertyItem {
title: qsTrc("palette", "X")
value: propertiesModel.xOffset
incrementStep: 1
minValue: -10
maxValue: 10
//: Abbreviation of "spatium"
measureUnit: qsTrc("global", "sp")

onValueEdited: function (newValue) {
propertiesModel.xOffset = newValue
}

Column {
width: (grid.width - grid.spacing * (grid.columns - 1)) / grid.columns
navigation.panel: navPanel
navigation.order: 2
}

spacing: 8
PalettePropertyItem {
title: qsTrc("palette", "Y")
value: propertiesModel.yOffset
incrementStep: 1
minValue: -10
maxValue: 10
measureUnit: qsTrc("global", "sp")

StyledTextLabel {
text: modelData["title"]
}
onValueEdited: function (newValue) {
propertiesModel.yOffset = newValue
}

navigation.panel: navPanel
navigation.order: 3
}

IncrementalPropertyControl {
currentValue: modelData["value"]
measureUnitsSymbol: Boolean(modelData["measureUnit"]) ? modelData["measureUnit"] : ""
step: modelData["incrementStep"]
minValue: modelData["minValue"]
maxValue: modelData["maxValue"]
PalettePropertyItem {
title: qsTrc("palette", "Content scale")
value: propertiesModel.scaleFactor
incrementStep: 0.1
minValue: 0.1
maxValue: 10

onValueEdited: function(newValue) {
repeater.setValue(model.index, newValue)
}
}
onValueEdited: function (newValue) {
propertiesModel.scaleFactor = newValue
}

navigation.panel: navPanel
navigation.order: 4
}
}

Expand All @@ -149,13 +153,19 @@ StyledDialogView {
onClicked: {
propertiesModel.drawStaff = !checked
}

navigation.panel: navPanel
navigation.order: 5
}

ButtonBox {
width: parent.width

buttons: [ ButtonBoxModel.Cancel, ButtonBoxModel.Ok ]

navigationPanel.section: root.navigationSection
navigationPanel.order: 2

onStandardButtonClicked: function(buttonId) {
if (buttonId === ButtonBoxModel.Cancel) {
propertiesModel.reject()
Expand Down
146 changes: 81 additions & 65 deletions src/palette/qml/MuseScore/Palette/PalettePropertiesDialog.qml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,13 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import QtQuick 2.15
import QtQuick

import Muse.Ui 1.0
import Muse.UiComponents 1.0
import MuseScore.Palette 1.0
import Muse.Ui
import Muse.UiComponents
import MuseScore.Palette

import "internal"

StyledDialogView {
id: root
Expand All @@ -44,6 +46,19 @@ StyledDialogView {
propertiesModel.load(properties)
}

NavigationPanel {
id: navPanel
name: "PalettePropertiesDialog"
section: root.navigationSection
enabled: root.enabled && root.visible
order: 1
direction: NavigationPanel.Horizontal
}

onNavigationActivateRequested: {
nameField.navigation.requestActive()
}

Column {
id: contentColumn
anchors.fill: parent
Expand All @@ -55,11 +70,15 @@ StyledDialogView {
}

TextInputField {
id: nameField
currentText: propertiesModel.name

onTextChanged: function(newTextValue) {
propertiesModel.name = newTextValue
}

navigation.panel: navPanel
navigation.order: 1
}

SeparatorLine { anchors.margins: -parent.margins }
Expand All @@ -76,74 +95,65 @@ StyledDialogView {
columns: 2
spacing: 12

Repeater {
id: repeater

model: [
{
title: qsTrc("palette", "Width"),
value: propertiesModel.cellWidth,
incrementStep: 1,
minValue: 1,
maxValue: 500
},
{
title: qsTrc("palette", "Height"),
value: propertiesModel.cellHeight,
incrementStep: 1,
minValue: 1,
maxValue: 500
},
{
title: qsTrc("palette", "Element offset"),
value: propertiesModel.elementOffset,
measureUnit: qsTrc("global", "sp"),
incrementStep: 0.1,
minValue: -10,
maxValue: 10
},
{
title: qsTrc("palette", "Scale"),
value: propertiesModel.scaleFactor,
incrementStep: 0.1,
minValue: 0.1,
maxValue: 15
}
]

function setValue(index, value) {
if (index === 0) {
propertiesModel.cellWidth = value
} else if (index === 1) {
propertiesModel.cellHeight = value
} else if (index === 2) {
propertiesModel.elementOffset = value
} else if (index === 3) {
propertiesModel.scaleFactor = value
}
PalettePropertyItem {
title: qsTrc("palette", "Width")
value: propertiesModel.cellWidth
incrementStep: 1
minValue: 1
maxValue: 500

onValueEdited: function(newValue) {
propertiesModel.cellWidth = newValue
}

Column {
width: (grid.width - grid.spacing * (grid.columns - 1)) / grid.columns
navigation.panel: navPanel
navigation.order: 2
}

spacing: 8
PalettePropertyItem {
title: qsTrc("palette", "Height")
value: propertiesModel.cellHeight
incrementStep: 1
minValue: 1
maxValue: 500

StyledTextLabel {
text: modelData["title"]
}
onValueEdited: function(newValue) {
propertiesModel.cellHeight = newValue
}

IncrementalPropertyControl {
currentValue: modelData["value"]
measureUnitsSymbol: Boolean(modelData["measureUnit"]) ? modelData["measureUnit"] : ""
step: modelData["incrementStep"]
minValue: modelData["minValue"]
maxValue: modelData["maxValue"]
navigation.panel: navPanel
navigation.order: 3
}

onValueEdited: function(newValue) {
repeater.setValue(model.index, newValue)
}
}
PalettePropertyItem {
title: qsTrc("palette", "Element offset")
value: propertiesModel.elementOffset
measureUnit: qsTrc("global", "sp")
incrementStep: 0.1
minValue: -10
maxValue: 10

onValueEdited: function (newValue) {
propertiesModel.elementOffset = newValue
}

navigation.panel: navPanel
navigation.order: 4
}

PalettePropertyItem {
title: qsTrc("palette", "Scale")
value: propertiesModel.scaleFactor
incrementStep: 0.1
minValue: 0.1
maxValue: 15

onValueEdited: function (newValue) {
propertiesModel.scaleFactor = newValue
}

navigation.panel: navPanel
navigation.order: 5
}
}

Expand All @@ -156,13 +166,19 @@ StyledDialogView {
onClicked: {
propertiesModel.showGrid = !checked
}

navigation.panel: navPanel
navigation.order: 6
}

ButtonBox {
width: parent.width

buttons: [ ButtonBoxModel.Cancel, ButtonBoxModel.Ok ]

navigationPanel.section: root.navigationSection
navigationPanel.order: 2

onStandardButtonClicked: function(buttonId) {
if (buttonId === ButtonBoxModel.Cancel) {
propertiesModel.reject()
Expand Down
Loading

0 comments on commit 4cff629

Please sign in to comment.