Browse Source

Ensure the control has active focus when clicking a SettingItem

This way we ensure that things update properly when for example changing
infill pattern.

Fixes CURA-1494
Arjen Hiemstra 8 years ago
parent
commit
e473d7a4e9

+ 9 - 5
resources/qml/Settings/SettingCategory.qml

@@ -24,9 +24,10 @@ Button {
     checkable: true
     checked: definition.expanded
 
-    onClicked: definition.expanded ? settingDefinitionsModel.collapse(definition.key) : settingDefinitionsModel.expandAll(definition.key)
+    onClicked: { forceActiveFocus(); definition.expanded ? settingDefinitionsModel.collapse(definition.key) : settingDefinitionsModel.expandAll(definition.key) }
 
-    UM.SimpleButton {
+    UM.SimpleButton
+    {
         id: settingsButton
 
         visible: base.hovered || settingsButton.hovered
@@ -60,7 +61,8 @@ Button {
         height: parent.height / 2
         width: height
 
-        onClicked: {
+        onClicked:
+        {
             base.showAllHiddenInheritedSettings()
         }
 
@@ -68,11 +70,13 @@ Button {
         hoverColor: UM.Theme.getColor("setting_control_button_hover")
         iconSource: UM.Theme.getIcon("notice")
 
-        onEntered: {
+        onEntered:
+        {
             base.showTooltip(catalog.i18nc("@label","Some hidden settings use values different from their normal calculated value.\n\nClick to make these settings visible."))
         }
 
-        onExited: {
+        onExited:
+        {
             base.hideTooltip();
         }
 

+ 1 - 1
resources/qml/Settings/SettingCheckBox.qml

@@ -31,7 +31,7 @@ SettingItem
             }
         }
 
-        onClicked: propertyProvider.setPropertyValue("value", !checked)
+        onClicked: { forceActiveFocus(); propertyProvider.setPropertyValue("value", !checked) }
 
         Rectangle
         {

+ 1 - 1
resources/qml/Settings/SettingComboBox.qml

@@ -86,7 +86,7 @@ SettingItem
             }
         }
 
-        onActivated: provider.setPropertyValue("value", definition.options[index].key)
+        onActivated: { forceActiveFocus(); provider.setPropertyValue("value", definition.options[index].key) }
         onModelChanged: updateCurrentIndex();
 
         Connections

+ 1 - 1
resources/qml/Settings/SettingExtruder.qml

@@ -102,7 +102,7 @@ SettingItem
             }
         }
 
-        onActivated: provider.setPropertyValue("value", extruders_model.getItem(index).index);
+        onActivated: { forceActiveFocus(); provider.setPropertyValue("value", extruders_model.getItem(index).index) };
         onModelChanged: updateCurrentIndex();
 
         Connections