Hide settings visibility row if it is not in preferences

CURA-4344

Hide the row which shows the number of settings that are visible on the
project file loading dialog if this information is not available.
This commit is contained in:
Lipu Fei 2017-10-10 11:31:36 +02:00
parent ac05843831
commit 245eec9314
3 changed files with 14 additions and 0 deletions

View file

@ -38,6 +38,7 @@ class WorkspaceDialog(QObject):
self._has_definition_changes_conflict = False
self._has_machine_conflict = False
self._has_material_conflict = False
self._has_visible_settings_field = False
self._num_visible_settings = 0
self._num_user_settings = 0
self._active_mode = ""
@ -58,6 +59,7 @@ class WorkspaceDialog(QObject):
numVisibleSettingsChanged = pyqtSignal()
activeModeChanged = pyqtSignal()
qualityNameChanged = pyqtSignal()
hasVisibleSettingsFieldChanged = pyqtSignal()
numSettingsOverridenByQualityChangesChanged = pyqtSignal()
qualityTypeChanged = pyqtSignal()
machineNameChanged = pyqtSignal()
@ -167,6 +169,14 @@ class WorkspaceDialog(QObject):
self._active_mode = i18n_catalog.i18nc("@title:tab", "Custom")
self.activeModeChanged.emit()
@pyqtProperty(int, notify = hasVisibleSettingsFieldChanged)
def hasVisibleSettingsField(self):
return self._has_visible_settings_field
def setHasVisibleSettingsField(self, has_visible_settings_field):
self._has_visible_settings_field = has_visible_settings_field
self.hasVisibleSettingsFieldChanged.emit()
@pyqtProperty(int, constant = True)
def totalNumberOfSettings(self):
return len(ContainerRegistry.getInstance().findDefinitionContainers(id="fdmprinter")[0].getAllKeys())