Ensure "enabled" binding stays in place

This commit is contained in:
Atlante45 2017-08-31 16:16:43 -07:00
parent 2fd2bb1e92
commit 9b857eb53b

View file

@ -604,10 +604,16 @@ ScrollingWindow {
} }
HifiControls.CheckBox { HifiControls.CheckBox {
function isChecked() {
var status = assetProxyModel.data(treeView.selection.currentIndex, 0x105);
var bakingDisabled = (status === "Not Baked" || status === "--");
return selectedItems === 1 && !bakingDisabled;
}
text: "Use baked (optimized) versions" text: "Use baked (optimized) versions"
colorScheme: root.colorScheme colorScheme: root.colorScheme
enabled: selectedItems === 1 && assetProxyModel.data(treeView.selection.currentIndex, 0x105) !== "--" enabled: selectedItems === 1 && assetProxyModel.data(treeView.selection.currentIndex, 0x105) !== "--"
checked: selectedItems === 1 && assetProxyModel.data(treeView.selection.currentIndex, 0x105) === "Baked"; checked: isChecked()
onClicked: { onClicked: {
var mappings = []; var mappings = [];
for (var i in treeView.selection.selectedIndexes) { for (var i in treeView.selection.selectedIndexes) {
@ -619,6 +625,8 @@ ScrollingWindow {
Assets.setBakingEnabled(mappings, checked, function() { Assets.setBakingEnabled(mappings, checked, function() {
reload(); reload();
}); });
checked = Qt.binding(isChecked);
} }
} }
} }