mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-08 07:27:29 -06:00
Adds a global-only role to the SettingOverrideModel
Also adds a reload function Contributes to #CURA-458
This commit is contained in:
parent
2e5bac5392
commit
f8dbe056b2
1 changed files with 19 additions and 4 deletions
|
@ -1,7 +1,7 @@
|
||||||
# Copyright (c) 2015 Ultimaker B.V.
|
# Copyright (c) 2015 Ultimaker B.V.
|
||||||
# Uranium is released under the terms of the AGPLv3 or higher.
|
# Uranium is released under the terms of the AGPLv3 or higher.
|
||||||
|
|
||||||
from PyQt5.QtCore import Qt, pyqtSlot, QUrl
|
from PyQt5.QtCore import Qt, pyqtSlot, QUrl, pyqtSignal
|
||||||
|
|
||||||
from UM.Application import Application
|
from UM.Application import Application
|
||||||
from UM.Qt.ListModel import ListModel
|
from UM.Qt.ListModel import ListModel
|
||||||
|
@ -18,6 +18,7 @@ class SettingOverrideModel(ListModel):
|
||||||
OptionsRole = Qt.UserRole + 8
|
OptionsRole = Qt.UserRole + 8
|
||||||
WarningDescriptionRole = Qt.UserRole + 9
|
WarningDescriptionRole = Qt.UserRole + 9
|
||||||
ErrorDescriptionRole = Qt.UserRole + 10
|
ErrorDescriptionRole = Qt.UserRole + 10
|
||||||
|
GlobalOnlyRole = Qt.UserRole + 11
|
||||||
|
|
||||||
def __init__(self, node, parent = None):
|
def __init__(self, node, parent = None):
|
||||||
super().__init__(parent)
|
super().__init__(parent)
|
||||||
|
@ -38,6 +39,7 @@ class SettingOverrideModel(ListModel):
|
||||||
self.addRoleName(self.OptionsRole, "options")
|
self.addRoleName(self.OptionsRole, "options")
|
||||||
self.addRoleName(self.WarningDescriptionRole, "warning_description")
|
self.addRoleName(self.WarningDescriptionRole, "warning_description")
|
||||||
self.addRoleName(self.ErrorDescriptionRole, "error_description")
|
self.addRoleName(self.ErrorDescriptionRole, "error_description")
|
||||||
|
self.addRoleName(self.GlobalOnlyRole, "global_only")
|
||||||
|
|
||||||
@pyqtSlot(str, "QVariant")
|
@pyqtSlot(str, "QVariant")
|
||||||
def setSettingValue(self, key, value):
|
def setSettingValue(self, key, value):
|
||||||
|
@ -50,7 +52,6 @@ class SettingOverrideModel(ListModel):
|
||||||
if not self._node.getDecorator(SettingOverrideDecorator):
|
if not self._node.getDecorator(SettingOverrideDecorator):
|
||||||
self.clear()
|
self.clear()
|
||||||
return
|
return
|
||||||
|
|
||||||
self._decorator = self._node.getDecorator(SettingOverrideDecorator)
|
self._decorator = self._node.getDecorator(SettingOverrideDecorator)
|
||||||
self._decorator.settingAdded.connect(self._onSettingsChanged)
|
self._decorator.settingAdded.connect(self._onSettingsChanged)
|
||||||
self._decorator.settingRemoved.connect(self._onSettingsChanged)
|
self._decorator.settingRemoved.connect(self._onSettingsChanged)
|
||||||
|
@ -68,6 +69,20 @@ class SettingOverrideModel(ListModel):
|
||||||
model.appendItem({"value": str(value), "name": str(name)})
|
model.appendItem({"value": str(value), "name": str(name)})
|
||||||
return model
|
return model
|
||||||
|
|
||||||
|
@pyqtSlot()
|
||||||
|
def reload(self):
|
||||||
|
self.clear()
|
||||||
|
#if self._machine_instance:
|
||||||
|
#for category in self._machine_instance.getMachineDefinition().getAllCategories():
|
||||||
|
#self.appendItem({
|
||||||
|
#"id": category.getKey(),
|
||||||
|
#"name": category.getLabel(),
|
||||||
|
#"icon": category.getIcon(),
|
||||||
|
#"visible": category.isVisible(),
|
||||||
|
#"settings": SettingsFromCategoryModel.SettingsFromCategoryModel(category),
|
||||||
|
#"hiddenValuesCount": category.getHiddenValuesCount()
|
||||||
|
#})
|
||||||
|
|
||||||
def _onSettingsChanged(self):
|
def _onSettingsChanged(self):
|
||||||
self.clear()
|
self.clear()
|
||||||
|
|
||||||
|
@ -84,9 +99,9 @@ class SettingOverrideModel(ListModel):
|
||||||
"valid": setting.validate(value),
|
"valid": setting.validate(value),
|
||||||
"options": self._createOptionsModel(setting.getOptions()),
|
"options": self._createOptionsModel(setting.getOptions()),
|
||||||
"warning_description": setting.getWarningDescription(),
|
"warning_description": setting.getWarningDescription(),
|
||||||
"error_description": setting.getErrorDescription()
|
"error_description": setting.getErrorDescription(),
|
||||||
|
"global_only": setting.getGlobalOnly()
|
||||||
})
|
})
|
||||||
|
|
||||||
items.sort(key = lambda i: i["key"])
|
items.sort(key = lambda i: i["key"])
|
||||||
|
|
||||||
for item in items:
|
for item in items:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue