Browse Source

Category setting icon now becomes invible if clicked

CURA-2361
Jaime van Kessel 8 years ago
parent
commit
4f547fff8d

+ 6 - 0
cura/Settings/SettingInheritanceManager.py

@@ -34,6 +34,12 @@ class SettingInheritanceManager(QObject):
                 result.append(key)
                 result.append(key)
         return result
         return result
 
 
+    @pyqtSlot(str)
+    def manualRemoveOverride(self, key):
+        if key in self._settings_with_inheritance_warning:
+            self._settings_with_inheritance_warning.remove(key)
+            self.settingsWithIntheritanceChanged.emit()
+
     def _onActiveExtruderChanged(self):
     def _onActiveExtruderChanged(self):
         if self._active_container_stack:
         if self._active_container_stack:
             self._active_container_stack.propertyChanged.disconnect(self._onPropertyChanged)
             self._active_container_stack.propertyChanged.disconnect(self._onPropertyChanged)

+ 13 - 1
resources/qml/Settings/SettingCategory.qml

@@ -59,7 +59,19 @@ Button {
 
 
         visible:
         visible:
         {
         {
-            return Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0;
+            if(Cura.SettingInheritanceManager.settingsWithInheritanceWarning.indexOf(definition.key) >= 0)
+            {
+                var children_with_override = Cura.SettingInheritanceManager.getChildrenKeysWithOverride(definition.key)
+                for(var i = 0; i < children_with_override.length; i++)
+                {
+                    if(!settingDefinitionsModel.getVisible(children_with_override[i]))
+                    {
+                        return true
+                    }
+                }
+                return false
+            }
+            return false
         }
         }
 
 
         height: parent.height / 2
         height: parent.height / 2

+ 4 - 3
resources/qml/Settings/SettingView.qml

@@ -151,11 +151,12 @@ ScrollView
                 onHideTooltip: base.hideTooltip()
                 onHideTooltip: base.hideTooltip()
                 onShowAllHiddenInheritedSettings:
                 onShowAllHiddenInheritedSettings:
                 {
                 {
-                    var test = Cura.SettingInheritanceManager.getChildrenKeysWithOverride(category_id)
-                    for(var i = 0; i < test.length; i++)
+                    var children_with_override = Cura.SettingInheritanceManager.getChildrenKeysWithOverride(category_id)
+                    for(var i = 0; i < children_with_override.length; i++)
                     {
                     {
-                        definitionsModel.setVisible(test[i], true)
+                        definitionsModel.setVisible(children_with_override[i], true)
                     }
                     }
+                    Cura.SettingInheritanceManager.manualRemoveOverride(category_id)
                 }
                 }
             }
             }
         }
         }