diff --git a/interface/resources/qml/dialogs/preferences/CheckBoxPreference.qml b/interface/resources/qml/dialogs/preferences/CheckBoxPreference.qml index 5e6ce3db3c..f8f992735c 100644 --- a/interface/resources/qml/dialogs/preferences/CheckBoxPreference.qml +++ b/interface/resources/qml/dialogs/preferences/CheckBoxPreference.qml @@ -14,7 +14,7 @@ import "../../controls-uit" Preference { id: root - height: checkBox.implicitHeight + height: spacer.height + Math.max(hifi.dimensions.controlLineHeight, checkBox.implicitHeight) Component.onCompleted: { checkBox.checked = preference.value; @@ -26,9 +26,24 @@ Preference { preference.save(); } + Item { + id: spacer + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: isFirstCheckBox ? hifi.dimensions.controlInterlineHeight : 0 + } + CheckBox { id: checkBox - anchors.fill: parent + anchors { + top: spacer.bottom + left: parent.left + right: parent.right + bottom: parent.bottom + } text: root.label colorScheme: hifi.colorSchemes.dark } diff --git a/interface/resources/qml/dialogs/preferences/Preference.qml b/interface/resources/qml/dialogs/preferences/Preference.qml index 733e2c4ebe..1d72197382 100644 --- a/interface/resources/qml/dialogs/preferences/Preference.qml +++ b/interface/resources/qml/dialogs/preferences/Preference.qml @@ -16,6 +16,7 @@ Item { anchors { left: parent.left; right: parent.right } property var preference; property string label: preference ? preference.name : ""; + property bool isFirstCheckBox; Component.onCompleted: { if (preference) { preference.load(); diff --git a/interface/resources/qml/dialogs/preferences/Section.qml b/interface/resources/qml/dialogs/preferences/Section.qml index 81e9278903..e48612ca03 100644 --- a/interface/resources/qml/dialogs/preferences/Section.qml +++ b/interface/resources/qml/dialogs/preferences/Section.qml @@ -73,6 +73,7 @@ Preference { property var buttonBuilder: Component { ButtonPreference { } } property var comboBoxBuilder: Component { ComboBoxPreference { } } property var preferences: [] + property int checkBoxCount: 0 function buildPreferences() { var categoryPreferences = Preferences.preferencesByCategory[root.name]; @@ -89,40 +90,49 @@ Preference { var builder; switch (preference.type) { case Preference.Editable: + checkBoxCount = 0; builder = editableBuilder; break; case Preference.Browsable: + checkBoxCount = 0; builder = browsableBuilder; break; case Preference.Spinner: + checkBoxCount = 0; builder = spinnerBuilder; break; case Preference.Slider: + checkBoxCount = 0; builder = sliderBuilder; break; case Preference.Checkbox: + checkBoxCount++; + console.log("####### checkBoxCount = " + checkBoxCount); builder = checkboxBuilder; break; case Preference.Avatar: + checkBoxCount = 0; builder = avatarBuilder; break; case Preference.Button: + checkBoxCount = 0; builder = buttonBuilder; break; case Preference.ComboBox: + checkBoxCount = 0; builder = comboBoxBuilder; break; }; if (builder) { - preferences.push(builder.createObject(contentContainer, { preference: preference })); + preferences.push(builder.createObject(contentContainer, { preference: preference, isFirstCheckBox: (checkBoxCount === 1) })); } } }