mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-08-04 04:23:58 -06:00
Reenable Per Object Settings tool in simple mode if the current printer has multiextrusion
and tweak Per Object Settings panel size CURA-333
This commit is contained in:
parent
a6bb0c804a
commit
08411e943c
2 changed files with 31 additions and 5 deletions
|
@ -24,10 +24,20 @@ Item {
|
||||||
anchors.top: parent.top;
|
anchors.top: parent.top;
|
||||||
anchors.left: parent.left;
|
anchors.left: parent.left;
|
||||||
|
|
||||||
spacing: UM.Theme.getSize("default_margin").height;
|
spacing: UM.Theme.getSize("default_margin").height
|
||||||
|
|
||||||
Row
|
Row
|
||||||
{
|
{
|
||||||
|
spacing: UM.Theme.getSize("default_margin").width
|
||||||
|
Label
|
||||||
|
{
|
||||||
|
text: catalog.i18nc("@label", "Print object with")
|
||||||
|
anchors.verticalCenter: extruderSelector.verticalCenter
|
||||||
|
|
||||||
|
color: UM.Theme.getColor("setting_control_text")
|
||||||
|
font: UM.Theme.getFont("default")
|
||||||
|
visible: extruderSelector.visible
|
||||||
|
}
|
||||||
ComboBox
|
ComboBox
|
||||||
{
|
{
|
||||||
id: extruderSelector
|
id: extruderSelector
|
||||||
|
@ -40,7 +50,7 @@ Item {
|
||||||
}
|
}
|
||||||
visible: extruders_model.rowCount() > 1
|
visible: extruders_model.rowCount() > 1
|
||||||
textRole: "name"
|
textRole: "name"
|
||||||
width: items.width
|
width: UM.Theme.getSize("setting_control").width
|
||||||
height: UM.Theme.getSize("section").height
|
height: UM.Theme.getSize("section").height
|
||||||
MouseArea
|
MouseArea
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,10 +16,17 @@ class PerObjectSettingsTool(Tool):
|
||||||
|
|
||||||
self.setExposedProperties("SelectedObjectId", "ContainerID", "SelectedActiveExtruder")
|
self.setExposedProperties("SelectedObjectId", "ContainerID", "SelectedActiveExtruder")
|
||||||
|
|
||||||
Preferences.getInstance().preferenceChanged.connect(self._onPreferenceChanged)
|
self._advanced_mode = False
|
||||||
|
self._multi_extrusion = False
|
||||||
|
|
||||||
Selection.selectionChanged.connect(self.propertyChanged)
|
Selection.selectionChanged.connect(self.propertyChanged)
|
||||||
|
|
||||||
|
Preferences.getInstance().preferenceChanged.connect(self._onPreferenceChanged)
|
||||||
self._onPreferenceChanged("cura/active_mode")
|
self._onPreferenceChanged("cura/active_mode")
|
||||||
|
|
||||||
|
Application.getInstance().globalContainerStackChanged.connect(self._onGlobalContainerChanged)
|
||||||
|
self._onGlobalContainerChanged()
|
||||||
|
|
||||||
def event(self, event):
|
def event(self, event):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@ -55,5 +62,14 @@ class PerObjectSettingsTool(Tool):
|
||||||
|
|
||||||
def _onPreferenceChanged(self, preference):
|
def _onPreferenceChanged(self, preference):
|
||||||
if preference == "cura/active_mode":
|
if preference == "cura/active_mode":
|
||||||
enabled = Preferences.getInstance().getValue(preference)==1
|
self._advanced_mode = Preferences.getInstance().getValue(preference) == 1
|
||||||
Application.getInstance().getController().toolEnabledChanged.emit(self._plugin_id, enabled)
|
self._updateEnabled()
|
||||||
|
|
||||||
|
def _onGlobalContainerChanged(self):
|
||||||
|
global_container_stack = Application.getInstance().getGlobalContainerStack()
|
||||||
|
if global_container_stack:
|
||||||
|
self._multi_extrusion = global_container_stack.getProperty("machine_extruder_count", "value") > 1
|
||||||
|
self._updateEnabled()
|
||||||
|
|
||||||
|
def _updateEnabled(self):
|
||||||
|
Application.getInstance().getController().toolEnabledChanged.emit(self._plugin_id, self._advanced_mode or self._multi_extrusion)
|
Loading…
Add table
Add a link
Reference in a new issue