diff options
author | Jaime van Kessel <nallath@gmail.com> | 2018-10-31 16:23:42 +0300 |
---|---|---|
committer | Jaime van Kessel <nallath@gmail.com> | 2018-10-31 16:23:42 +0300 |
commit | 6256e3f24bab00f8e89c55a516689d7d9fe80544 (patch) | |
tree | 1dc4d81f1d5be7dacdd5fc2fc4d12af5d587e6af | |
parent | e963fd2d85f3b3f01cfb8efb5aaf983182a2e732 (diff) | |
parent | 4e083c7c29c46ebb6bab4063751062ecf3083dbe (diff) |
Merge branch 'feature_add_printer_layout' of https://github.com/fieldOfView/Cura
37 files changed, 111 insertions, 59 deletions
diff --git a/resources/definitions/3dator.def.json b/resources/definitions/3dator.def.json index 91f261906b..e91c46920b 100644 --- a/resources/definitions/3dator.def.json +++ b/resources/definitions/3dator.def.json @@ -7,7 +7,6 @@ "author": "3Dator GmbH", "manufacturer": "3Dator GmbH", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "supports_usb_connection": true, "platform": "3dator_platform.stl", "machine_extruder_trains": diff --git a/resources/definitions/anycubic_i3_mega.def.json b/resources/definitions/anycubic_i3_mega.def.json index a6c1567dc4..6597a91ec8 100644 --- a/resources/definitions/anycubic_i3_mega.def.json +++ b/resources/definitions/anycubic_i3_mega.def.json @@ -8,7 +8,6 @@ "author": "TheTobby", "manufacturer": "Anycubic", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "anycubic_i3_mega_platform.stl", "has_materials": false, "has_machine_quality": true, diff --git a/resources/definitions/deltacomb.def.json b/resources/definitions/deltacomb.def.json index 0c4cec3674..8fec0f8950 100755 --- a/resources/definitions/deltacomb.def.json +++ b/resources/definitions/deltacomb.def.json @@ -8,7 +8,6 @@ "manufacturer": "Deltacomb 3D", "category": "Other", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "deltacomb.stl", "has_machine_quality": true, "machine_extruder_trains": diff --git a/resources/definitions/fabtotum.def.json b/resources/definitions/fabtotum.def.json index 1908e42913..10c8f68844 100644 --- a/resources/definitions/fabtotum.def.json +++ b/resources/definitions/fabtotum.def.json @@ -9,7 +9,6 @@ "category": "Other", "file_formats": "text/x-gcode", "platform": "fabtotum_platform.stl", - "icon": "fabtotum_platform.png", "has_machine_quality": true, "has_variants": true, "variants_name": "Head", diff --git a/resources/definitions/grr_neo.def.json b/resources/definitions/grr_neo.def.json index 0153fc4c01..67d6a92023 100644 --- a/resources/definitions/grr_neo.def.json +++ b/resources/definitions/grr_neo.def.json @@ -7,7 +7,6 @@ "author": "Simon Cor", "manufacturer": "German RepRap", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker.png", "platform": "grr_neo_platform.stl", "machine_extruder_trains": { diff --git a/resources/definitions/kossel_mini.def.json b/resources/definitions/kossel_mini.def.json index 76fe72dac1..91f374fb6d 100644 --- a/resources/definitions/kossel_mini.def.json +++ b/resources/definitions/kossel_mini.def.json @@ -7,7 +7,6 @@ "author": "Claudio Sampaio (Patola)", "manufacturer": "Other", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "kossel_platform.stl", "platform_offset": [0, -0.25, 0], "machine_extruder_trains": diff --git a/resources/definitions/kossel_pro.def.json b/resources/definitions/kossel_pro.def.json index 9fadd0db91..e104538b2c 100644 --- a/resources/definitions/kossel_pro.def.json +++ b/resources/definitions/kossel_pro.def.json @@ -7,7 +7,6 @@ "author": "Chris Petersen", "manufacturer": "OpenBeam", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "kossel_pro_build_platform.stl", "platform_offset": [0, -0.25, 0], "machine_extruder_trains": diff --git a/resources/definitions/makeR_pegasus.def.json b/resources/definitions/makeR_pegasus.def.json index 9bd4547c9b..ac09aa01ac 100644 --- a/resources/definitions/makeR_pegasus.def.json +++ b/resources/definitions/makeR_pegasus.def.json @@ -7,7 +7,6 @@ "author": "makeR", "manufacturer": "makeR", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "makeR_pegasus_platform.stl", "platform_offset": [-200, -10, 200], "machine_extruder_trains": diff --git a/resources/definitions/makeR_prusa_tairona_i3.def.json b/resources/definitions/makeR_prusa_tairona_i3.def.json index d22af5c516..0e59874978 100644 --- a/resources/definitions/makeR_prusa_tairona_i3.def.json +++ b/resources/definitions/makeR_prusa_tairona_i3.def.json @@ -7,7 +7,6 @@ "author": "makeR", "manufacturer": "makeR", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "makeR_prusa_tairona_i3_platform.stl", "platform_offset": [-2, 0, 0], "machine_extruder_trains": diff --git a/resources/definitions/maker_starter.def.json b/resources/definitions/maker_starter.def.json index 8fb67623ed..be85e54967 100644 --- a/resources/definitions/maker_starter.def.json +++ b/resources/definitions/maker_starter.def.json @@ -7,7 +7,6 @@ "author": "tvlgiao", "manufacturer": "3DMaker", "file_formats": "text/x-gcode;application/x-stl-ascii;application/x-stl-binary;application/x-wavefront-obj", - "icon": "icon_ultimaker2.png", "platform": "makerstarter_platform.stl", "preferred_quality_type": "draft", "machine_extruder_trains": diff --git a/resources/definitions/prusa_i3.def.json b/resources/definitions/prusa_i3.def.json index c676f7fe96..1f0eb37aec 100644 --- a/resources/definitions/prusa_i3.def.json +++ b/resources/definitions/prusa_i3.def.json @@ -7,7 +7,6 @@ "author": "Quillford", "manufacturer": "Prusajr", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "prusai3_platform.stl", "machine_extruder_trains": { diff --git a/resources/definitions/prusa_i3_mk2.def.json b/resources/definitions/prusa_i3_mk2.def.json index 169eb6ffc2..5c5583b56f 100644 --- a/resources/definitions/prusa_i3_mk2.def.json +++ b/resources/definitions/prusa_i3_mk2.def.json @@ -7,7 +7,6 @@ "author": "Apsu, Nounours2099", "manufacturer": "Prusa Research", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "prusai3_platform.stl", "has_materials": true, "machine_extruder_trains": diff --git a/resources/definitions/prusa_i3_xl.def.json b/resources/definitions/prusa_i3_xl.def.json index eafed22df1..9931be5c72 100644 --- a/resources/definitions/prusa_i3_xl.def.json +++ b/resources/definitions/prusa_i3_xl.def.json @@ -7,7 +7,6 @@ "author": "guigashm", "manufacturer": "Prusajr", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "platform": "prusai3_xl_platform.stl", "machine_extruder_trains": { diff --git a/resources/definitions/seemecnc_artemis.def.json b/resources/definitions/seemecnc_artemis.def.json index aa788865df..ec92f528d7 100644 --- a/resources/definitions/seemecnc_artemis.def.json +++ b/resources/definitions/seemecnc_artemis.def.json @@ -7,7 +7,6 @@ "author": "PouncingIguana, JJ", "manufacturer": "SeeMeCNC", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "artemis_platform.stl", "has_materials": true, "machine_extruder_trains": diff --git a/resources/definitions/seemecnc_v32.def.json b/resources/definitions/seemecnc_v32.def.json index 5a855f67fc..d4316c25d9 100644 --- a/resources/definitions/seemecnc_v32.def.json +++ b/resources/definitions/seemecnc_v32.def.json @@ -7,7 +7,6 @@ "author": "PouncingIguana, JJ", "manufacturer": "SeeMeCNC", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "rostock_platform.stl", "has_materials": true, "machine_extruder_trains": diff --git a/resources/definitions/tevo_blackwidow.def.json b/resources/definitions/tevo_blackwidow.def.json index b193023867..25e7a2620d 100644 --- a/resources/definitions/tevo_blackwidow.def.json +++ b/resources/definitions/tevo_blackwidow.def.json @@ -7,7 +7,6 @@ "author": "TheTobby", "manufacturer": "Tevo", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "has_materials": false, "has_machine_quality": true, "platform": "tevo_blackwidow.stl", diff --git a/resources/definitions/tevo_tarantula.def.json b/resources/definitions/tevo_tarantula.def.json index 40d579552e..570ae24a3d 100644 --- a/resources/definitions/tevo_tarantula.def.json +++ b/resources/definitions/tevo_tarantula.def.json @@ -8,7 +8,6 @@ "author": "TheAssassin", "manufacturer": "Tevo", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "prusai3_platform.stl", "machine_extruder_trains": { diff --git a/resources/definitions/tevo_tornado.def.json b/resources/definitions/tevo_tornado.def.json index e121c8e097..cb3a6c45bd 100644 --- a/resources/definitions/tevo_tornado.def.json +++ b/resources/definitions/tevo_tornado.def.json @@ -7,7 +7,6 @@ "author": "nean", "manufacturer": "Tevo", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "has_materials": true, "machine_extruder_trains": { "0": "tevo_tornado_extruder_0" diff --git a/resources/definitions/ubuild-3d_mr_bot_280.def.json b/resources/definitions/ubuild-3d_mr_bot_280.def.json index 1b5cb1456c..29ffa4cd6f 100644 --- a/resources/definitions/ubuild-3d_mr_bot_280.def.json +++ b/resources/definitions/ubuild-3d_mr_bot_280.def.json @@ -9,7 +9,6 @@ "manufacturer": "uBuild-3D", "category": "Other", "file_formats": "text/x-gcode", - "icon": "icon_uBuild-3D", "platform": "mr_bot_280_platform.stl", "has_materials": true, "preferred_quality_type": "draft", diff --git a/resources/definitions/ultimaker2.def.json b/resources/definitions/ultimaker2.def.json index bbe61d49fb..4cc291ff45 100644 --- a/resources/definitions/ultimaker2.def.json +++ b/resources/definitions/ultimaker2.def.json @@ -8,7 +8,6 @@ "manufacturer": "Ultimaker B.V.", "weight": 3, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "platform": "ultimaker2_platform.obj", "platform_texture": "Ultimaker2backplate.png", "platform_offset": [9, 0, 0], diff --git a/resources/definitions/ultimaker2_extended.def.json b/resources/definitions/ultimaker2_extended.def.json index 39a1ca37b3..572634c602 100644 --- a/resources/definitions/ultimaker2_extended.def.json +++ b/resources/definitions/ultimaker2_extended.def.json @@ -8,7 +8,6 @@ "quality_definition": "ultimaker2", "weight": 3, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "platform": "ultimaker2_platform.obj", "platform_texture": "Ultimaker2Extendedbackplate.png", "machine_extruder_trains": diff --git a/resources/definitions/ultimaker2_go.def.json b/resources/definitions/ultimaker2_go.def.json index e2ad2b00a1..9e374b2c88 100644 --- a/resources/definitions/ultimaker2_go.def.json +++ b/resources/definitions/ultimaker2_go.def.json @@ -8,7 +8,6 @@ "quality_definition": "ultimaker2", "weight": 3, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "platform": "ultimaker2go_platform.obj", "platform_texture": "Ultimaker2Gobackplate.png", "platform_offset": [0, 0, 0], diff --git a/resources/definitions/ultimaker_original.def.json b/resources/definitions/ultimaker_original.def.json index 4714fc1217..6a978c47cb 100644 --- a/resources/definitions/ultimaker_original.def.json +++ b/resources/definitions/ultimaker_original.def.json @@ -8,7 +8,6 @@ "manufacturer": "Ultimaker B.V.", "weight": 4, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker.png", "platform": "ultimaker_platform.stl", "has_materials": true, "has_machine_quality": true, diff --git a/resources/definitions/ultimaker_original_dual.def.json b/resources/definitions/ultimaker_original_dual.def.json index 0dc1cb3d2d..999650aa28 100644 --- a/resources/definitions/ultimaker_original_dual.def.json +++ b/resources/definitions/ultimaker_original_dual.def.json @@ -8,7 +8,6 @@ "manufacturer": "Ultimaker B.V.", "weight": 4, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker.png", "platform": "ultimaker_platform.stl", "has_materials": true, "has_machine_quality": true, diff --git a/resources/definitions/ultimaker_original_plus.def.json b/resources/definitions/ultimaker_original_plus.def.json index 01523f34b7..5ad7ae66e8 100644 --- a/resources/definitions/ultimaker_original_plus.def.json +++ b/resources/definitions/ultimaker_original_plus.def.json @@ -7,7 +7,6 @@ "manufacturer": "Ultimaker B.V.", "weight": 4, "file_formats": "text/x-gcode", - "icon": "icon_ultimaker.png", "platform": "ultimaker2_platform.obj", "platform_texture": "UltimakerPlusbackplate.png", "quality_definition": "ultimaker_original", diff --git a/resources/definitions/uniqbot_one.def.json b/resources/definitions/uniqbot_one.def.json index 396e9687b8..5a33500b75 100644 --- a/resources/definitions/uniqbot_one.def.json +++ b/resources/definitions/uniqbot_one.def.json @@ -6,7 +6,6 @@ "author": "Unimatech", "manufacturer": "Unimatech", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2.png", "machine_extruder_trains": { "0": "uniqbot_one_extruder_0" diff --git a/resources/definitions/vertex_k8400.def.json b/resources/definitions/vertex_k8400.def.json index 0166729951..a3a3777547 100644 --- a/resources/definitions/vertex_k8400.def.json +++ b/resources/definitions/vertex_k8400.def.json @@ -6,7 +6,6 @@ "visible": true, "manufacturer": "Velleman", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "Vertex_build_panel.stl", "platform_offset": [0, -3, 0], "supports_usb_connection": true, diff --git a/resources/definitions/vertex_k8400_dual.def.json b/resources/definitions/vertex_k8400_dual.def.json index b22dabaa94..c7706135bd 100644 --- a/resources/definitions/vertex_k8400_dual.def.json +++ b/resources/definitions/vertex_k8400_dual.def.json @@ -6,7 +6,6 @@ "visible": true, "manufacturer": "Velleman", "file_formats": "text/x-gcode", - "icon": "icon_ultimaker2", "platform": "Vertex_build_panel.stl", "platform_offset": [0, -3, 0], "machine_extruder_trains": { diff --git a/resources/definitions/wanhao_d4s.def.json b/resources/definitions/wanhao_d4s.def.json index 1ae16a9d56..8788353e92 100644 --- a/resources/definitions/wanhao_d4s.def.json +++ b/resources/definitions/wanhao_d4s.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_225_145_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_d6.def.json b/resources/definitions/wanhao_d6.def.json index e269615c4a..7ca3031124 100644 --- a/resources/definitions/wanhao_d6.def.json +++ b/resources/definitions/wanhao_d6.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_200_200_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_d6_plus.def.json b/resources/definitions/wanhao_d6_plus.def.json index 04cb6fae9f..f17b58db85 100644 --- a/resources/definitions/wanhao_d6_plus.def.json +++ b/resources/definitions/wanhao_d6_plus.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_200_200_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_duplicator5S.def.json b/resources/definitions/wanhao_duplicator5S.def.json index 1ccc867876..1d29b90249 100644 --- a/resources/definitions/wanhao_duplicator5S.def.json +++ b/resources/definitions/wanhao_duplicator5S.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_300_200_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_duplicator5Smini.def.json b/resources/definitions/wanhao_duplicator5Smini.def.json index 774360f41e..e7f9359cf1 100644 --- a/resources/definitions/wanhao_duplicator5Smini.def.json +++ b/resources/definitions/wanhao_duplicator5Smini.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_300_200_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_i3.def.json b/resources/definitions/wanhao_i3.def.json index c349259cad..15121f8b8b 100644 --- a/resources/definitions/wanhao_i3.def.json +++ b/resources/definitions/wanhao_i3.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_200_200_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_i3mini.def.json b/resources/definitions/wanhao_i3mini.def.json index 4531483459..057fca81a6 100644 --- a/resources/definitions/wanhao_i3mini.def.json +++ b/resources/definitions/wanhao_i3mini.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_110_110_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/definitions/wanhao_i3plus.def.json b/resources/definitions/wanhao_i3plus.def.json index 5338fbeea2..2b705c6ff5 100644 --- a/resources/definitions/wanhao_i3plus.def.json +++ b/resources/definitions/wanhao_i3plus.def.json @@ -7,7 +7,6 @@ "author": "Ricardo Snoek", "manufacturer": "Wanhao", "file_formats": "text/x-gcode", - "icon": "wanhao-icon.png", "has_materials": true, "platform": "wanhao_200_200_platform.obj", "platform_texture": "Wanhaobackplate.png", diff --git a/resources/qml/AddMachineDialog.qml b/resources/qml/AddMachineDialog.qml index 2b49ce9c31..d3a6de51af 100644 --- a/resources/qml/AddMachineDialog.qml +++ b/resources/qml/AddMachineDialog.qml @@ -45,10 +45,46 @@ UM.Dialog } signal machineAdded(string id) + function getMachineName() { - var name = machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).name : "" - return name + return machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).name : ""; + } + + function getMachineMetaDataEntry(key) + { + var metadata = machineList.model.getItem(machineList.currentIndex) != undefined ? machineList.model.getItem(machineList.currentIndex).metadata : undefined; + if (metadata) + { + return metadata[key]; + } + return undefined; + } + Label { + id: titleLabel + + anchors { + top: parent.top + left: parent.left + topMargin: UM.Theme.getSize("default_margin") + } + text: catalog.i18nc("@title:tab", "Add a printer to Cura") + + font.pointSize: 18 + } + + Label + { + id: captionLabel + anchors + { + left: parent.left + top: titleLabel.bottom + topMargin: UM.Theme.getSize("default_margin").height + } + text: catalog.i18nc("@title:tab", "Select the printer you want to use from the list below.\n\nIf your printer is not in the list, use the \"Custom FFF Printer\" from the \"Custom\" category and match adjust the settings to match your printer in the next dialog.") + width: parent.width + wrapMode: Text.WordWrap } ScrollView @@ -57,13 +93,21 @@ UM.Dialog anchors { - left: parent.left; - top: parent.top; - right: parent.right; - bottom: machineNameRow.top; + top: captionLabel.visible ? captionLabel.bottom : parent.top; + topMargin: captionLabel.visible ? UM.Theme.getSize("default_margin").height : 0; + bottom: addPrinterButton.top; bottomMargin: UM.Theme.getSize("default_margin").height } + width: Math.round(parent.width * 0.45) + + frameVisible: true; + Rectangle { + parent: viewport + anchors.fill: parent + color: palette.light + } + ListView { id: machineList @@ -184,32 +228,76 @@ UM.Dialog } } - Row + Column { - id: machineNameRow - anchors.bottom:parent.bottom - spacing: UM.Theme.getSize("default_margin").width - - Label + anchors { - text: catalog.i18nc("@label", "Printer Name:") - anchors.verticalCenter: machineName.verticalCenter + top: machinesHolder.top + left: machinesHolder.right + right: parent.right + leftMargin: UM.Theme.getSize("default_margin").width } - TextField + spacing: UM.Theme.getSize("default_margin").height + Label { - id: machineName + width: parent.width + wrapMode: Text.WordWrap text: getMachineName() - implicitWidth: UM.Theme.getSize("standard_list_input").width - maximumLength: 40 - //validator: Cura.MachineNameValidator { } //TODO: Gives a segfault in PyQt5.6. For now, we must use a signal on text changed. - validator: RegExpValidator + font.pointSize: 16 + elide: Text.ElideRight + } + Grid + { + width: parent.width + columns: 2 + rowSpacing: UM.Theme.getSize("default_lining").height + columnSpacing: UM.Theme.getSize("default_margin").width + verticalItemAlignment: Grid.AlignVCenter + + Label { - regExp: { - machineName.machine_name_validator.machineNameRegex + wrapMode: Text.WordWrap + text: catalog.i18nc("@label", "Manufacturer") + } + Label + { + width: Math.floor(parent.width * 0.65) + wrapMode: Text.WordWrap + text: getMachineMetaDataEntry("manufacturer") + } + Label + { + wrapMode: Text.WordWrap + text: catalog.i18nc("@label", "Author") + } + Label + { + width: Math.floor(parent.width * 0.75) + wrapMode: Text.WordWrap + text: getMachineMetaDataEntry("author") + } + Label + { + wrapMode: Text.WordWrap + text: catalog.i18nc("@label", "Printer Name") + } + TextField + { + id: machineName + text: getMachineName() + width: Math.floor(parent.width * 0.75) + implicitWidth: UM.Theme.getSize("standard_list_input").width + maximumLength: 40 + //validator: Cura.MachineNameValidator { } //TODO: Gives a segfault in PyQt5.6. For now, we must use a signal on text changed. + validator: RegExpValidator + { + regExp: { + machineName.machine_name_validator.machineNameRegex + } } + property var machine_name_validator: Cura.MachineNameValidator { } } - property var machine_name_validator: Cura.MachineNameValidator { } } } |