Merge branch '4.0' into unify_font_types

This commit is contained in:
Diego Prado Gesto 2018-12-19 11:56:22 +01:00
commit ef2fb53790
141 changed files with 1872 additions and 3377 deletions

View file

@ -5,8 +5,8 @@
"package_type": "plugin",
"display_name": "3MF Reader",
"description": "Provides support for reading 3MF files.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -22,8 +22,8 @@
"package_type": "plugin",
"display_name": "3MF Writer",
"description": "Provides support for writing 3MF files.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -39,8 +39,8 @@
"package_type": "plugin",
"display_name": "Change Log",
"description": "Shows changes since latest checked version.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -56,8 +56,8 @@
"package_type": "plugin",
"display_name": "CuraEngine Backend",
"description": "Provides the link to the CuraEngine slicing backend.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -73,8 +73,8 @@
"package_type": "plugin",
"display_name": "Cura Profile Reader",
"description": "Provides support for importing Cura profiles.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -90,8 +90,8 @@
"package_type": "plugin",
"display_name": "Cura Profile Writer",
"description": "Provides support for exporting Cura profiles.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -107,8 +107,8 @@
"package_type": "plugin",
"display_name": "Firmware Update Checker",
"description": "Checks for firmware updates.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -124,8 +124,8 @@
"package_type": "plugin",
"display_name": "Firmware Updater",
"description": "Provides a machine actions for updating firmware.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -141,8 +141,8 @@
"package_type": "plugin",
"display_name": "Compressed G-code Reader",
"description": "Reads g-code from a compressed archive.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -158,8 +158,8 @@
"package_type": "plugin",
"display_name": "Compressed G-code Writer",
"description": "Writes g-code to a compressed archive.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -175,8 +175,8 @@
"package_type": "plugin",
"display_name": "G-Code Profile Reader",
"description": "Provides support for importing profiles from g-code files.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -192,8 +192,8 @@
"package_type": "plugin",
"display_name": "G-Code Reader",
"description": "Allows loading and displaying G-code files.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "VictorLarchenko",
@ -209,8 +209,8 @@
"package_type": "plugin",
"display_name": "G-Code Writer",
"description": "Writes g-code to a file.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -226,8 +226,8 @@
"package_type": "plugin",
"display_name": "Image Reader",
"description": "Enables ability to generate printable geometry from 2D image files.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -243,8 +243,8 @@
"package_type": "plugin",
"display_name": "Legacy Cura Profile Reader",
"description": "Provides support for importing profiles from legacy Cura versions.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -260,8 +260,8 @@
"package_type": "plugin",
"display_name": "Machine Settings Action",
"description": "Provides a way to change machine settings (such as build volume, nozzle size, etc.).",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "fieldOfView",
@ -277,8 +277,8 @@
"package_type": "plugin",
"display_name": "Model Checker",
"description": "Checks models and print configuration for possible printing issues and give suggestions.",
"package_version": "0.1.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -294,8 +294,8 @@
"package_type": "plugin",
"display_name": "Monitor Stage",
"description": "Provides a monitor stage in Cura.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -311,8 +311,8 @@
"package_type": "plugin",
"display_name": "Per-Object Settings Tool",
"description": "Provides the per-model settings.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -328,8 +328,8 @@
"package_type": "plugin",
"display_name": "Post Processing",
"description": "Extension that allows for user created scripts for post processing.",
"package_version": "2.2.0",
"sdk_version": 5,
"package_version": "2.2.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -345,8 +345,8 @@
"package_type": "plugin",
"display_name": "Prepare Stage",
"description": "Provides a prepare stage in Cura.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -362,8 +362,8 @@
"package_type": "plugin",
"display_name": "Preview Stage",
"description": "Provides a preview stage in Cura.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -379,8 +379,8 @@
"package_type": "plugin",
"display_name": "Removable Drive Output Device",
"description": "Provides removable drive hotplugging and writing support.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -396,8 +396,8 @@
"package_type": "plugin",
"display_name": "Simulation View",
"description": "Provides the Simulation view.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -413,8 +413,8 @@
"package_type": "plugin",
"display_name": "Slice Info",
"description": "Submits anonymous slice info. Can be disabled through preferences.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -430,8 +430,8 @@
"package_type": "plugin",
"display_name": "Solid View",
"description": "Provides a normal solid mesh view.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -447,8 +447,8 @@
"package_type": "plugin",
"display_name": "Support Eraser Tool",
"description": "Creates an eraser mesh to block the printing of support in certain places.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -464,8 +464,8 @@
"package_type": "plugin",
"display_name": "Toolbox",
"description": "Find, manage and install new Cura packages.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -481,8 +481,8 @@
"package_type": "plugin",
"display_name": "UFP Writer",
"description": "Provides support for writing Ultimaker Format Packages.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -498,8 +498,8 @@
"package_type": "plugin",
"display_name": "Ultimaker Machine Actions",
"description": "Provides machine actions for Ultimaker machines (such as bed leveling wizard, selecting upgrades, etc.).",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -515,8 +515,8 @@
"package_type": "plugin",
"display_name": "UM3 Network Printing",
"description": "Manages network connections to Ultimaker 3 printers.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -532,8 +532,8 @@
"package_type": "plugin",
"display_name": "USB Printing",
"description": "Accepts G-Code and sends them to a printer. Plugin can also update firmware.",
"package_version": "1.0.1",
"sdk_version": 5,
"package_version": "1.0.2",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -549,8 +549,8 @@
"package_type": "plugin",
"display_name": "User Agreement",
"description": "Ask the user once if he/she agrees with our license.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -566,8 +566,8 @@
"package_type": "plugin",
"display_name": "Version Upgrade 2.1 to 2.2",
"description": "Upgrades configurations from Cura 2.1 to Cura 2.2.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -583,8 +583,8 @@
"package_type": "plugin",
"display_name": "Version Upgrade 2.2 to 2.4",
"description": "Upgrades configurations from Cura 2.2 to Cura 2.4.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -600,8 +600,8 @@
"package_type": "plugin",
"display_name": "Version Upgrade 2.5 to 2.6",
"description": "Upgrades configurations from Cura 2.5 to Cura 2.6.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -617,8 +617,8 @@
"package_type": "plugin",
"display_name": "Version Upgrade 2.6 to 2.7",
"description": "Upgrades configurations from Cura 2.6 to Cura 2.7.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -634,8 +634,8 @@
"package_type": "plugin",
"display_name": "Version Upgrade 2.7 to 3.0",
"description": "Upgrades configurations from Cura 2.7 to Cura 3.0.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -651,8 +651,8 @@
"package_type": "plugin",
"display_name": "Version Upgrade 3.0 to 3.1",
"description": "Upgrades configurations from Cura 3.0 to Cura 3.1.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -668,8 +668,8 @@
"package_type": "plugin",
"display_name": "Version Upgrade 3.2 to 3.3",
"description": "Upgrades configurations from Cura 3.2 to Cura 3.3.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -685,8 +685,8 @@
"package_type": "plugin",
"display_name": "Version Upgrade 3.3 to 3.4",
"description": "Upgrades configurations from Cura 3.3 to Cura 3.4.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -702,8 +702,8 @@
"package_type": "plugin",
"display_name": "Version Upgrade 3.4 to 3.5",
"description": "Upgrades configurations from Cura 3.4 to Cura 3.5.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -719,8 +719,8 @@
"package_type": "plugin",
"display_name": "X3D Reader",
"description": "Provides support for reading X3D files.",
"package_version": "0.5.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "SevaAlekseyev",
@ -736,8 +736,8 @@
"package_type": "plugin",
"display_name": "XML Material Profiles",
"description": "Provides capabilities to read and write XML-based material profiles.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -753,8 +753,8 @@
"package_type": "plugin",
"display_name": "X-Ray View",
"description": "Provides the X-Ray view.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
@ -770,8 +770,8 @@
"package_type": "material",
"display_name": "Generic ABS",
"description": "The generic ABS profile which other profiles can be based upon.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -788,8 +788,8 @@
"package_type": "material",
"display_name": "Generic BAM",
"description": "The generic BAM profile which other profiles can be based upon.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -806,8 +806,8 @@
"package_type": "material",
"display_name": "Generic CFF CPE",
"description": "The generic CFF CPE profile which other profiles can be based upon.",
"package_version": "1.1.0",
"sdk_version": 5,
"package_version": "1.1.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -824,8 +824,8 @@
"package_type": "material",
"display_name": "Generic CFF PA",
"description": "The generic CFF PA profile which other profiles can be based upon.",
"package_version": "1.1.0",
"sdk_version": 5,
"package_version": "1.1.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -842,8 +842,8 @@
"package_type": "material",
"display_name": "Generic CPE",
"description": "The generic CPE profile which other profiles can be based upon.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -860,8 +860,8 @@
"package_type": "material",
"display_name": "Generic CPE+",
"description": "The generic CPE+ profile which other profiles can be based upon.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -878,8 +878,8 @@
"package_type": "material",
"display_name": "Generic GFF CPE",
"description": "The generic GFF CPE profile which other profiles can be based upon.",
"package_version": "1.1.0",
"sdk_version": 5,
"package_version": "1.1.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -896,8 +896,8 @@
"package_type": "material",
"display_name": "Generic GFF PA",
"description": "The generic GFF PA profile which other profiles can be based upon.",
"package_version": "1.1.0",
"sdk_version": 5,
"package_version": "1.1.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -914,8 +914,8 @@
"package_type": "material",
"display_name": "Generic HIPS",
"description": "The generic HIPS profile which other profiles can be based upon.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -932,8 +932,8 @@
"package_type": "material",
"display_name": "Generic Nylon",
"description": "The generic Nylon profile which other profiles can be based upon.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -950,8 +950,8 @@
"package_type": "material",
"display_name": "Generic PC",
"description": "The generic PC profile which other profiles can be based upon.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -968,8 +968,8 @@
"package_type": "material",
"display_name": "Generic PETG",
"description": "The generic PETG profile which other profiles can be based upon.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -986,8 +986,8 @@
"package_type": "material",
"display_name": "Generic PLA",
"description": "The generic PLA profile which other profiles can be based upon.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -1004,8 +1004,8 @@
"package_type": "material",
"display_name": "Generic PP",
"description": "The generic PP profile which other profiles can be based upon.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -1022,8 +1022,8 @@
"package_type": "material",
"display_name": "Generic PVA",
"description": "The generic PVA profile which other profiles can be based upon.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -1040,8 +1040,8 @@
"package_type": "material",
"display_name": "Generic Tough PLA",
"description": "The generic Tough PLA profile which other profiles can be based upon.",
"package_version": "1.0.1",
"sdk_version": 5,
"package_version": "1.0.2",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -1058,8 +1058,8 @@
"package_type": "material",
"display_name": "Generic TPU",
"description": "The generic TPU profile which other profiles can be based upon.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://github.com/Ultimaker/fdm_materials",
"author": {
"author_id": "Generic",
@ -1076,8 +1076,8 @@
"package_type": "material",
"display_name": "Dagoma Chromatik PLA",
"description": "Filament testé et approuvé pour les imprimantes 3D Dagoma. Chromatik est l'idéal pour débuter et suivre les tutoriels premiers pas. Il vous offre qualité et résistance pour chacune de vos impressions.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://dagoma.fr/boutique/filaments.html",
"author": {
"author_id": "Dagoma",
@ -1093,8 +1093,8 @@
"package_type": "material",
"display_name": "FABtotum ABS",
"description": "This material is easy to be extruded but it is not the simplest to use. It is one of the most used in 3D printing to get very well finished objects. It is not sustainable and its smoke can be dangerous if inhaled. The reason to prefer this filament to PLA is mainly because of its precision and mechanical specs. ABS (for plastic) stands for Acrylonitrile Butadiene Styrene and it is a thermoplastic which is widely used in everyday objects. It can be printed with any FFF 3D printer which can get to high temperatures as it must be extruded in a range between 220° and 245°, so its compatible with all versions of the FABtotum Personal fabricator.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=40",
"author": {
"author_id": "FABtotum",
@ -1110,8 +1110,8 @@
"package_type": "material",
"display_name": "FABtotum Nylon",
"description": "When 3D printing started this material was not listed among the extrudable filaments. It is flexible as well as resistant to tractions. It is well known for its uses in textile but also in industries which require a strong and flexible material. There are different kinds of Nylon: 3D printing mostly uses Nylon 6 and Nylon 6.6, which are the most common. It requires higher temperatures to be printed, so a 3D printer must be able to reach them (around 240°C): the FABtotum, of course, can.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=53",
"author": {
"author_id": "FABtotum",
@ -1127,8 +1127,8 @@
"package_type": "material",
"display_name": "FABtotum PLA",
"description": "It is the most common filament used for 3D printing. It is studied to be bio-degradable as it comes from corn starchs sugar mainly. It is completely made of renewable sources and has no footprint on polluting. PLA stands for PolyLactic Acid and it is a thermoplastic that today is still considered the easiest material to be 3D printed. It can be extruded at lower temperatures: the standard range of FABtotums one is between 185° and 195°.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=39",
"author": {
"author_id": "FABtotum",
@ -1144,8 +1144,8 @@
"package_type": "material",
"display_name": "FABtotum TPU Shore 98A",
"description": "",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://store.fabtotum.com/eu/products/filaments.html?filament_type=66",
"author": {
"author_id": "FABtotum",
@ -1161,8 +1161,8 @@
"package_type": "material",
"display_name": "Fiberlogy HD PLA",
"description": "With our HD PLA you have many more options. You can use this material in two ways. Choose the one you like best. You can use it as a normal PLA and get prints characterized by a very good adhesion between the layers and high precision. You can also make your prints acquire similar properties to that of ABS better impact resistance and high temperature resistance. All you need is an oven. Yes, an oven! By annealing our HD PLA in an oven, in accordance with the manual, you will avoid all the inconveniences of printing with ABS, such as unpleasant odour or hazardous fumes.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "http://fiberlogy.com/en/fiberlogy-filaments/filament-hd-pla/",
"author": {
"author_id": "Fiberlogy",
@ -1178,8 +1178,8 @@
"package_type": "material",
"display_name": "Filo3D PLA",
"description": "Fast, safe and reliable printing. PLA is ideal for the fast and reliable printing of parts and prototypes with a great surface quality.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://dagoma.fr",
"author": {
"author_id": "Dagoma",
@ -1195,8 +1195,8 @@
"package_type": "material",
"display_name": "IMADE3D JellyBOX PETG",
"description": "",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "http://shop.imade3d.com/filament.html",
"author": {
"author_id": "IMADE3D",
@ -1212,8 +1212,8 @@
"package_type": "material",
"display_name": "IMADE3D JellyBOX PLA",
"description": "",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "http://shop.imade3d.com/filament.html",
"author": {
"author_id": "IMADE3D",
@ -1229,8 +1229,8 @@
"package_type": "material",
"display_name": "Octofiber PLA",
"description": "PLA material from Octofiber.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://nl.octofiber.com/3d-printing-filament/pla.html",
"author": {
"author_id": "Octofiber",
@ -1246,8 +1246,8 @@
"package_type": "material",
"display_name": "PolyFlex™ PLA",
"description": "PolyFlex™ is a highly flexible yet easy to print 3D printing material. Featuring good elasticity and a large strain-to- failure, PolyFlex™ opens up a completely new realm of applications.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "http://www.polymaker.com/shop/polyflex/",
"author": {
"author_id": "Polymaker",
@ -1263,8 +1263,8 @@
"package_type": "material",
"display_name": "PolyMax™ PLA",
"description": "PolyMax™ PLA is a 3D printing material with excellent mechanical properties and printing quality. PolyMax™ PLA has an impact resistance of up to nine times that of regular PLA, and better overall mechanical properties than ABS.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "http://www.polymaker.com/shop/polymax/",
"author": {
"author_id": "Polymaker",
@ -1280,8 +1280,8 @@
"package_type": "material",
"display_name": "PolyPlus™ PLA True Colour",
"description": "PolyPlus™ PLA is a premium PLA designed for all desktop FDM/FFF 3D printers. It is produced with our patented Jam-Free™ technology that ensures consistent extrusion and prevents jams.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "http://www.polymaker.com/shop/polyplus-true-colour/",
"author": {
"author_id": "Polymaker",
@ -1297,8 +1297,8 @@
"package_type": "material",
"display_name": "PolyWood™ PLA",
"description": "PolyWood™ is a wood mimic printing material that contains no actual wood ensuring a clean Jam-Free™ printing experience.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "http://www.polymaker.com/shop/polywood/",
"author": {
"author_id": "Polymaker",
@ -1314,8 +1314,8 @@
"package_type": "material",
"display_name": "Ultimaker ABS",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/abs",
"author": {
"author_id": "UltimakerPackages",
@ -1333,8 +1333,8 @@
"package_type": "material",
"display_name": "Ultimaker Breakaway",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/breakaway",
"author": {
"author_id": "UltimakerPackages",
@ -1352,8 +1352,8 @@
"package_type": "material",
"display_name": "Ultimaker CPE",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/abs",
"author": {
"author_id": "UltimakerPackages",
@ -1371,8 +1371,8 @@
"package_type": "material",
"display_name": "Ultimaker CPE+",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/cpe",
"author": {
"author_id": "UltimakerPackages",
@ -1390,8 +1390,8 @@
"package_type": "material",
"display_name": "Ultimaker Nylon",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/abs",
"author": {
"author_id": "UltimakerPackages",
@ -1409,8 +1409,8 @@
"package_type": "material",
"display_name": "Ultimaker PC",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/pc",
"author": {
"author_id": "UltimakerPackages",
@ -1428,8 +1428,8 @@
"package_type": "material",
"display_name": "Ultimaker PLA",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/abs",
"author": {
"author_id": "UltimakerPackages",
@ -1447,8 +1447,8 @@
"package_type": "material",
"display_name": "Ultimaker PP",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/pp",
"author": {
"author_id": "UltimakerPackages",
@ -1466,8 +1466,8 @@
"package_type": "material",
"display_name": "Ultimaker PVA",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/abs",
"author": {
"author_id": "UltimakerPackages",
@ -1485,8 +1485,8 @@
"package_type": "material",
"display_name": "Ultimaker TPU 95A",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.2.0",
"sdk_version": 5,
"package_version": "1.2.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/tpu-95a",
"author": {
"author_id": "UltimakerPackages",
@ -1504,8 +1504,8 @@
"package_type": "material",
"display_name": "Ultimaker Tough PLA",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.0.2",
"sdk_version": 5,
"package_version": "1.0.3",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/tough-pla",
"author": {
"author_id": "UltimakerPackages",
@ -1523,8 +1523,8 @@
"package_type": "material",
"display_name": "Vertex Delta ABS",
"description": "ABS material and quality files for the Delta Vertex K8800.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://vertex3dprinter.eu",
"author": {
"author_id": "Velleman",
@ -1540,8 +1540,8 @@
"package_type": "material",
"display_name": "Vertex Delta PET",
"description": "ABS material and quality files for the Delta Vertex K8800.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://vertex3dprinter.eu",
"author": {
"author_id": "Velleman",
@ -1557,8 +1557,8 @@
"package_type": "material",
"display_name": "Vertex Delta PLA",
"description": "ABS material and quality files for the Delta Vertex K8800.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://vertex3dprinter.eu",
"author": {
"author_id": "Velleman",
@ -1574,8 +1574,8 @@
"package_type": "material",
"display_name": "Vertex Delta TPU",
"description": "ABS material and quality files for the Delta Vertex K8800.",
"package_version": "1.0.0",
"sdk_version": 5,
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://vertex3dprinter.eu",
"author": {
"author_id": "Velleman",

View file

@ -3385,7 +3385,7 @@
"retraction_combing":
{
"label": "Combing Mode",
"description": "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas and also to only comb within the infill. Note that the 'Within Infill' option behaves exactly like the 'Not in Skin' option in earlier Cura releases.",
"description": "Combing keeps the nozzle within already printed areas when traveling. This results in slightly longer travel moves but reduces the need for retractions. If combing is off, the material will retract and the nozzle moves in a straight line to the next point. It is also possible to avoid combing over top/bottom skin areas or to only comb within the infill.",
"type": "enum",
"options":
{

View file

@ -16,7 +16,8 @@
{
"0": "ultimaker_original_plus_extruder_0"
},
"firmware_file": "MarlinUltimaker-UMOP-{baudrate}.hex"
"firmware_file": "MarlinUltimaker-UMOP-{baudrate}.hex",
"firmware_hbk_file": "MarlinUltimaker-UMOP-{baudrate}.hex"
},
"overrides": {

View file

@ -43,12 +43,13 @@ Button
contentItem: Row
{
spacing: UM.Theme.getSize("narrow_margin").width
//Left side icon. Only displayed if !isIconOnRightSide.
UM.RecolorImage
{
id: buttonIconLeft
source: ""
height: buttonText.height
height: UM.Theme.getSize("action_button_icon").height
width: visible ? height : 0
sourceSize.width: width
sourceSize.height: height
@ -76,7 +77,7 @@ Button
{
id: buttonIconRight
source: buttonIconLeft.source
height: buttonText.height
height: UM.Theme.getSize("action_button_icon").height
width: visible ? height : 0
sourceSize.width: width
sourceSize.height: height

View file

@ -12,6 +12,12 @@ Item
{
id: widget
function requestWriteToDevice()
{
UM.OutputDeviceManager.requestWriteToDevice(UM.OutputDeviceManager.activeDevice, PrintInformation.jobName,
{ "filter_by_machine": true, "preferred_mimetypes": Cura.MachineManager.activeMachine.preferred_output_file_formats });
}
Cura.PrimaryButton
{
id: saveToButton
@ -32,9 +38,8 @@ Item
onClicked:
{
forceActiveFocus();
UM.OutputDeviceManager.requestWriteToDevice(UM.OutputDeviceManager.activeDevice, PrintInformation.jobName,
{ "filter_by_machine": true, "preferred_mimetypes": Cura.MachineManager.activeMachine.preferred_output_file_formats });
forceActiveFocus()
widget.requestWriteToDevice()
}
}
@ -81,6 +86,7 @@ Item
delegate: Cura.ActionButton
{
text: model.description
visible: model.id != UM.OutputDeviceManager.activeDevice // Don't show the active device in the list
color: "transparent"
cornerRadius: 0
hoverColor: UM.Theme.getColor("primary")
@ -88,6 +94,7 @@ Item
onClicked:
{
UM.OutputDeviceManager.setActiveDevice(model.id)
widget.requestWriteToDevice()
popup.close()
}
}

View file

@ -41,7 +41,7 @@ Column
{
left: parent.left
right: printInformationPanel.left
rightMargin: UM.Theme.getSize("thin_margin").height
rightMargin: printInformationPanel.visible ? UM.Theme.getSize("thin_margin").width : 0
}
Cura.IconWithText
@ -119,9 +119,9 @@ Column
}
height: UM.Theme.getSize("action_button").height
leftPadding: UM.Theme.getSize("default_margin").width
rightPadding: UM.Theme.getSize("default_margin").width
text: catalog.i18nc("@button", "Preview")
tooltip: text
fixedWidthMode: true
onClicked: UM.Controller.setActiveStage("PreviewStage")
visible: UM.Controller.activeStage != null && UM.Controller.activeStage.stageId != "PreviewStage"

View file

@ -12,10 +12,10 @@ UM.RecolorImage
id: widget
source: UM.Theme.getIcon("info")
width: UM.Theme.getSize("section_icon").width
width: visible ? UM.Theme.getSize("section_icon").width : 0
height: UM.Theme.getSize("section_icon").height
color: popup.opened ? UM.Theme.getColor("primary") : UM.Theme.getColor("text_medium")
color: UM.Theme.getColor("icon")
MouseArea
{

View file

@ -60,7 +60,7 @@ Column
text: catalog.i18nc("@label:PrintjobStatus", "Unable to Slice")
source: UM.Theme.getIcon("warning")
color: UM.Theme.getColor("warning")
iconColor: UM.Theme.getColor("warning")
}
// Progress bar, only visible when the backend is in the process of slice the printjob

View file

@ -123,6 +123,17 @@ UM.MainWindow
}
}
}
// This is a placehoder for adding a pattern in the header
Image
{
id: backgroundPattern
anchors.fill: parent
fillMode: Image.Tile
source: UM.Theme.getImage("header_pattern")
horizontalAlignment: Image.AlignLeft
verticalAlignment: Image.AlignTop
}
}
MainWindowHeader
@ -252,7 +263,7 @@ UM.MainWindow
anchors
{
// Align to the top of the stageMenu since the stageMenu may not exist
top: parent.top
top: stageMenu.source ? stageMenu.verticalCenter : parent.top
left: parent.left
right: parent.right
bottom: parent.bottom
@ -278,16 +289,33 @@ UM.MainWindow
height: UM.Theme.getSize("stage_menu").height
source: UM.Controller.activeStage != null ? UM.Controller.activeStage.stageMenuComponent : ""
// HACK: This is to ensure that the parent never gets set to null, as this wreaks havoc on the focus.
function onParentDestroyed()
{
printSetupSelector.parent = stageMenu
printSetupSelector.visible = false
}
property Item oldParent: null
// The printSetupSelector is defined here so that the setting list doesn't need to get re-instantiated
// Every time the stage is changed.
property var printSetupSelector: Cura.PrintSetupSelector
{
width: UM.Theme.getSize("print_setup_widget").width
height: UM.Theme.getSize("stage_menu").height
headerCornerSide: RoundedRectangle.Direction.Right
width: UM.Theme.getSize("print_setup_widget").width
height: UM.Theme.getSize("stage_menu").height
headerCornerSide: RoundedRectangle.Direction.Right
onParentChanged:
{
if(stageMenu.oldParent !=null)
{
stageMenu.oldParent.Component.destruction.disconnect(stageMenu.onParentDestroyed)
}
stageMenu.oldParent = parent
visible = parent != stageMenu
parent.Component.destruction.connect(stageMenu.onParentDestroyed)
}
}
}
UM.MessageStack
{
anchors

View file

@ -49,6 +49,7 @@ Item
anchors.centerIn: parent
text: index + 1
font: UM.Theme.getFont("small")
color: UM.Theme.getColor("text")
width: contentWidth
height: contentHeight
visible: extruderEnabled
@ -65,7 +66,7 @@ Item
sourceSize.height: width
source: UM.Theme.getIcon("cross1")
visible: !extruderEnabled
color: "black"
color: UM.Theme.getColor("text")
}
}
}

View file

@ -15,10 +15,10 @@ Item
{
property alias source: icon.source
property alias iconSize: icon.width
property alias iconColor: icon.color
property alias color: label.color
property alias text: label.text
property alias font: label.font
property real margin: UM.Theme.getSize("narrow_margin").width
// These properties can be used in combination with layouts.
@ -37,9 +37,9 @@ Item
{
id: icon
width: UM.Theme.getSize("section_icon").width
height: UM.Theme.getSize("section_icon").height
height: width
color: label.color
color: UM.Theme.getColor("icon")
anchors
{

View file

@ -54,16 +54,23 @@ Item
{
text: model.name.toUpperCase()
checkable: true
checked: model.active
checked: UM.Controller.activeStage !== null && model.id == UM.Controller.activeStage.stageId
anchors.verticalCenter: parent.verticalCenter
exclusiveGroup: mainWindowHeaderMenuGroup
style: UM.Theme.styles.main_window_header_tab
height: UM.Theme.getSize("main_window_header_button").height
onClicked: UM.Controller.setActiveStage(model.id)
iconSource: model.stage.iconSource
property color overlayColor: "transparent"
property string overlayIconSource: ""
// This is a trick to assure the activeStage is correctly changed. It doesn't work propertly if done in the onClicked (see CURA-6028)
MouseArea
{
anchors.fill: parent
onClicked: UM.Controller.setActiveStage(model.id)
}
}
}

View file

@ -16,8 +16,8 @@ Item
{
id: header
text: catalog.i18nc("@header", "Configurations")
font: UM.Theme.getFont("large_bold")
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("small_button_text")
height: contentHeight
renderType: Text.NativeRendering

View file

@ -14,110 +14,105 @@ Button
property var configuration: null
hoverEnabled: true
height: background.height
background: Rectangle
{
height: childrenRect.height
color: parent.hovered ? UM.Theme.getColor("action_button_hovered") : UM.Theme.getColor("action_button")
border.color: (parent.checked || parent.hovered) ? UM.Theme.getColor("primary") : UM.Theme.getColor("lining")
border.width: parent.checked ? UM.Theme.getSize("thick_lining").width : UM.Theme.getSize("default_lining").width
border.color: parent.checked ? UM.Theme.getColor("primary") : UM.Theme.getColor("lining")
border.width: UM.Theme.getSize("default_lining").width
radius: UM.Theme.getSize("default_radius").width
}
Column
contentItem: Column
{
id: contentColumn
width: parent.width
padding: UM.Theme.getSize("default_margin").width
spacing: UM.Theme.getSize("narrow_margin").height
Row
{
id: contentColumn
width: parent.width
padding: UM.Theme.getSize("wide_margin").width
spacing: UM.Theme.getSize("narrow_margin").height
id: extruderRow
Row
anchors
{
id: extruderRow
anchors
{
left: parent.left
leftMargin: parent.padding
right: parent.right
rightMargin: parent.padding
}
height: childrenRect.height
spacing: UM.Theme.getSize("default_margin").width
Repeater
{
id: repeater
height: childrenRect.height
model: configuration.extruderConfigurations
delegate: PrintCoreConfiguration
{
width: Math.round(parent.width / 2)
printCoreConfiguration: modelData
}
}
left: parent.left
leftMargin: UM.Theme.getSize("wide_margin").width
right: parent.right
rightMargin: UM.Theme.getSize("wide_margin").width
}
//Buildplate row separator
Rectangle
spacing: UM.Theme.getSize("default_margin").width
Repeater
{
id: separator
visible: buildplateInformation.visible
anchors
id: repeater
model: configuration.extruderConfigurations
delegate: PrintCoreConfiguration
{
left: parent.left
leftMargin: parent.padding
right: parent.right
rightMargin: parent.padding
}
height: visible ? Math.round(UM.Theme.getSize("default_lining").height / 2) : 0
color: UM.Theme.getColor("lining")
}
Item
{
id: buildplateInformation
anchors
{
left: parent.left
leftMargin: parent.padding
right: parent.right
rightMargin: parent.padding
}
height: childrenRect.height
visible: configuration.buildplateConfiguration != ""
// Show the type of buildplate. The first letter is capitalized
Cura.IconWithText
{
id: buildplateLabel
source: UM.Theme.getIcon("buildplate")
text: configuration.buildplateConfiguration.charAt(0).toUpperCase() + configuration.buildplateConfiguration.substr(1)
anchors.left: parent.left
width: Math.round(parent.width / 2)
printCoreConfiguration: modelData
}
}
}
Connections
//Buildplate row separator
Rectangle
{
target: Cura.MachineManager
onCurrentConfigurationChanged:
id: separator
visible: buildplateInformation.visible
anchors
{
configurationItem.checked = Cura.MachineManager.matchesConfiguration(configuration)
left: parent.left
leftMargin: UM.Theme.getSize("wide_margin").width
right: parent.right
rightMargin: UM.Theme.getSize("wide_margin").width
}
height: visible ? Math.round(UM.Theme.getSize("default_lining").height / 2) : 0
color: UM.Theme.getColor("lining")
}
Component.onCompleted:
Item
{
id: buildplateInformation
anchors
{
left: parent.left
leftMargin: UM.Theme.getSize("wide_margin").width
right: parent.right
rightMargin: UM.Theme.getSize("wide_margin").width
}
height: childrenRect.height
visible: configuration.buildplateConfiguration != ""
// Show the type of buildplate. The first letter is capitalized
Cura.IconWithText
{
id: buildplateLabel
source: UM.Theme.getIcon("buildplate")
text: configuration.buildplateConfiguration.charAt(0).toUpperCase() + configuration.buildplateConfiguration.substr(1)
anchors.left: parent.left
}
}
}
Connections
{
target: Cura.MachineManager
onCurrentConfigurationChanged:
{
configurationItem.checked = Cura.MachineManager.matchesConfiguration(configuration)
}
}
Component.onCompleted:
{
configurationItem.checked = Cura.MachineManager.matchesConfiguration(configuration)
}
onClicked:
{
Cura.MachineManager.applyRemoteConfiguration(configuration)
}
}
}

View file

@ -7,16 +7,15 @@ import QtQuick.Controls 2.3
import UM 1.2 as UM
import Cura 1.0 as Cura
Column
Item
{
id: base
property var outputDevice: null
height: childrenRect.height + 2 * padding
spacing: UM.Theme.getSize("narrow_margin").height
height: childrenRect.height
function forceModelUpdate()
{
// FIXME For now the model should be removed and then created again, otherwise changes in the printer don't automatically update the UI
// FIXME For now the model has to be removed and then created again, otherwise changes in the printer don't automatically update the UI
configurationList.model = []
if (outputDevice)
{
@ -24,6 +23,42 @@ Column
}
}
// This component will appear when there is no configurations (e.g. when losing connection)
Item
{
width: parent.width
visible: configurationList.model.length == 0
height: label.height + UM.Theme.getSize("wide_margin").height
anchors.top: parent.top
anchors.topMargin: UM.Theme.getSize("default_margin").height
UM.RecolorImage
{
id: icon
anchors.left: parent.left
anchors.verticalCenter: label.verticalCenter
source: UM.Theme.getIcon("warning")
color: UM.Theme.getColor("warning")
width: UM.Theme.getSize("section_icon").width
height: width
}
Label
{
id: label
anchors.left: icon.right
anchors.right: parent.right
anchors.leftMargin: UM.Theme.getSize("default_margin").width
text: catalog.i18nc("@label", "The configurations are not available because the printer is disconnected.")
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("default")
renderType: Text.NativeRendering
wrapMode: Text.WordWrap
}
}
ScrollView
{
id: container
@ -57,7 +92,6 @@ Column
id: configurationList
spacing: UM.Theme.getSize("narrow_margin").height
width: container.width - ((height > container.maximumHeight) ? container.ScrollBar.vertical.background.width : 0) //Make room for scroll bar if there is any.
contentHeight: childrenRect.height
height: childrenRect.height
section.property: "modelData.printerType"
@ -100,4 +134,4 @@ Column
forceModelUpdate()
}
}
}
}

View file

@ -17,10 +17,7 @@ Cura.ExpandablePopup
{
id: base
Cura.ExtrudersModel
{
id: extrudersModel
}
property var extrudersModel: CuraApplication.getExtrudersModel()
UM.I18nCatalog
{
@ -34,6 +31,7 @@ Cura.ExpandablePopup
Custom
}
contentPadding: UM.Theme.getSize("default_lining").width
enabled: Cura.MachineManager.hasMaterials || Cura.MachineManager.hasVariants || Cura.MachineManager.hasVariantBuildplates; //Only let it drop down if there is any configuration that you could change.
headerItem: Item
@ -127,34 +125,41 @@ Cura.ExpandablePopup
contentItem: Column
{
id: popupItem
width: base.width - 2 * UM.Theme.getSize("default_margin").width
height: implicitHeight //Required because ExpandableComponent will try to use this to determine the size of the background of the pop-up.
width: UM.Theme.getSize("configuration_selector").width
height: implicitHeight // Required because ExpandableComponent will try to use this to determine the size of the background of the pop-up.
padding: UM.Theme.getSize("default_margin").height
spacing: UM.Theme.getSize("default_margin").height
property bool is_connected: false //If current machine is connected to a printer. Only evaluated upon making popup visible.
property bool is_connected: false // If current machine is connected to a printer. Only evaluated upon making popup visible.
property int configuration_method: ConfigurationMenu.ConfigurationMethod.Custom // Type of configuration being used. Only evaluated upon making popup visible.
property int manual_selected_method: -1 // It stores the configuration method selected by the user. By default the selected method is
onVisibleChanged:
{
is_connected = Cura.MachineManager.activeMachineNetworkKey !== "" && Cura.MachineManager.printerConnected //Re-evaluate.
}
is_connected = Cura.MachineManager.activeMachineHasRemoteConnection && Cura.MachineManager.printerConnected //Re-evaluate.
property int configuration_method: is_connected ? ConfigurationMenu.ConfigurationMethod.Auto : ConfigurationMenu.ConfigurationMethod.Custom //Auto if connected to a printer at start-up, or Custom if not.
// If the printer is not connected, 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
}
Item
{
width: parent.width
width: parent.width - 2 * parent.padding
height:
{
var height = 0;
if(autoConfiguration.visible)
var height = 0
if (autoConfiguration.visible)
{
height += autoConfiguration.height;
height += autoConfiguration.height
}
if(customConfiguration.visible)
if (customConfiguration.visible)
{
height += customConfiguration.height;
height += customConfiguration.height
}
return height;
return height
}
AutoConfiguration
{
id: autoConfiguration
@ -172,9 +177,9 @@ Cura.ExpandablePopup
{
id: separator
visible: buttonBar.visible
x: -contentPadding
x: -parent.padding
width: base.width
width: parent.width
height: UM.Theme.getSize("default_lining").height
color: UM.Theme.getColor("lining")
@ -186,7 +191,7 @@ Cura.ExpandablePopup
id: buttonBar
visible: popupItem.is_connected //Switching only makes sense if the "auto" part is possible.
width: parent.width
width: parent.width - 2 * parent.padding
height: childrenRect.height
Cura.SecondaryButton
@ -200,7 +205,11 @@ Cura.ExpandablePopup
iconSource: UM.Theme.getIcon("arrow_right")
isIconOnRightSide: true
onClicked: popupItem.configuration_method = ConfigurationMenu.ConfigurationMethod.Custom
onClicked:
{
popupItem.configuration_method = ConfigurationMenu.ConfigurationMethod.Custom
popupItem.manual_selected_method = popupItem.configuration_method
}
}
Cura.SecondaryButton
@ -211,8 +220,18 @@ Cura.ExpandablePopup
iconSource: UM.Theme.getIcon("arrow_left")
onClicked: popupItem.configuration_method = ConfigurationMenu.ConfigurationMethod.Auto
onClicked:
{
popupItem.configuration_method = ConfigurationMenu.ConfigurationMethod.Auto
popupItem.manual_selected_method = popupItem.configuration_method
}
}
}
}
Connections
{
target: Cura.MachineManager
onGlobalContainerChanged: popupItem.manual_selected_method = -1 // When switching printers, reset the value of the manual selected method
}
}

View file

@ -23,8 +23,8 @@ Item
{
id: header
text: catalog.i18nc("@header", "Custom")
font: UM.Theme.getFont("large_bold")
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("small_button_text")
height: contentHeight
renderType: Text.NativeRendering
@ -51,9 +51,7 @@ Item
anchors
{
left: parent.left
leftMargin: UM.Theme.getSize("default_margin").width
right: parent.right
rightMargin: UM.Theme.getSize("default_margin").width
top: header.bottom
topMargin: visible ? UM.Theme.getSize("default_margin").height : 0
}
@ -74,7 +72,7 @@ Item
id: printerTypeSelector
text: Cura.MachineManager.activeMachineDefinitionName
tooltip: Cura.MachineManager.activeMachineDefinitionName
height: UM.Theme.getSize("setting_control").height
height: UM.Theme.getSize("print_setup_big_item").height
width: Math.round(parent.width * 0.7) + UM.Theme.getSize("default_margin").width
anchors.right: parent.right
style: UM.Theme.styles.print_setup_header_button
@ -224,7 +222,7 @@ Item
Row
{
height: UM.Theme.getSize("print_setup_item").height
height: UM.Theme.getSize("print_setup_big_item").height
visible: Cura.MachineManager.hasMaterials
Label
@ -248,7 +246,7 @@ Item
text: Cura.MachineManager.activeStack != null ? Cura.MachineManager.activeStack.material.name : ""
tooltip: text
height: UM.Theme.getSize("setting_control").height
height: UM.Theme.getSize("print_setup_big_item").height
width: selectors.controlWidth
style: UM.Theme.styles.print_setup_header_button
@ -262,7 +260,7 @@ Item
Row
{
height: UM.Theme.getSize("print_setup_item").height
height: UM.Theme.getSize("print_setup_big_item").height
visible: Cura.MachineManager.hasVariants
Label
@ -282,7 +280,7 @@ Item
text: Cura.MachineManager.activeVariantName
tooltip: Cura.MachineManager.activeVariantName
height: UM.Theme.getSize("setting_control").height
height: UM.Theme.getSize("print_setup_big_item").height
width: selectors.controlWidth
style: UM.Theme.styles.print_setup_header_button
activeFocusOnPress: true;

View file

@ -27,7 +27,7 @@ Menu
MenuItem { id: extruderHeader; text: catalog.i18ncp("@label", "Print Selected Model With:", "Print Selected Models With:", UM.Selection.selectionCount); enabled: false; visible: base.shouldShowExtruders }
Instantiator
{
model: Cura.ExtrudersModel { id: extrudersModel }
model: CuraApplication.getExtrudersModel()
MenuItem {
text: "%1: %2 - %3".arg(model.name).arg(model.material).arg(model.variant)
visible: base.shouldShowExtruders

View file

@ -1,212 +0,0 @@
// Copyright (c) 2018 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.10
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import UM 1.2 as UM
import Cura 1.0 as Cura
import "Menus"
import "Menus/ConfigurationMenu"
Rectangle
{
id: base
property int currentModeIndex
property bool hideSettings: PrintInformation.preSliced
property bool hideView: Cura.MachineManager.activeMachineName == ""
// Is there an output device for this printer?
property bool isNetworkPrinter: Cura.MachineManager.activeMachineNetworkKey != ""
property bool printerConnected: Cura.MachineManager.printerConnected
property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands
property var connectedPrinter: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
property variant printDuration: PrintInformation.currentPrintTime
property variant printMaterialLengths: PrintInformation.materialLengths
property variant printMaterialWeights: PrintInformation.materialWeights
property variant printMaterialCosts: PrintInformation.materialCosts
property variant printMaterialNames: PrintInformation.materialNames
color: UM.Theme.getColor("main_background")
UM.I18nCatalog { id: catalog; name: "cura"}
Timer {
id: tooltipDelayTimer
interval: 500
repeat: false
property var item
property string text
onTriggered:
{
base.showTooltip(base, {x: 0, y: item.y}, text);
}
}
function showTooltip(item, position, text)
{
tooltip.text = text;
position = item.mapToItem(base, position.x - UM.Theme.getSize("default_arrow").width, position.y);
tooltip.show(position);
}
function hideTooltip()
{
tooltip.hide();
}
function strPadLeft(string, pad, length) {
return (new Array(length + 1).join(pad) + string).slice(-length);
}
function getPrettyTime(time)
{
var hours = Math.floor(time / 3600)
time -= hours * 3600
var minutes = Math.floor(time / 60);
time -= minutes * 60
var seconds = Math.floor(time);
var finalTime = strPadLeft(hours, "0", 2) + ":" + strPadLeft(minutes, "0", 2) + ":" + strPadLeft(seconds, "0", 2);
return finalTime;
}
MouseArea
{
anchors.fill: parent
acceptedButtons: Qt.AllButtons
onWheel:
{
wheel.accepted = true;
}
}
MachineSelector
{
id: machineSelection
width: base.width - configSelection.width - separator.width
height: UM.Theme.getSize("stage_menu").height
anchors.top: base.top
anchors.left: parent.left
}
Rectangle
{
id: separator
visible: configSelection.visible
width: visible ? Math.round(UM.Theme.getSize("thick_lining").height / 2) : 0
height: UM.Theme.getSize("stage_menu").height
color: UM.Theme.getColor("thick_lining")
anchors.left: machineSelection.right
}
CustomConfigurationSelector
{
id: configSelection
visible: isNetworkPrinter && printerConnected
width: visible ? Math.round(base.width * 0.15) : 0
height: UM.Theme.getSize("stage_menu").height
anchors.top: base.top
anchors.right: parent.right
}
Loader
{
id: controlItem
anchors.bottom: footerSeparator.top
anchors.top: machineSelection.bottom
anchors.left: base.left
anchors.right: base.right
sourceComponent:
{
if(connectedPrinter != null)
{
if(connectedPrinter.controlItem != null)
{
return connectedPrinter.controlItem
}
}
return null
}
}
Loader
{
anchors.bottom: footerSeparator.top
anchors.top: machineSelection.bottom
anchors.left: base.left
anchors.right: base.right
source:
{
if(controlItem.sourceComponent == null)
{
return "PrintMonitor.qml"
}
else
{
return ""
}
}
}
Rectangle
{
id: footerSeparator
width: parent.width
height: UM.Theme.getSize("wide_lining").height
color: UM.Theme.getColor("wide_lining")
anchors.bottom: monitorButton.top
anchors.bottomMargin: UM.Theme.getSize("thick_margin").height
}
// MonitorButton is actually the bottom footer panel.
MonitorButton
{
id: monitorButton
implicitWidth: base.width
anchors.bottom: parent.bottom
}
PrintSetupTooltip
{
id: tooltip
}
UM.SettingPropertyProvider
{
id: machineExtruderCount
containerStack: Cura.MachineManager.activeMachine
key: "machine_extruder_count"
watchedProperties: [ "value" ]
storeIndex: 0
}
UM.SettingPropertyProvider
{
id: machineHeatedBed
containerStack: Cura.MachineManager.activeMachine
key: "machine_heated_bed"
watchedProperties: [ "value" ]
storeIndex: 0
}
// Make the ConfigurationSelector react when the global container changes, otherwise if Cura is not connected to the printer,
// switching printers make no reaction
Connections
{
target: Cura.MachineManager
onGlobalContainerChanged:
{
base.isNetworkPrinter = Cura.MachineManager.activeMachineNetworkKey != ""
base.printerConnected = Cura.MachineManager.printerOutputDevices.length != 0
}
}
}

View file

@ -1,4 +1,4 @@
// Copyright (c) 2016 Ultimaker B.V.
// Copyright (c) 2018 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
@ -91,7 +91,7 @@ UM.ManagementPage
Item
{
width: childrenRect.width + 2 * screenScaleFactor
width: Math.round(childrenRect.width + 2 * screenScaleFactor)
height: childrenRect.height
Button
{

View file

@ -1,5 +1,5 @@
// Copyright (c) 2018 Ultimaker B.V.
// Uranium is released under the terms of the LGPLv3 or higher.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
import QtQuick.Controls 1.4
@ -69,11 +69,7 @@ Rectangle
}
style: ButtonStyle
{
background: Rectangle
{
anchors.fill: parent
color: "transparent"
}
background: Item { }
}
}
}

View file

@ -1,5 +1,5 @@
// Copyright (c) 2018 Ultimaker B.V.
// Uranium is released under the terms of the LGPLv3 or higher.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
import QtQuick.Controls 1.4
@ -70,7 +70,8 @@ Rectangle
}
onClicked:
{
if (materialSlot.is_favorite) {
if (materialSlot.is_favorite)
{
base.materialManager.removeFavorite(material.root_material_id)
materialSlot.is_favorite = false
return
@ -81,13 +82,10 @@ Rectangle
}
style: ButtonStyle
{
background: Rectangle
{
anchors.fill: parent
color: "transparent"
}
background: Item { }
}
UM.RecolorImage {
UM.RecolorImage
{
anchors
{
verticalCenter: favorite_button.verticalCenter

View file

@ -16,7 +16,7 @@ Item
property QtObject qualityManager: CuraApplication.getQualityManager()
property var resetEnabled: false // Keep PreferencesDialog happy
property var extrudersModel: Cura.ExtrudersModel {}
property var extrudersModel: CuraApplication.getExtrudersModel()
UM.I18nCatalog { id: catalog; name: "cura"; }

View file

@ -12,7 +12,7 @@ import Cura 1.0 as Cura
import "PrinterOutput"
Rectangle
Item
{
id: base
UM.I18nCatalog { id: catalog; name: "cura"}
@ -60,11 +60,7 @@ Rectangle
anchors.fill: parent
Cura.ExtrudersModel
{
id: extrudersModel
simpleNames: true
}
property var extrudersModel: CuraApplication.getExtrudersModel()
OutputDeviceHeader
{

View file

@ -16,10 +16,7 @@ Item
property real padding: UM.Theme.getSize("default_margin").width
property bool multipleExtruders: extrudersModel.count > 1
Cura.ExtrudersModel
{
id: extrudersModel
}
property var extrudersModel: CuraApplication.getExtrudersModel()
// Profile selector row
GlobalProfileSelector
@ -113,9 +110,11 @@ Item
}
z: tabBar.z - 1
// Don't show the border when only one extruder
border.color: tabBar.visible ? UM.Theme.getColor("lining") : "transparent"
border.width: UM.Theme.getSize("default_lining").width
color: UM.Theme.getColor("main_background")
Cura.SettingView
{
anchors

View file

@ -26,10 +26,7 @@ Cura.ExpandableComponent
headerItem: PrintSetupSelectorHeader {}
Cura.ExtrudersModel
{
id: extrudersModel
}
property var extrudersModel: CuraApplication.getExtrudersModel()
contentItem: PrintSetupSelectorContents {}
}

View file

@ -144,6 +144,7 @@ Item
anchors.horizontalCenter: parent.horizontalCenter
y: UM.Theme.getSize("thin_margin").height
renderType: Text.NativeRendering
color: UM.Theme.getColor("quality_slider_available")
}
}
}

View file

@ -86,7 +86,7 @@ Item
if (Cura.MachineManager.activeQualityType == qualityItem.quality_type)
{
// set to -1 when switching to user created profile so all ticks are clickable
if (Cura.SimpleModeSettingsManager.isProfileUserCreated)
if (Cura.MachineManager.hasCustomQuality)
{
qualityModel.qualitySliderActiveIndex = -1
}
@ -181,7 +181,7 @@ Item
{
id: customisedSettings
visible: Cura.SimpleModeSettingsManager.isProfileCustomized || Cura.SimpleModeSettingsManager.isProfileUserCreated
visible: Cura.SimpleModeSettingsManager.isProfileCustomized || Cura.MachineManager.hasCustomQuality
height: visible ? UM.Theme.getSize("print_setup_icon").height : 0
width: height
anchors
@ -347,7 +347,7 @@ Item
{
anchors.fill: parent
hoverEnabled: true
enabled: !Cura.SimpleModeSettingsManager.isProfileUserCreated
enabled: !Cura.MachineManager.hasCustomQuality
onEntered:
{
var tooltipContent = catalog.i18nc("@tooltip", "This quality profile is not available for your current material and nozzle configuration. Please change these to enable this quality profile")
@ -406,7 +406,7 @@ Item
implicitWidth: UM.Theme.getSize("print_setup_slider_handle").width
implicitHeight: implicitWidth
radius: Math.round(implicitWidth / 2)
visible: !Cura.SimpleModeSettingsManager.isProfileCustomized && !Cura.SimpleModeSettingsManager.isProfileUserCreated && qualityModel.existingQualityProfile
visible: !Cura.SimpleModeSettingsManager.isProfileCustomized && !Cura.MachineManager.hasCustomQuality && qualityModel.existingQualityProfile
}
}
@ -430,7 +430,7 @@ Item
anchors.fill: parent
hoverEnabled: true
acceptedButtons: Qt.NoButton
enabled: !Cura.SimpleModeSettingsManager.isProfileUserCreated
enabled: !Cura.MachineManager.hasCustomQuality
}
}
@ -440,7 +440,7 @@ Item
{
anchors.fill: parent
hoverEnabled: true
visible: Cura.SimpleModeSettingsManager.isProfileUserCreated
visible: Cura.MachineManager.hasCustomQuality
onEntered:
{

View file

@ -156,9 +156,10 @@ Item
}
//: Model used to populate the extrudelModel
Cura.ExtrudersModel
property var extruders: CuraApplication.getExtrudersModel()
Connections
{
id: extruders
target: extruders
onModelChanged: populateExtruderModel()
}

View file

@ -27,7 +27,7 @@ Item
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width
text: label
font: UM.Theme.getFont("medium_bold")
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("setting_category_text")
}
}

View file

@ -11,7 +11,7 @@ Cura.ExpandablePopup
{
id: machineSelector
property bool isNetworkPrinter: Cura.MachineManager.activeMachineNetworkKey != ""
property bool isNetworkPrinter: Cura.MachineManager.activeMachineHasRemoteConnection
property bool isPrinterConnected: Cura.MachineManager.printerConnected
property var outputDevice: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
@ -24,49 +24,24 @@ Cura.ExpandablePopup
name: "cura"
}
headerItem: Item
headerItem: Cura.IconWithText
{
implicitHeight: icon.height
UM.RecolorImage
text: isNetworkPrinter ? Cura.MachineManager.activeMachineNetworkGroupName : Cura.MachineManager.activeMachineName
source:
{
id: icon
anchors.left: parent.left
anchors.verticalCenter: parent.verticalCenter
source:
if (isNetworkPrinter)
{
if (isNetworkPrinter)
if (machineSelector.outputDevice != null && machineSelector.outputDevice.clusterSize > 1)
{
if (machineSelector.outputDevice != null && machineSelector.outputDevice.clusterSize > 1)
{
return UM.Theme.getIcon("printer_group")
}
return UM.Theme.getIcon("printer_single")
return UM.Theme.getIcon("printer_group")
}
return ""
return UM.Theme.getIcon("printer_single")
}
width: UM.Theme.getSize("machine_selector_icon").width
height: width
color: UM.Theme.getColor("machine_selector_printer_icon")
visible: source != ""
}
Label
{
id: label
anchors.left: icon.visible ? icon.right : parent.left
anchors.right: parent.right
anchors.leftMargin: UM.Theme.getSize("thin_margin").width
anchors.verticalCenter: icon.verticalCenter
text: isNetworkPrinter ? Cura.MachineManager.activeMachineNetworkGroupName : Cura.MachineManager.activeMachineName
elide: Text.ElideRight
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering
return ""
}
font: UM.Theme.getFont("medium")
iconColor: UM.Theme.getColor("machine_selector_printer_icon")
iconSize: source != "" ? UM.Theme.getSize("machine_selector_icon").width: 0
UM.RecolorImage
{
@ -123,6 +98,12 @@ Cura.ExpandablePopup
scroll.height = Math.min(height, maximumHeight)
popup.height = scroll.height + buttonRow.height
}
Component.onCompleted:
{
scroll.height = Math.min(height, maximumHeight)
popup.height = scroll.height + buttonRow.height
}
}
}

View file

@ -7,78 +7,40 @@ import QtQuick.Controls 2.3
import UM 1.2 as UM
import Cura 1.0 as Cura
Column
ListView
{
id: machineSelectorList
id: listView
height: childrenRect.height
model: Cura.PrintersModel {}
section.property: "hasRemoteConnection"
Label
section.delegate: Label
{
text: catalog.i18nc("@label", "Connected printers")
visible: networkedPrintersModel.items.length > 0
leftPadding: UM.Theme.getSize("default_margin").width
text: section == "true" ? catalog.i18nc("@label", "Connected printers") : catalog.i18nc("@label", "Preset printers")
width: parent.width
height: visible ? contentHeight + 2 * UM.Theme.getSize("default_margin").height : 0
leftPadding: UM.Theme.getSize("default_margin").width
renderType: Text.NativeRendering
font: UM.Theme.getFont("medium")
color: UM.Theme.getColor("text_medium")
verticalAlignment: Text.AlignVCenter
}
Repeater
delegate: MachineSelectorButton
{
id: networkedPrinters
text: model.name
width: listView.width
outputDevice: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
model: UM.ContainerStacksModel
checked:
{
id: networkedPrintersModel
filter:
// If the machine has a remote connection
var result = Cura.MachineManager.activeMachineId == model.id
if (Cura.MachineManager.activeMachineHasRemoteConnection)
{
"type": "machine", "um_network_key": "*", "hidden": "False"
result |= Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"]
}
}
delegate: MachineSelectorButton
{
text: model.metadata["connect_group_name"]
checked: Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"]
outputDevice: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
Connections
{
target: Cura.MachineManager
onActiveMachineNetworkGroupNameChanged: checked = Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"]
}
}
}
Label
{
text: catalog.i18nc("@label", "Preset printers")
visible: virtualPrintersModel.items.length > 0
leftPadding: UM.Theme.getSize("default_margin").width
height: visible ? contentHeight + 2 * UM.Theme.getSize("default_margin").height : 0
renderType: Text.NativeRendering
font: UM.Theme.getFont("medium")
color: UM.Theme.getColor("text_medium")
verticalAlignment: Text.AlignVCenter
}
Repeater
{
id: virtualPrinters
model: UM.ContainerStacksModel
{
id: virtualPrintersModel
filter:
{
"type": "machine", "um_network_key": null
}
}
delegate: MachineSelectorButton
{
text: model.name
checked: Cura.MachineManager.activeMachineId == model.id
return result
}
}
}

View file

@ -19,6 +19,7 @@ Item
{
anchors.fill: parent
color: UM.Theme.getColor("printer_type_label_background")
radius: UM.Theme.getSize("checkbox_radius").width
}
Label

View file

@ -106,26 +106,7 @@ Button
width: UM.Theme.getSize("standard_arrow").width
height: UM.Theme.getSize("standard_arrow").height
sourceSize.height: width
color:
{
if (!base.enabled)
{
return UM.Theme.getColor("setting_category_disabled_text")
}
else if ((base.hovered || base.activeFocus) && base.checkable && base.checked)
{
return UM.Theme.getColor("setting_category_active_hover_text")
}
else if (base.pressed || (base.checkable && base.checked))
{
return UM.Theme.getColor("setting_category_active_text")
}
else if (base.hovered || base.activeFocus)
{
return UM.Theme.getColor("setting_category_hover_text")
}
return UM.Theme.getColor("setting_category_text")
}
color: UM.Theme.getColor("setting_control_button")
source: base.checked ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_left")
}
}

View file

@ -63,7 +63,7 @@ SettingItem
sourceSize.width: width + 5 * screenScaleFactor
sourceSize.height: width + 5 * screenScaleFactor
color: UM.Theme.getColor("setting_control_text")
color: UM.Theme.getColor("setting_control_button")
}
contentItem: Label

View file

@ -17,11 +17,16 @@ SettingItem
id: control
anchors.fill: parent
model: Cura.ExtrudersModel
property var extrudersModel: CuraApplication.getExtrudersModel()
model: extrudersModel
Connections
{
target: extrudersModel
onModelChanged:
{
control.color = getItem(control.currentIndex).color
control.color = extrudersModel.getItem(control.currentIndex).color
}
}
@ -105,7 +110,7 @@ SettingItem
sourceSize.width: width + 5 * screenScaleFactor
sourceSize.height: width + 5 * screenScaleFactor
color: UM.Theme.getColor("setting_control_text");
color: UM.Theme.getColor("setting_control_button");
}
background: Rectangle

View file

@ -12,15 +12,24 @@ SettingItem
id: base
property var focusItem: control
// Somehow if we directory set control.model to CuraApplication.getExtrudersModelWithOptional()
// and in the Connections.onModelChanged use control.model as a reference, it will complain about
// non-existing properties such as "onModelChanged" and "getItem". I guess if we access the model
// via "control.model", it gives back a generic/abstract model instance. To avoid this, we add
// this extra property to keep the ExtrudersModel and use this in the rest of the code.
property var extrudersWithOptionalModel: CuraApplication.getExtrudersModelWithOptional()
contents: ComboBox
{
id: control
anchors.fill: parent
model: Cura.ExtrudersModel
model: base.extrudersWithOptionalModel
Connections
{
onModelChanged: control.color = getItem(control.currentIndex).color
addOptionalExtruder: true
target: base.extrudersWithOptionalModel
onModelChanged: control.color = base.extrudersWithOptionalModel.getItem(control.currentIndex).color
}
textRole: "name"
@ -102,7 +111,7 @@ SettingItem
sourceSize.width: width + 5 * screenScaleFactor
sourceSize.height: width + 5 * screenScaleFactor
color: UM.Theme.getColor("setting_control_text");
color: UM.Theme.getColor("setting_control_button");
}
background: Rectangle

View file

@ -558,17 +558,6 @@ Item
onTriggered: Cura.Actions.configureSettingVisibility.trigger(contextMenu);
}
MenuSeparator {}
MenuItem
{
text: catalog.i18nc("@action:inmenu", "Collapse All")
onTriggered: definitionsModel.collapseAll()
}
MenuItem
{
text: catalog.i18nc("@action:inmenu", "Expand All")
onTriggered: definitionsModel.expandRecursive()
}
}
UM.SettingPropertyProvider

View file

@ -67,7 +67,7 @@ Item
toolItem: UM.RecolorImage
{
source: UM.Theme.getIcon(model.icon) != "" ? UM.Theme.getIcon(model.icon) : "file:///" + model.location + "/" + model.icon
color: UM.Theme.getColor("toolbar_button_text")
color: UM.Theme.getColor("icon")
sourceSize: UM.Theme.getSize("button_icon")
}
@ -144,10 +144,7 @@ Item
}
}
Cura.ExtrudersModel
{
id: extrudersModel
}
property var extrudersModel: CuraApplication.getExtrudersModel()
UM.PointingRectangle
{

View file

@ -11,5 +11,5 @@ UM.SimpleButton
height: UM.Theme.getSize("small_button").height
hoverColor: UM.Theme.getColor("small_button_text_hover")
color: UM.Theme.getColor("small_button_text")
iconMargin: 0.5 * UM.Theme.getSize("wide_lining").width
iconMargin: UM.Theme.getSize("thick_lining").width
}

View file

@ -14,24 +14,28 @@ Cura.ExpandablePopup
contentPadding: UM.Theme.getSize("default_lining").width
contentAlignment: Cura.ExpandablePopup.ContentAlignment.AlignLeft
property var viewModel: UM.ViewModel { }
property var activeView:
property var viewModel: UM.ViewModel
{
for (var i = 0; i < viewModel.count; i++)
onDataChanged: updateActiveView()
}
property var activeView: null
function updateActiveView()
{
for (var index in viewModel.items)
{
if (viewModel.items[i].active)
if (viewModel.items[index].active)
{
return viewModel.items[i]
activeView = viewModel.items[index]
return
}
}
return null
activeView = null
}
Component.onCompleted:
{
// Nothing was active, so just return the first one (the list is sorted by priority, so the most
// important one should be returned)
if (activeView == null)
{
UM.Controller.setActiveView(viewModel.getItem(0).id)
@ -43,7 +47,7 @@ Cura.ExpandablePopup
Label
{
id: title
text: catalog.i18nc("@button", "View types")
text: catalog.i18nc("@label", "View types")
verticalAlignment: Text.AlignVCenter
height: parent.height
elide: Text.ElideRight
@ -74,8 +78,6 @@ Cura.ExpandablePopup
{
id: viewSelectorPopup
width: viewSelector.width - 2 * viewSelector.contentPadding
leftPadding: UM.Theme.getSize("default_lining").width
rightPadding: UM.Theme.getSize("default_lining").width
// For some reason the height/width of the column gets set to 0 if this is not set...
Component.onCompleted:

View file

@ -17,6 +17,12 @@
"border": [127, 127, 127, 255],
"secondary": [95, 95, 95, 255],
"icon": [204, 204, 204, 255],
"toolbar_background": [39, 44, 48, 255],
"toolbar_button_active": [95, 95, 95, 255],
"toolbar_button_hover": [95, 95, 95, 255],
"toolbar_button_active_hover": [95, 95, 95, 255],
"main_window_header_button_text_inactive": [128, 128, 128, 255],
"main_window_header_button_text_hovered": [255, 255, 255, 255],
@ -34,6 +40,8 @@
"text_scene": [255, 255, 255, 162],
"text_scene_hover": [255, 255, 255, 204],
"printer_type_label_background": [95, 95, 95, 255],
"error": [212, 31, 53, 255],
"disabled": [32, 32, 32, 255],
@ -93,11 +101,11 @@
"scrollbar_handle_hover": [255, 255, 255, 255],
"scrollbar_handle_down": [255, 255, 255, 255],
"setting_category": [39, 44, 48, 255],
"setting_category_disabled": [39, 44, 48, 255],
"setting_category_hover": [39, 44, 48, 255],
"setting_category_active": [39, 44, 48, 255],
"setting_category_active_hover": [39, 44, 48, 255],
"setting_category": [75, 80, 83, 255],
"setting_category_disabled": [75, 80, 83, 255],
"setting_category_hover": [75, 80, 83, 255],
"setting_category_active": [75, 80, 83, 255],
"setting_category_active_hover": [75, 80, 83, 255],
"setting_category_text": [255, 255, 255, 152],
"setting_category_disabled_text": [255, 255, 255, 101],
"setting_category_hover_text": [255, 255, 255, 204],

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="14px" height="13px" viewBox="0 0 14 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
<title>Star Copy 8</title>
<desc>Created with Sketch.</desc>
<g id="Toolbox-VIP-material" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Marketplace-hover-" transform="translate(-140.000000, -457.000000)" stroke="#666666">
<path d="M150.450431,468.749111 L149.791458,464.907 L152.582915,462.186001 L148.725216,461.625444 L147,458.129776 L145.274784,461.625444 L141.417085,462.186001 L144.208542,464.907 L143.549569,468.749111 L147,466.935112 L150.450431,468.749111 Z" id="Star-Copy-8"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 844 B

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="14px" height="13px" viewBox="0 0 14 13" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
<title>Star Copy 7</title>
<desc>Created with Sketch.</desc>
<g id="Toolbox-VIP-material" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="Marketplace-hover-" transform="translate(-127.000000, -457.000000)" fill="#666666" stroke="#666666">
<path d="M137.450431,468.749111 L136.791458,464.907 L139.582915,462.186001 L135.725216,461.625444 L134,458.129776 L132.274784,461.625444 L128.417085,462.186001 L131.208542,464.907 L130.549569,468.749111 L134,466.935112 L137.450431,468.749111 Z" id="Star-Copy-7"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 859 B

View file

@ -1,4 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<svg width="20px" height="17px" viewBox="0 0 20 17" version="1.1" xmlns="http://www.w3.org/2000/svg">
<path d="M9.552 0C8.949 0 8.403 0.308 8.097 0.83L0.23 14.256C-0.076 14.78-0.077 15.415 0.23 15.937 0.573 16.522 1.146 16.769 1.751 16.767L17.354 16.767C17.959 16.769 18.531 16.522 18.875 15.937 19.182 15.415 19.181 14.78 18.875 14.256L11.008 0.83C10.702 0.308 10.156 0 9.552 0L9.552 0ZM9.552 1.397C9.636 1.397 9.762 1.471 9.8 1.536L17.667 14.962C17.704 15.027 17.704 15.16 17.667 15.224 17.665 15.227 17.437 15.37 17.354 15.37L1.751 15.37C1.668 15.37 1.44 15.227 1.438 15.224 1.4 15.16 1.4 15.027 1.438 14.962L9.305 1.536C9.343 1.471 9.469 1.397 9.552 1.397ZM9.552 5.356C8.909 5.356 8.388 5.877 8.388 6.521L8.621 10.479C8.621 10.994 9.038 11.411 9.552 11.411 10.067 11.411 10.484 10.994 10.484 10.479L10.717 6.521C10.717 5.877 10.195 5.356 9.552 5.356ZM9.552 11.877C8.781 11.877 8.155 12.502 8.155 13.274 8.155 14.046 8.781 14.671 9.552 14.671 10.324 14.671 10.95 14.046 10.95 13.274 10.95 12.502 10.324 11.877 9.552 11.877 Z" />
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
<title>Icon/warning-s</title>
<desc>Created with Sketch.</desc>
<g id="Icon/warning-s" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="icn/warning" transform="translate(0.000000, 1.000000)" fill="#000000" fill-rule="nonzero">
<path d="M10.2840021,13.2214915 L10.2840021,11.3934951 C10.2840021,11.3037916 10.252402,11.2286553 10.1892019,11.1680863 C10.1252018,11.1067505 10.0498017,11.0760827 9.96300155,11.0760827 L8.03699845,11.0760827 C7.94979832,11.0760827 7.87439819,11.1067505 7.81079809,11.1680863 C7.74759799,11.2286553 7.71599794,11.3037916 7.71599794,11.3934951 L7.71599794,13.2209164 C7.71599794,13.3106199 7.74759799,13.3859479 7.81079809,13.4469003 C7.87479819,13.5078527 7.95019832,13.5383288 8.03699845,13.5383288 L9.96300155,13.5383288 C10.0502017,13.5383288 10.1256018,13.507661 10.1892019,13.4463252 C10.252402,13.3857562 10.2840021,13.3106199 10.2840021,13.2209164 L10.2840021,13.2214915 Z M10.264202,9.62530099 L10.4448023,5.21142857 C10.4448023,5.13475891 10.4114023,5.07380653 10.3446022,5.02857143 C10.257402,4.95803534 10.1770019,4.9227673 10.1034018,4.9227673 L7.89659823,4.9227673 C7.82299811,4.9227673 7.74259798,4.95803534 7.65539784,5.02857143 C7.58859774,5.07342318 7.55519768,5.14089248 7.55519768,5.23097934 L7.72559796,9.62530099 C7.72559796,9.68932016 7.75919801,9.74222222 7.82639812,9.78400719 C7.89319822,9.82540881 7.97319835,9.84610961 8.0663985,9.84610961 L9.92280148,9.84610961 C10.0168016,9.84610961 10.0954018,9.82540881 10.1586019,9.78400719 C10.222602,9.74183887 10.257802,9.68893681 10.264202,9.62530099 Z M10.1238018,0.644025157 L17.8290142,14.182929 C18.0634145,14.5865948 18.0568145,14.9904522 17.8092141,15.3945013 C17.695614,15.5804253 17.5400137,15.7280144 17.3424134,15.8372686 C17.1452131,15.9457562 16.9330127,16 16.7058124,16 L1.29418764,16 C1.06698727,16 0.854786932,15.9455645 0.657586615,15.8366936 C0.459986298,15.7278227 0.304386049,15.5802336 0.190785866,15.3939263 C-0.056814531,14.9902606 -0.0634145416,14.5865948 0.170985835,14.182929 L7.8761982,0.644025157 C7.98979838,0.445450734 8.14699863,0.288277928 8.34779895,0.172506739 C8.54859928,0.0575022462 8.76599962,-1.42108547e-13 9,-1.42108547e-13 C9.23400038,-1.42108547e-13 9.45140072,0.0575022462 9.65220105,0.172506739 C9.85300137,0.288277928 10.0102016,0.445450734 10.1238018,0.644025157 Z" id="Shape"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Before After
Before After

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 785 KiB

View file

@ -75,7 +75,7 @@ QtObject
width: Theme.getSize("standard_arrow").width
height: Theme.getSize("standard_arrow").height
sourceSize.height: width
color: control.enabled ? Theme.getColor("setting_category_text") : Theme.getColor("setting_category_disabled_text")
color: control.enabled ? Theme.getColor("setting_control_button") : Theme.getColor("setting_category_disabled_text")
source: Theme.getIcon("arrow_bottom")
}
Label
@ -177,8 +177,8 @@ QtObject
{
background: Item
{
implicitWidth: Theme.getSize("button").width;
implicitHeight: Theme.getSize("button").height;
implicitWidth: Theme.getSize("button").width
implicitHeight: Theme.getSize("button").height
UM.PointingRectangle
{
@ -205,9 +205,9 @@ QtObject
id: button_tip
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter;
anchors.verticalCenter: parent.verticalCenter
text: control.text;
text: control.text
font: Theme.getFont("default")
color: Theme.getColor("tooltip_text")
}
@ -215,10 +215,10 @@ QtObject
Rectangle
{
id: buttonFace;
id: buttonFace
anchors.fill: parent;
property bool down: control.pressed || (control.checkable && control.checked);
anchors.fill: parent
property bool down: control.pressed || (control.checkable && control.checked)
color:
{
@ -228,58 +228,22 @@ QtObject
}
else if(control.checkable && control.checked && control.hovered)
{
return Theme.getColor("button_active_hover");
return Theme.getColor("toolbar_button_active_hover")
}
else if(control.pressed || (control.checkable && control.checked))
{
return Theme.getColor("button_active");
return Theme.getColor("toolbar_button_active")
}
else if(control.hovered)
{
return Theme.getColor("button_hover");
}
else
{
return Theme.getColor("button");
return Theme.getColor("toolbar_button_hover")
}
return Theme.getColor("toolbar_background")
}
Behavior on color { ColorAnimation { duration: 50; } }
border.width: (control.hasOwnProperty("needBorder") && control.needBorder) ? 2 * screenScaleFactor : 0
border.color: Theme.getColor("tool_button_border")
UM.RecolorImage
{
id: tool_button_arrow
anchors.right: parent.right;
anchors.rightMargin: Theme.getSize("button").width - Math.round(Theme.getSize("button_icon").width / 4)
anchors.bottom: parent.bottom;
anchors.bottomMargin: Theme.getSize("button").height - Math.round(Theme.getSize("button_icon").height / 4)
width: Theme.getSize("standard_arrow").width
height: Theme.getSize("standard_arrow").height
sourceSize.height: width
visible: control.menu != null;
color:
{
if(control.checkable && control.checked && control.hovered)
{
return Theme.getColor("button_text_active_hover");
}
else if(control.pressed || (control.checkable && control.checked))
{
return Theme.getColor("button_text_active");
}
else if(control.hovered)
{
return Theme.getColor("button_text_hover");
}
else
{
return Theme.getColor("button_text");
}
}
source: Theme.getIcon("arrow_bottom")
}
border.width: (control.hasOwnProperty("needBorder") && control.needBorder) ? Theme.getSize("default_lining").width : 0
border.color: Theme.getColor("lining")
}
}
@ -287,30 +251,12 @@ QtObject
{
UM.RecolorImage
{
anchors.centerIn: parent;
opacity: !control.enabled ? 0.2 : 1.0
source: control.iconSource;
width: Theme.getSize("button_icon").width;
height: Theme.getSize("button_icon").height;
color:
{
if(control.checkable && control.checked && control.hovered)
{
return Theme.getColor("button_text_active_hover");
}
else if(control.pressed || (control.checkable && control.checked))
{
return Theme.getColor("button_text_active");
}
else if(control.hovered)
{
return Theme.getColor("button_text_hover");
}
else
{
return Theme.getColor("button_text");
}
}
anchors.centerIn: parent
opacity: control.enabled ? 1.0 : 0.2
source: control.iconSource
width: Theme.getSize("button_icon").width
height: Theme.getSize("button_icon").height
color: Theme.getColor("toolbar_button_text")
sourceSize: Theme.getSize("button_icon")
}
@ -446,7 +392,7 @@ QtObject
sourceSize.width: width + 5 * screenScaleFactor
sourceSize.height: width + 5 * screenScaleFactor
color: Theme.getColor("setting_control_text");
color: Theme.getColor("setting_control_button");
}
}
}
@ -513,7 +459,7 @@ QtObject
sourceSize.width: width + 5 * screenScaleFactor
sourceSize.height: width + 5 * screenScaleFactor
color: UM.Theme.getColor("setting_control_text")
color: UM.Theme.getColor("setting_control_button")
}
}
}

View file

@ -63,6 +63,8 @@
"secondary": [240, 240, 240, 255],
"secondary_shadow": [216, 216, 216, 255],
"icon": [8, 7, 63, 255],
"primary_button": [38, 113, 231, 255],
"primary_button_shadow": [27, 95, 202, 255],
"primary_button_hover": [81, 145, 247, 255],
@ -96,7 +98,7 @@
"printer_type_label_background": [228, 228, 242, 255],
"text": [0, 0, 0, 255],
"text": [25, 25, 25, 255],
"text_detail": [174, 174, 174, 128],
"text_link": [50, 130, 255, 255],
"text_inactive": [174, 174, 174, 255],
@ -140,6 +142,8 @@
"extruder_button_material_border": [255, 255, 255, 255],
"rating_star": [90, 90, 90, 255],
"sync_button_text": [120, 120, 120, 255],
"sync_button_text_hovered": [0, 0, 0, 255],
@ -220,11 +224,9 @@
"checkbox_disabled": [223, 223, 223, 255],
"checkbox_text": [35, 35, 35, 255],
"tooltip": [68, 192, 255, 255],
"tooltip": [25, 25, 25, 255],
"tooltip_text": [255, 255, 255, 255],
"tool_button_border": [255, 255, 255, 0],
"message_background": [255, 255, 255, 255],
"message_shadow": [0, 0, 0, 120],
"message_border": [192, 193, 194, 255],
@ -237,8 +239,8 @@
"message_button_text": [255, 255, 255, 255],
"message_button_text_hover": [255, 255, 255, 255],
"message_button_text_active": [255, 255, 255, 255],
"message_progressbar_background": [200, 200, 200, 255],
"message_progressbar_control": [77, 182, 226, 255],
"message_progressbar_background": [245, 245, 245, 255],
"message_progressbar_control": [50, 130, 255, 255],
"tool_panel_background": [255, 255, 255, 255],
@ -329,7 +331,7 @@
},
"sizes": {
"window_minimum_size": [106, 66],
"window_minimum_size": [100, 60],
"main_window_header": [0.0, 4.0],
"main_window_header_button": [8, 2.35],
@ -351,16 +353,17 @@
"expandable_component_content_header": [0.0, 3.0],
"configuration_selector": [35.0, 4.0],
"configuration_selector_mode_tabs": [0.0, 3.0],
"action_panel_widget": [25.0, 0.0],
"action_panel_widget": [26.0, 0.0],
"action_panel_information_widget": [20.0, 0.0],
"machine_selector_widget": [20.0, 4.0],
"machine_selector_widget_content": [25.0, 32.0],
"machine_selector_icon": [2.66, 2.66],
"views_selector": [16.0, 4.5],
"views_selector": [23.0, 4.0],
"printer_type_label": [3.5, 1.5],
@ -384,6 +387,7 @@
"section": [0.0, 2],
"section_icon": [1.6, 1.6],
"section_icon_column": [2.8, 0.0],
"rating_star": [1.0, 1.0],
"setting": [25.0, 1.8],
"setting_control": [11.0, 2.0],
@ -402,6 +406,7 @@
"button_lining": [0, 0],
"action_button": [15.0, 3.0],
"action_button_icon": [1.0, 1.0],
"action_button_radius": [0.15, 0.15],
"small_button": [2, 2],
@ -430,7 +435,7 @@
"slider_handle": [1.5, 1.5],
"slider_layerview_size": [1.0, 26.0],
"layerview_menu_size": [15, 20],
"layerview_menu_size": [16.0, 4.0],
"layerview_legend_size": [1.0, 1.0],
"layerview_row": [11.0, 1.5],
"layerview_row_spacing": [0.0, 0.5],
@ -485,7 +490,7 @@
"toolbox_back_button": [4.0, 2.0],
"toolbox_installed_tile": [1.0, 8.0],
"toolbox_property_label": [1.0, 2.0],
"toolbox_heading_label": [1.0, 4.0],
"toolbox_heading_label": [1.0, 3.8],
"toolbox_header": [1.0, 4.0],
"toolbox_header_highlight": [0.25, 0.25],
"toolbox_progress_bar": [8.0, 0.5],