mirror of
https://github.com/overte-org/overte.git
synced 2025-04-21 08:04:01 +02:00
Only the first checkbox in a group has vertical space before it
This commit is contained in:
parent
a41f409e33
commit
2d250e2f64
3 changed files with 29 additions and 3 deletions
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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) }));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue