@@ -11,9 +11,10 @@ Dialog {
1111 title: " <strong>" + qsTr (" Column settings for track %1, column %2" ).arg (columnSettingsModel .trackIndex + 1 ).arg (columnSettingsModel .columnIndex + 1 ) + " </strong>"
1212 modal: true
1313 function initialize () {
14- delaySpinBox . value = columnSettingsModel . delay ;
15- transposeSpinBox . value = columnSettingsModel . transpose ;
14+ instrumentSettings . initialize () ;
15+ timingSettings . initialize () ;
1616 midiEffects .initialize ();
17+ tabBar .currentIndex = 0 ;
1718 }
1819 function saveSettings () {
1920 columnSettingsModel .save ();
@@ -42,51 +43,60 @@ Dialog {
4243 anchors .fill : parent
4344 spacing: 10
4445
45- GroupBox {
46- title: qsTr (" General" )
47- Layout .fillWidth : true
46+ StackLayout {
47+ height: parent .height - tabBar .height - parent .spacing
4848 width: parent .width
49+ currentIndex: tabBar .currentIndex
4950
50- RowLayout {
51- spacing: 10
52- Label {
53- text: qsTr (" Transpose:" )
54- }
55- SpinBox {
56- id: transposeSpinBox
57- from: - 48
58- to: 48
59- editable: true
60- Keys .onReturnPressed : focus = false
61- onValueModified: columnSettingsModel .transpose = value
51+ ScrollView {
52+ id: instrumentScrollView
53+ clip: true
54+ ScrollBar .vertical .policy : ScrollBar .AsNeeded
55+ ScrollBar .horizontal .policy : ScrollBar .AlwaysOff
56+ rightPadding: 10
57+ ColumnSettingsDialog_InstrumentSettings {
58+ id: instrumentSettings
59+ width: instrumentScrollView .availableWidth
6260 }
6361 }
64- }
6562
66- GroupBox {
67- title : qsTr ( " Timing " )
68- Layout . fillWidth : true
69- width : parent . width
70-
71- RowLayout {
72- spacing : 10
73- Label {
74- text : qsTr ( " Delay (ms): " )
63+ ScrollView {
64+ id : timingScrollView
65+ clip : true
66+ ScrollBar . vertical . policy : ScrollBar . AsNeeded
67+ ScrollBar . horizontal . policy : ScrollBar . AlwaysOff
68+ rightPadding : 10
69+ ColumnSettingsDialog_TimingSettings {
70+ id : timingSettings
71+ width : timingScrollView . availableWidth
7572 }
76- SpinBox {
77- id: delaySpinBox
78- from: - 10000
79- to: 10000
80- editable: true
81- Keys .onReturnPressed : focus = false
82- onValueModified: columnSettingsModel .delay = value
73+ }
74+
75+ ScrollView {
76+ id: midiEffectsScrollView
77+ clip: true
78+ ScrollBar .vertical .policy : ScrollBar .AsNeeded
79+ ScrollBar .horizontal .policy : ScrollBar .AlwaysOff
80+ rightPadding: 10
81+ ColumnSettingsDialog_MidiEffects {
82+ id: midiEffects
83+ width: midiEffectsScrollView .availableWidth
8384 }
8485 }
8586 }
8687
87- ColumnSettingsDialog_MidiEffects {
88- id: midiEffects
89- Layout .fillWidth : true
88+ TabBar {
89+ id: tabBar
90+ width: parent .width
91+ TabButton {
92+ text: qsTr (" Instrument" )
93+ }
94+ TabButton {
95+ text: qsTr (" Timing" )
96+ }
97+ TabButton {
98+ text: qsTr (" MIDI Effects" )
99+ }
90100 }
91101 }
92102
0 commit comments