diff --git a/cura/PrinterOutput/ConfigurationModel.py b/cura/PrinterOutput/ConfigurationModel.py
index 89e609c913..f9d0c7e36b 100644
--- a/cura/PrinterOutput/ConfigurationModel.py
+++ b/cura/PrinterOutput/ConfigurationModel.py
@@ -54,7 +54,7 @@ class ConfigurationModel(QObject):
for configuration in self._extruder_configurations:
if configuration is None:
return False
- return self._printer_type is not None
+ return self._printer_type != ""
def __str__(self):
message_chunks = []
diff --git a/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml b/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml
index 7d09f4be38..86cb7f9acf 100644
--- a/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml
+++ b/resources/qml/Menus/ConfigurationMenu/ConfigurationMenu.qml
@@ -136,9 +136,9 @@ Cura.ExpandablePopup
onVisibleChanged:
{
- is_connected = Cura.MachineManager.activeMachineHasRemoteConnection && Cura.MachineManager.printerConnected //Re-evaluate.
+ is_connected = Cura.MachineManager.activeMachineHasRemoteConnection && Cura.MachineManager.printerConnected && Cura.MachineManager.printerOutputDevices[0].uniqueConfigurations.length > 0 //Re-evaluate.
- // If the printer is not connected, we switch always to the custom mode. If is connected instead, the auto mode
+ // If the printer is not connected or does not have configurations, we switch always to the custom mode. If is connected instead, the auto mode
// or the previous state is selected
configuration_method = is_connected ? (manual_selected_method == -1 ? ConfigurationMenu.ConfigurationMethod.Auto : manual_selected_method) : ConfigurationMenu.ConfigurationMethod.Custom
}
diff --git a/resources/qml/Menus/NetworkPrinterMenu.qml b/resources/qml/Menus/NetworkPrinterMenu.qml
index 3cb0aae016..41f3054e92 100644
--- a/resources/qml/Menus/NetworkPrinterMenu.qml
+++ b/resources/qml/Menus/NetworkPrinterMenu.qml
@@ -12,10 +12,18 @@ Instantiator
model: Cura.GlobalStacksModel {}
MenuItem
{
- text: model.metadata["connect_group_name"]
+ property string connectGroupName:
+ {
+ if("connect_group_name" in model.metadata)
+ {
+ return model.metadata["connect_group_name"]
+ }
+ return ""
+ }
+ text: connectGroupName
checkable: true
visible: model.hasRemoteConnection
- checked: Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"]
+ checked: Cura.MachineManager.activeMachineNetworkGroupName == connectGroupName
exclusiveGroup: group
onTriggered: Cura.MachineManager.setActiveMachine(model.id)
}
diff --git a/resources/qml/PrintSetupSelector/PrintSetupSelectorContents.qml b/resources/qml/PrintSetupSelector/PrintSetupSelectorContents.qml
index 0b8fb89311..7c82a7324d 100644
--- a/resources/qml/PrintSetupSelector/PrintSetupSelectorContents.qml
+++ b/resources/qml/PrintSetupSelector/PrintSetupSelectorContents.qml
@@ -77,7 +77,12 @@ Item
target: UM.Preferences
onPreferenceChanged:
{
- customPrintSetup.height = UM.Preferences.getValue("view/settings_list_height");
+ customPrintSetup.height =
+ Math.min
+ (
+ UM.Preferences.getValue("view/settings_list_height"),
+ base.height - (customPrintSetup.mapToItem(null, 0, 0).y + buttonRow.height + UM.Theme.getSize("default_margin").height)
+ );
}
}
visible: currentModeIndex == PrintSetupSelectorContents.Mode.Custom
diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml
index 6885f8c041..44b3abf7cd 100644
--- a/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml
+++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedPrintSetup.qml
@@ -68,6 +68,11 @@ Item
// TODO Create a reusable component with these properties to not define them separately for each component
labelColumnWidth: parent.firstColumnWidth
}
+
+ RecommendedTroubleshootingGuides
+ {
+ width: parent.width
+ }
}
UM.SettingPropertyProvider
diff --git a/resources/qml/PrintSetupSelector/Recommended/RecommendedTroubleshootingGuides.qml b/resources/qml/PrintSetupSelector/Recommended/RecommendedTroubleshootingGuides.qml
new file mode 100644
index 0000000000..846e343028
--- /dev/null
+++ b/resources/qml/PrintSetupSelector/Recommended/RecommendedTroubleshootingGuides.qml
@@ -0,0 +1,36 @@
+// Copyright (c) 2019 Ultimaker B.V.
+// Cura is released under the terms of the LGPLv3 or higher.
+
+import QtQuick 2.10
+import QtQuick.Controls 1.4
+import QtQuick.Controls.Styles 1.4
+
+import UM 1.2 as UM
+import Cura 1.0 as Cura
+
+
+Item
+{
+ id: tipsCell
+ anchors.top: adhesionCheckBox.visible ? adhesionCheckBox.bottom : (enableSupportCheckBox.visible ? supportExtruderCombobox.bottom : infillCellRight.bottom)
+ anchors.topMargin: Math.round(UM.Theme.getSize("sidebar_margin").height * 2)
+ anchors.left: parent.left
+ width: parent.width
+ height: tipsText.contentHeight * tipsText.lineCount
+
+ Label
+ {
+ id: tipsText
+ anchors.left: parent.left
+ anchors.leftMargin: UM.Theme.getSize("sidebar_margin").width
+ anchors.right: parent.right
+ anchors.rightMargin: UM.Theme.getSize("sidebar_margin").width
+ anchors.top: parent.top
+ wrapMode: Text.WordWrap
+ text: catalog.i18nc("@label", "Need help improving your prints?
Read the Ultimaker Troubleshooting Guides").arg("https://ultimaker.com/en/troubleshooting")
+ font: UM.Theme.getFont("default")
+ color: UM.Theme.getColor("text")
+ linkColor: UM.Theme.getColor("text_link")
+ onLinkActivated: Qt.openUrlExternally(link)
+ }
+}
\ No newline at end of file
diff --git a/resources/qml/PrinterSelector/MachineSelector.qml b/resources/qml/PrinterSelector/MachineSelector.qml
index 84f63a854a..cd5e041606 100644
--- a/resources/qml/PrinterSelector/MachineSelector.qml
+++ b/resources/qml/PrinterSelector/MachineSelector.qml
@@ -26,7 +26,14 @@ Cura.ExpandablePopup
headerItem: Cura.IconWithText
{
- text: isNetworkPrinter ? Cura.MachineManager.activeMachineNetworkGroupName : Cura.MachineManager.activeMachineName
+ text:
+ {
+ if (isNetworkPrinter && Cura.MachineManager.activeMachineNetworkGroupName != "")
+ {
+ return Cura.MachineManager.activeMachineNetworkGroupName
+ }
+ return Cura.MachineManager.activeMachineName
+ }
source:
{
if (isGroup)