mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-06 14:37:29 -06:00
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:
parent
ac05843831
commit
245eec9314
3 changed files with 14 additions and 0 deletions
|
@ -302,12 +302,14 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
|
|||
break
|
||||
|
||||
num_visible_settings = 0
|
||||
has_visible_settings_string = False
|
||||
try:
|
||||
temp_preferences = Preferences()
|
||||
serialized = archive.open("Cura/preferences.cfg").read().decode("utf-8")
|
||||
temp_preferences.deserialize(serialized)
|
||||
|
||||
visible_settings_string = temp_preferences.getValue("general/visible_settings")
|
||||
has_visible_settings_string = visible_settings_string is not None
|
||||
if visible_settings_string is not None:
|
||||
num_visible_settings = len(visible_settings_string.split(";"))
|
||||
active_mode = temp_preferences.getValue("cura/active_mode")
|
||||
|
@ -334,6 +336,7 @@ class ThreeMFWorkspaceReader(WorkspaceReader):
|
|||
self._dialog.setQualityChangesConflict(quality_changes_conflict)
|
||||
self._dialog.setDefinitionChangesConflict(definition_changes_conflict)
|
||||
self._dialog.setMaterialConflict(material_conflict)
|
||||
self._dialog.setHasVisibleSettingsField(has_visible_settings_string)
|
||||
self._dialog.setNumVisibleSettings(num_visible_settings)
|
||||
self._dialog.setQualityName(quality_name)
|
||||
self._dialog.setQualityType(quality_type)
|
||||
|
|
|
@ -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())
|
||||
|
|
|
@ -331,6 +331,7 @@ UM.Dialog
|
|||
{
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
visible: manager.hasVisibleSettingsField
|
||||
Label
|
||||
{
|
||||
text: catalog.i18nc("@action:label", "Visible settings:")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue