// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause import QtQuick import Qt.labs.synchronizer SettingsForm { id: settingsForm required property ApplicationFlow appFlow required property CoffeeConfig coffeeConfig foamAmount: coffeeConfig.foamAmount milkAmount: coffeeConfig.milkAmount coffeeAmount: coffeeConfig.coffeeAmount state: Config.mode rectangle.states: [ State { name: "smallerFont" when: ((Screen.height * Screen.devicePixelRatio) + (Screen.width * Screen.devicePixelRatio)) < 2000 PropertyChanges { target: rectangle textPixelSize: 14 } } ] sugarSlider.states: State { name: "pressed" when: settingsForm.sugarSlider.pressed PropertyChanges { target: handle scale: 1.1 } } handle.states: [ State { name: "small" when: ((Screen.height * Screen.devicePixelRatio) + (Screen.width * Screen.devicePixelRatio)) < 2000 PropertyChanges { target: handle width: 10 } } ] box.states: [ State { name: "small" when: ((Screen.height * Screen.devicePixelRatio) + (Screen.width * Screen.devicePixelRatio)) < 2000 PropertyChanges { target: box implicitWidth: sugarText.width + 4 implicitHeight: sugarText.height + 2 } } ] sugarText.states: [ State { name: "small" when: ((Screen.height * Screen.devicePixelRatio) + (Screen.width * Screen.devicePixelRatio)) < 2000 PropertyChanges { target: sugarText font.pixelSize: 8 } } ] confirmButton.onClicked: appFlow.confirmButton() //! [synchronizer] Synchronizer { sourceObject: coffeeConfig sourceProperty: "sugarAmount" targetObject: sugarSlider targetProperty: "value" } //! [synchronizer] Synchronizer { sourceObject: coffeeConfig sourceProperty: "foamAmount" targetObject: foamSlider targetProperty: "value" } Synchronizer { sourceObject: coffeeConfig sourceProperty: "milkAmount" targetObject: milkSlider targetProperty: "value" } Synchronizer { sourceObject: coffeeConfig sourceProperty: "coffeeAmount" targetObject: coffeeSlider targetProperty: "value" } }