Browse Source

Getting setting section sized properly

CURA-9793
Joey de l'Arago 2 years ago
parent
commit
eb13ac7f6b

+ 18 - 7
resources/qml/PrintSetupSelector/Recommended/RecommendedAdhesionSelector.qml

@@ -10,7 +10,6 @@ import Cura 1.0 as Cura
 RecommendedSettingSection
 {
     id: enableAdhesionRow
-    height: enableAdhesionContainer.height
 
     title: catalog.i18nc("@label", "Adhesion")
     icon: UM.Theme.getIcon("Adhesion")
@@ -20,17 +19,29 @@ RecommendedSettingSection
 
     property var curaRecommendedMode: Cura.RecommendedMode {}
 
-    function onEnableSectionChanged(state) {
-        curaRecommendedMode.setAdhesion(state)
-    }
-
-    UM.SettingPropertyProvider
+    property UM.SettingPropertyProvider platformAdhesionType: UM.SettingPropertyProvider
     {
-        id: platformAdhesionType
         containerStack: Cura.MachineManager.activeMachine
         removeUnusedValue: false //Doesn't work with settings that are resolved.
         key: "adhesion_type"
         watchedProperties: [ "value", "resolve", "enabled" ]
         storeIndex: 0
     }
+
+    function onEnableSectionChanged(state) {
+        curaRecommendedMode.setAdhesion(state)
+    }
+
+    contents: RecommendedSettingItem
+    {
+        settingName: catalog.i18nc("@action:label", "Print with")
+
+        settingControl: Rectangle
+        {
+            width: 20
+            height: 20
+            color: Qt.rgba(1, 0, 0, .5)
+        }
+    }
+
 }

+ 4 - 1
resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml

@@ -98,7 +98,10 @@ Item
             Layout.fillWidth: true
         }
 
-        RecommendedAdhesionSelector {}
+        RecommendedAdhesionSelector {
+            width: parent.width
+            Layout.fillWidth: true
+        }
     }
 
     UM.SettingPropertyProvider

+ 11 - 7
resources/qml/PrintSetupSelector/Recommended/RecommendedSettingItem.qml

@@ -11,26 +11,30 @@ import Cura 1.7 as Cura
 
 Item
 {
-    property Component content: Item { visible: false  }
+    width: parent.width
+    height: UM.Theme.getSize("section_header").height
+
+    property alias settingControl: settingContainer.children
     property alias settingName: settingLabel.text
+    property int leftColumnWidth: width / 2
 
     UM.Label
     {
         id: settingLabel
+        width: leftColumnWidth
         anchors.left: parent.left
         anchors.verticalCenter: parent.verticalCenter
-        text: "TEST"
+        // These numbers come from the IconWithText in RecommendedSettingSection
+        anchors.leftMargin: UM.Theme.getSize("medium_button_icon").width + UM.Theme.getSize("thick_margin").width - UM.Theme.getSize("thick_lining").width
     }
 
 
     Loader
     {
-        id: settingLoader
-        width: parent.width
-        height: content.height
+        id: settingContainer
+        height: childrenRect.height
         anchors.left: settingLabel.right
         anchors.right: parent.right
-        anchers.verticalCenter: parent.verticalCenter
-        sourceComponent: content
+        anchors.verticalCenter: parent.verticalCenter
     }
 }

+ 8 - 4
resources/qml/PrintSetupSelector/Recommended/RecommendedSettingSection.qml

@@ -20,15 +20,19 @@ Item
     property var enableSectionClicked: { return }
     property int leftColumnWidth: width / 2
 
+    property alias contents: settingColumn.children
+
     function onEnableSectionChanged(state) {}
 
     height: childrenRect.height
-    width: parent.width
-
 
     Item
     {
         id: sectionHeader
+        anchors.top: parent.top
+        anchors.right: parent.right
+        anchors.left: parent.left
+        height: UM.Theme.getSize("section_header").height
 
         Cura.IconWithText
         {
@@ -71,8 +75,8 @@ Item
     {
         id: contentLoader
         width: parent.width
-        height: content.height
-        anchors.left: settingLabel.right
+        height: childrenRect.height
+        anchors.left: parent.left
         anchors.right: parent.right
         anchors.verticalCenter: parent.verticalCenter
         sourceComponent: content