Fix merge conflicts

This commit is contained in:
Lipu Fei 2019-01-24 14:55:29 +01:00
commit 173f125d3e
893 changed files with 48366 additions and 2016 deletions

View file

@ -50,6 +50,23 @@
}
}
},
"CuraDrive": {
"package_info": {
"package_id": "CuraDrive",
"package_type": "plugin",
"display_name": "Cura Backups",
"description": "Backup and restore your configuration.",
"package_version": "1.2.0",
"sdk_version": 6,
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
"display_name": "Ultimaker B.V.",
"email": "plugins@ultimaker.com",
"website": "https://ultimaker.com"
}
}
},
"CuraEngineBackend": {
"package_info": {
"package_id": "CuraEngineBackend",
@ -356,7 +373,7 @@
}
}
},
"PreviewStage": {
"PreviewStage": {
"package_info": {
"package_id": "PreviewStage",
"package_type": "plugin",
@ -713,6 +730,40 @@
}
}
},
"VersionUpgrade35to40": {
"package_info": {
"package_id": "VersionUpgrade35to40",
"package_type": "plugin",
"display_name": "Version Upgrade 3.5 to 4.0",
"description": "Upgrades configurations from Cura 3.5 to Cura 4.0.",
"package_version": "1.0.0",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
"display_name": "Ultimaker B.V.",
"email": "plugins@ultimaker.com",
"website": "https://ultimaker.com"
}
}
},
"VersionUpgrade40to41": {
"package_info": {
"package_id": "VersionUpgrade40to41",
"package_type": "plugin",
"display_name": "Version Upgrade 4.0 to 4.1",
"description": "Upgrades configurations from Cura 4.0 to Cura 4.1.",
"package_version": "1.0.1",
"sdk_version": "6.0",
"website": "https://ultimaker.com",
"author": {
"author_id": "UltimakerPackages",
"display_name": "Ultimaker B.V.",
"email": "plugins@ultimaker.com",
"website": "https://ultimaker.com"
}
}
},
"X3DReader": {
"package_info": {
"package_id": "X3DReader",
@ -1409,7 +1460,7 @@
"package_type": "material",
"display_name": "Ultimaker PC",
"description": "Example package for material and quality profiles for Ultimaker materials.",
"package_version": "1.2.1",
"package_version": "1.2.2",
"sdk_version": "6.0",
"website": "https://ultimaker.com/products/materials/pc",
"author": {
@ -1585,4 +1636,4 @@
}
}
}
}
}

View file

@ -18,7 +18,7 @@
"default_value": "Alfawise U20"
},
"machine_start_gcode": {
"default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 ;home all axis\nG92 E0 ;zero the extruded length\nG1 Z1 F1000 ;move up slightly\nG1 X60.0 Z0 E9.0 F1000.0;intro line\nG1 X100.0 E21.5 F1000.0 ;continue line\nG92 E0 ;zero the extruded length again\n; -- end of START GCODE --"
"default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 ;home all axis\nG92 E0 ;zero the extruded length\nG1 Z1 F1000 ;move up slightly\nG1 Y60.0 Z0 E9.0 F1000.0;intro line\nG1 Y100.0 E21.5 F1000.0 ;continue line\nG92 E0 ;zero the extruded length again\n; -- end of START GCODE --"
},
"machine_end_gcode": {
"default_value": "; -- END GCODE --\nM104 S0 ;turn off nozzle heater\nM140 S0 ;turn off bed heater\nG91 ;set to relative positioning\nG1 E-10 F300 ;retract the filament slightly\nG90 ;set to absolute positioning\nG28 X0 ;move to the X-axis origin (Home)\nG0 Y280 F600 ;bring the bed to the front for easy print removal\nM84 ;turn off stepper motors\n; -- end of END GCODE --"

View file

@ -0,0 +1,93 @@
{
"name": "Alfawise U30",
"version": 2,
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "Nicolas Nussbaum",
"manufacturer": "Alfawise",
"file_formats": "text/x-gcode",
"preferred_quality_type": "fast",
"machine_extruder_trains":
{
"0": "alfawise_u30_extruder_0"
}
},
"overrides": {
"machine_name": {
"default_value": "Alfawise U30"
},
"machine_start_gcode": {
"default_value": "; -- START GCODE --\nG21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z1 F1000 ;move up slightly\nG1 Y60.0 Z0 E9.0 F1000.0;intro line\nG1 Y100.0 E21.5 F1000.0 ;continue line\nG92 E0 ;zero the extruded length again\nG1 F80\n;Put printing message on LCD screen\nM117 Printing...\n; -- end of START GCODE --"
},
"machine_end_gcode": {
"default_value": "; -- END GCODE --\nM104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F80 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning\nM107 ;turn the fan off; -- end of END GCODE --"
},
"machine_width": {
"default_value": 220
},
"machine_height": {
"default_value": 250
},
"machine_depth": {
"default_value": 220
},
"machine_heated_bed": {
"default_value": true
},
"machine_center_is_zero": {
"default_value": false
},
"gantry_height": {
"default_value": 10
},
"machine_gcode_flavor": {
"default_value": "RepRap (Marlin/Sprinter)"
},
"material_diameter": {
"default_value": 1.75
},
"material_print_temperature": {
"default_value": 210
},
"material_bed_temperature": {
"default_value": 50
},
"layer_height_0": {
"default_value": 0.2
},
"wall_thickness": {
"default_value": 1.2
},
"speed_print": {
"default_value": 40
},
"speed_infill": {
"default_value": 40
},
"speed_wall": {
"default_value": 35
},
"speed_topbottom": {
"default_value": 35
},
"speed_travel": {
"default_value": 120
},
"speed_layer_0": {
"default_value": 20
},
"support_enable": {
"default_value": true
},
"retraction_enable": {
"default_value": true
},
"retraction_amount": {
"default_value": 5
},
"retraction_speed": {
"default_value": 45
}
}
}

View file

@ -0,0 +1,45 @@
{
"version": 2,
"name": "Creatable D3",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "Creatable Labs",
"manufacturer": "Ateam Ventures Co. Ltd.",
"file_formats": "text/x-gcode",
"icon": "icon_ultimaker.png",
"platform": "rostock_platform.stl",
"machine_extruder_trains":
{
"0": "creatable_d3_extruder_0"
}
},
"overrides": {
"machine_name": { "default_value": "Creatable D3" },
"machine_center_is_zero": { "default_value": true },
"machine_gcode_flavor": { "default_value": "RepRap (RepRap)" },
"machine_width": { "default_value": 250 },
"machine_height": { "default_value": 200 },
"machine_depth": { "default_value": 250 },
"machine_heated_bed": { "default_value": true },
"machine_shape": { "default_value": "elliptic" },
"machine_max_feedrate_z": { "default_value": 300 },
"gantry_height": {"default_value": 43},
"layer_height": { "default_value": 0.1 },
"relative_extrusion": { "default_value": false },
"retraction_combing": { "default_value": "off" },
"retraction_hop_enabled": { "default_value": true },
"retraction_hop_only_when_collides": { "default_value": false },
"retraction_retract_speed": { "default_value": 100 },
"retraction_speed": { "default_value": 100 },
"retraction_amount": { "default_value": 4.5 },
"retraction_prime_speed": { "default_value": 45 },
"machine_start_gcode": {
"default_value": "G21\nG90\nM82\nM106 S255\nG28\nG92 E0\nG1 Z100 F5000\nM190 S50\nM109 S200\nG1 X-135\nG1 Z0.3\nG92 E-32\nG1 E0 F1000\nG1 E50 F200\nG1 F1000\nG1 X-125\nG92 E0"
},
"machine_end_gcode": {
"default_value": "M400\nG28\nM104 S0\nM140 S0\nM107\nG92 E0\nG1 E-32 F300\nM84\nG90"
}
}
}

View file

@ -0,0 +1,42 @@
{
"id": "3DP-110F",
"version": 2,
"name": "Cubicon Single",
"inherits": "cubicon_common",
"metadata": {
"author": "Cubicon R&D Center",
"manufacturer": "Cubicon",
"visible": true,
"file_formats": "text/x-gcode",
"platform": "",
"supports_usb_connection": false,
"machine_extruder_trains": {
"0": "cubicon_3dp_110f_extruder_0"
},
"platform_offset": [
0,
-32.05,
-20
]
},
"overrides": {
"machine_name": {
"default_value": "Cubicon Single"
},
"machine_start_gcode": {
"default_value": "M911 3DP-110F\nM201 X400 Y400\nM202 X400 Y400\nG28 ; Home\nG1 Z15.0 F6000 ;move the platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0"
},
"machine_width": {
"default_value": 240
},
"machine_depth": {
"default_value": 190
},
"machine_height": {
"default_value": 200
},
"material_bed_temp_wait": {
"default_value": true
}
}
}

View file

@ -0,0 +1,42 @@
{
"id": "3DP-210F",
"version": 2,
"name": "Cubicon Style",
"inherits": "cubicon_common",
"metadata": {
"author": "Cubicon R&D Center",
"manufacturer": "Cubicon",
"visible": true,
"file_formats": "text/x-gcode",
"platform": "",
"supports_usb_connection": false,
"machine_extruder_trains": {
"0": "cubicon_3dp_210f_extruder_0"
},
"platform_offset": [
0,
-18.8,
0
]
},
"overrides": {
"machine_name": {
"default_value": "Cubicon Style"
},
"machine_start_gcode": {
"default_value": "M911 3DP-210F\nM201 X400 Y400\nM202 X400 Y400\nG28 ; Home\nG1 Z15.0 F6000 ;move the platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0"
},
"machine_width": {
"default_value": 150
},
"machine_depth": {
"default_value": 150
},
"machine_height": {
"default_value": 150
},
"material_bed_temp_wait":{
"default_value": false
}
}
}

View file

@ -0,0 +1,42 @@
{
"id": "3DP-310F",
"version": 2,
"name": "Cubicon Single Plus",
"inherits": "cubicon_common",
"metadata": {
"author": "Cubicon R&D Center",
"manufacturer": "Cubicon",
"visible": true,
"file_formats": "text/x-gcode",
"platform": "",
"supports_usb_connection": false,
"machine_extruder_trains": {
"0": "cubicon_3dp_310f_extruder_0"
},
"platform_offset": [
0,
-32.05,
-20
]
},
"overrides": {
"machine_name": {
"default_value": "Cubicon Single Plus"
},
"machine_start_gcode": {
"default_value": "M911 3DP-310F\nM201 X400 Y400\nM202 X400 Y400\nG28 ; Home\nG1 Z15.0 F6000 ;move the platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0"
},
"machine_width": {
"default_value": 240
},
"machine_depth": {
"default_value": 190
},
"machine_height": {
"default_value": 200
},
"material_bed_temp_wait": {
"default_value": true
}
}
}

View file

@ -0,0 +1,99 @@
{
"version": 2,
"name": "Cubicon Common",
"inherits": "fdmprinter",
"metadata": {
"author": "Cubicon R&D Center",
"manufacturer": "Cubicon",
"visible": false
},
"overrides": {
"machine_start_gcode": {
"default_value": "M201 X400 Y400\nM202 X400 Y400\nG28 ; Home\nG1 Z15.0 F6000 ;move the platform down 15mm\n;Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0"
},
"machine_end_gcode": {
"default_value": "M104 S0\nM140 S0\nM904\nM117 Print completed! \nM84"
},
"machine_gcode_flavor": {
"default_value": "Repetier"
},
"machine_heated_bed": {
"default_value": true
},
"travel_compensate_overlapping_walls_enabled": {
"default_value": false
},
"travel_compensate_overlapping_walls_0_enabled": {
"default_value": false
},
"travel_compensate_overlapping_walls_x_enabled": {
"default_value": false
},
"layer_height": {
"default_value": 0.2
},
"layer_height_0": {
"default_value": 0.2
},
"infill_line_width": {
"default_value": 0.6
},
"adhesion_type": {
"default_value": "raft"
},
"roofing_pattern": { "default_value": "lines" },
"top_bottom_pattern": { "default_value": "lines" },
"top_bottom_pattern_0": {
"default_value": "zigzag"
},
"fill_perimeter_gaps": { "default_value": "everywhere" },
"infill_pattern": {
"default_value": "zigzag"
},
"infill_sparse_density": { "default_value": 20 },
"infill_overlap": {
"default_value": 15
},
"infill_before_walls": { "default_value": false },
"infill_sparse_thickness": { "default_value": 0.2 },
"top_bottom_thickness": {
"default_value": 1.0
},
"top_thickness": {
"default_value": 1.0
},
"bottom_thickness": {
"default_value": 0.6,
"value": "top_bottom_thickness * 0.6"
},
"roofing_layer_count": {
"default_value": 1
},
"skin_preshrink": { "default_value": true },
"material_flow_layer_0": { "default_value": 100 },
"top_skin_preshrink": { "default_value": 1.2 },
"bottom_skin_preshrink": { "default_value": 1.2 },
"max_skin_angle_for_expansion": { "default_value": 90 },
"min_skin_width_for_expansion": { "default_value": 2.7475 },
"skin_angles": { "default_value": "[135,45]" },
"roofing_angles": { "default_value": "[135,45]" },
"coasting_volume": { "default_value": 0.032 },
"wall_thickness": { "default_value": 1.2 },
"wall_line_count": { "default_value": 3 },
"speed_wall_0": { "default_value": 25 },
"skin_overlap": { "default_value": 5 },
"cool_min_layer_time_fan_speed_max": { "default_value": 15 },
"cool_min_layer_time": { "default_value": 15 },
"support_roof_pattern": { "default_value": "zigzag" },
"support_bottom_pattern": { "default_value": "zigzag" },
"support_interface_pattern": { "default_value": "zigzag" },
"support_pattern": { "default_value": "zigzag" },
"retraction_amount": { "default_value": 1.5 },
"top_layers": {
"default_value": 5
},
"bottom_layers": {
"default_value": 3
}
}
}

View file

@ -4690,6 +4690,7 @@
"default_value": 8.0,
"minimum_value": "0.0",
"maximum_value_warning": "50.0",
"maximum_value": "0.5 * min(machine_width, machine_depth)",
"enabled": "resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable')",
"settable_per_mesh": false,
"settable_per_extruder": true,
@ -4704,6 +4705,7 @@
"default_value": 20,
"minimum_value": "0",
"maximum_value_warning": "50 / skirt_brim_line_width",
"maximum_value": "0.5 * min(machine_width, machine_depth) / skirt_brim_line_width",
"value": "math.ceil(brim_width / (skirt_brim_line_width * initial_layer_line_width_factor / 100.0))",
"enabled": "resolveOrValue('adhesion_type') == 'brim' or resolveOrValue('prime_tower_brim_enable')",
"settable_per_mesh": false,

View file

@ -14,19 +14,24 @@
"has_variants": true,
"variants_name": "Hotend",
"preferred_variant_name": "0.5mm E3D (Default)",
"preferred_quality_type": "gmax15plus_global_normal",
"machine_extruder_trains": {
"0": "gmax15plus_extruder_0"
}
},
"overrides": {
"machine_extruder_count": { "default_value": 1 },
"machine_extruder_count": { "default_value": 1 },
"machine_name": { "default_value": "gMax 1.5 Plus" },
"machine_heated_bed": { "default_value": false },
"machine_width": { "default_value": 406 },
"machine_depth": { "default_value": 406 },
"machine_height": { "default_value": 533 },
"machine_center_is_zero": { "default_value": false },
"material_diameter": { "default_value": 1.75 },
"machine_nozzle_size": { "default_value": 0.5 },
"layer_height": { "default_value": 0.2 },
"layer_height_0": { "default_value": 0.3 },
"retraction_amount": { "default_value": 1 },
@ -43,10 +48,10 @@
"machine_max_jerk_z": { "default_value": 0.4 },
"machine_max_jerk_e": { "default_value": 5.0 },
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 ;Home X/Y/Z\nG29 ; Bed level\nM104 S{material_print_temperature} ; Preheat\nM109 S{material_print_temperature} ; Preheat\nG91 ;relative positioning\nG90 ;absolute positioning\nG1 Z25.0 F9000 ;raise nozzle 25mm\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." },
"machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 ;Home X/Y/Z\nM104 S{material_print_temperature} ; Preheat\nM109 S{material_print_temperature} ; Preheat\nG91 ;relative positioning\nG90 ;absolute positioning\nG1 Z25.0 F9000 ;raise nozzle 25mm\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." },
"machine_end_gcode": { "default_value": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning" },
"material_print_temperature": { "default_value": 202 },
"wall_thickness": { "default_value": 1 },
"material_print_temperature": { "default_value": 202 },
"wall_thickness": { "default_value": 1 },
"top_bottom_thickness": { "default_value": 1 },
"bottom_thickness": { "default_value": 1 }
}

View file

@ -10,24 +10,26 @@
"category": "Other",
"file_formats": "text/x-gcode",
"platform": "gmax_1-5_xt-plus_s3d_full model_150707.stl",
"has_variants": true,
"has_machine_quality": true,
"variants_name": "Hotend",
"preferred_variant_name": "0.5mm E3D (Default)",
"machine_extruder_trains": {
"0": "gmax15plus_dual_extruder_0",
"1": "gmax15plus_dual_extruder_1"
}
"has_variants": true,
"variants_name": "Hotend",
"preferred_variant_name": "0.5mm E3D (Default)",
"preferred_quality_type": "gmax15plus_global_dual_normal",
"machine_extruder_trains": {
"0": "gmax15plus_dual_extruder_0",
"1": "gmax15plus_dual_extruder_1"
}
},
"overrides": {
"machine_name": { "default_value": "gMax 1.5 Plus Dual Extruder" },
"machine_extruder_count": { "default_value": 2 },
"machine_extruder_count": { "default_value": 2 },
"machine_heated_bed": { "default_value": false },
"machine_width": { "default_value": 406 },
"machine_depth": { "default_value": 406 },
"machine_height": { "default_value": 533 },
"machine_center_is_zero": { "default_value": false },
"material_diameter": { "default_value": 1.75 },
"machine_nozzle_size": { "default_value": 0.5 },
"layer_height": { "default_value": 0.2 },
"layer_height_0": { "default_value": 0.3 },
"retraction_amount": { "default_value": 1 },
@ -44,10 +46,10 @@
"machine_max_jerk_z": { "default_value": 0.4 },
"machine_max_jerk_e": { "default_value": 5.0 },
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 ;Home X/Y/Z\nG29 ; Bed level\nM104 S{material_print_temperature} T0 ; Preheat Left Extruder\nM104 S{material_print_temperature} T1 ; Preheat Right Extruder\nM109 S{material_print_temperature} T0 ; Preheat Left Extruder\nM109 S{material_print_temperature} T1 ; Preheat Right Extruder\nG91 ;relative positioning\nG90 ;absolute positioning\nM218 T1 X34.3 Y0; Set 2nd extruder offset. This can be changed later if needed\nG1 Z25.0 F9000 ;raise nozzle 25mm\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." },
"machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 ;Home X/Y/Z\nM104 S{material_print_temperature} T0 ; Preheat Left Extruder\nM104 S{material_print_temperature} T1 ; Preheat Right Extruder\nM109 S{material_print_temperature} T0 ; Preheat Left Extruder\nM109 S{material_print_temperature} T1 ; Preheat Right Extruder\nG91 ;relative positioning\nG90 ;absolute positioning\nM218 T1 X34.3 Y0; Set 2nd extruder offset. This can be changed later if needed\nG1 Z25.0 F9000 ;raise nozzle 25mm\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." },
"machine_end_gcode": { "default_value": "M104 S0 T0;Left extruder off\nM104 S0 T1; Right extruder off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning" },
"material_print_temperature": { "default_value": 202 },
"wall_thickness": { "default_value": 1 },
"material_print_temperature": { "default_value": 202 },
"wall_thickness": { "default_value": 1 },
"top_bottom_thickness": { "default_value": 1 },
"bottom_thickness": { "default_value": 1 }
}

View file

@ -0,0 +1,52 @@
{
"version": 2,
"name": "Monoprice Ultimate",
"inherits": "wanhao_d6",
"metadata": {
"visible": true,
"author": "Danny Tuppeny",
"manufacturer": "monoprice",
"file_formats": "text/x-gcode",
"icon": "wanhao-icon.png",
"has_materials": true,
"platform": "wanhao_200_200_platform.obj",
"platform_texture": "Wanhaobackplate.png",
"machine_extruder_trains": {
"0": "wanhao_d6_extruder_0"
},
"platform_offset": [
0,
-28,
0
]
},
"overrides": {
"machine_name": {
"default_value": "Monoprice Ultimate"
},
"machine_max_acceleration_x": {
"default_value": 3000
},
"machine_max_acceleration_y": {
"default_value": 3000
},
"machine_max_acceleration_z": {
"default_value": 100
},
"machine_max_acceleration_e": {
"default_value": 500
},
"machine_acceleration": {
"default_value": 800
},
"machine_max_jerk_xy": {
"default_value": 10.0
},
"machine_max_jerk_z": {
"default_value": 0.4
},
"machine_max_jerk_e": {
"default_value": 1.0
}
}
}

View file

@ -0,0 +1,64 @@
{
"name": "NWA3D A5",
"version": 2,
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"author": "DragonJe",
"manufacturer": "NWA 3D LLC",
"file_formats": "text/x-gcode",
"platform_offset": [0, 0, 0],
"has_materials": true,
"has_variants": false,
"has_machine_materials": true,
"has_variant_materials": false,
"preferred_quality_type": "normal",
"has_machine_quality": true,
"preferred_material": "generic_pla",
"machine_extruder_trains":
{
"0": "nwa3d_a5_extruder_0"
}
},
"overrides": {
"machine_name": {
"default_value": "NWA3D A5"
},
"machine_width": {
"default_value": 125
},
"machine_height": {
"default_value": 100
},
"machine_depth": {
"default_value": 150
},
"machine_head_polygon": {
"default_value": [
[-30, 34],
[-30, -32],
[30, -32],
[30, 34]
]
},
"gantry_height": {
"default_value": 30
},
"machine_heated_bed": {
"default_value": false
},
"material_diameter": {
"default_value": 1.75
},
"machine_gcode_flavor": {
"default_value": "RepRap (RepRap)"
},
"machine_start_gcode": {
"default_value": "G28 ; Home\nG1 Z15.0 F6000 ; Move Z axis up 15mm\n ; Prime the extruder\nG92 E0\nG1 F200 E3\nG92 E0"
},
"machine_end_gcode": {
"default_value": "M104 S0\nM140 S0\n ; Retract the filament\nG92 E1\nG1 E-1 F300\nG28 X0 Y0\nM84"
}
}
}

View file

@ -42,7 +42,7 @@
"machine_max_feedrate_x": { "default_value": 255 },
"machine_max_feedrate_y": { "default_value": 225 },
"machine_max_feedrate_z": { "default_value": 3 },
"machine_max_acceleration_x": { "default_value": 2620 },
"machine_max_acceleration_x": { "default_value": 2650 },
"machine_max_acceleration_y": { "default_value": 2650 },
"acceleration_print": { "default_value": 2650 },
"machine_start_gcode": { "default_value": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F9000 ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F9000\n;Put printing message on LCD screen\nM117 Printing..." },

View file

@ -0,0 +1,41 @@
{
"version": 2,
"name": "Wanhao Duplicator 9",
"inherits": "fdmprinter",
"metadata": {
"visible": true,
"manufacturer": "Wanhao",
"file_formats": "text/x-gcode",
"has_materials": true,
"platform": "wanhao_300_300_platform.obj",
"platform_texture": "Wanhaobackplate.png",
"machine_extruder_trains": {
"0": "wanhao_d9_extruder_0"
},
"platform_offset": [ 0, -55, 0]
},
"overrides": {
"machine_name": { "default_value": "Wanhao Duplicator 9" },
"machine_width": { "default_value": 300 },
"machine_height": { "default_value": 400 },
"machine_depth": { "default_value": 300 },
"machine_heated_bed": { "default_value": true },
"machine_gcode_flavor": { "default_value": "RepRap (Marlin/Sprinter)" },
"machine_start_gcode": {
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{travel_speed} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{travel_speed} \n ;Put printing message on LCD screen\n M117 Printing..."
},
"machine_end_gcode": {
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
},
"support_angle": { "default_value": 60 },
"support_enable": { "default_value": true },
"layer_height_0": { "default_value": 0.15 },
"top_thickness": { "default_value": 0.6 },
"material_print_temperature": { "default_value": 190 },
"layer_height": { "default_value": 0.2 },
"speed_print": { "default_value": 30 },
"adhesion_type": { "default_value": "raft" },
"support_z_distance": { "default_value": 0.22 }
}
}

View file

@ -0,0 +1,16 @@
{
"id": "alfawise_u30_extruder_0",
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "alfawise_u30",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 }
}
}

View file

@ -0,0 +1,16 @@
{
"id": "creatable_d3_extruder_0",
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "Creatable_D3",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 }
}
}

View file

@ -0,0 +1,27 @@
{
"id": "cubicon_3dp_110f_extruder_0",
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "cubicon_3dp_110f",
"position": "0"
},
"overrides": {
"extruder_nr": {
"default_value": 0
},
"machine_nozzle_size": {
"default_value": 0.4
},
"machine_nozzle_offset_x": {
"default_value": -15
},
"machine_nozzle_offset_y": {
"default_value": -5
},
"material_diameter": {
"default_value": 1.75
}
}
}

View file

@ -0,0 +1,27 @@
{
"id": "cubicon_3dp_210f_extruder_0",
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "cubicon_3dp_210f",
"position": "0"
},
"overrides": {
"extruder_nr": {
"default_value": 0
},
"machine_nozzle_size": {
"default_value": 0.4
},
"machine_nozzle_offset_x": {
"default_value": -7.25
},
"machine_nozzle_offset_y": {
"default_value": -5.82
},
"material_diameter": {
"default_value": 1.75
}
}
}

View file

@ -0,0 +1,27 @@
{
"id": "cubicon_3dp_310f_extruder_0",
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "cubicon_3dp_310f",
"position": "0"
},
"overrides": {
"extruder_nr": {
"default_value": 0
},
"machine_nozzle_size": {
"default_value": 0.4
},
"machine_nozzle_offset_x": {
"default_value": -15
},
"machine_nozzle_offset_y": {
"default_value": -5
},
"material_diameter": {
"default_value": 1.75
}
}
}

View file

@ -15,10 +15,10 @@
},
"machine_nozzle_offset_x": { "default_value": 0.0 },
"machine_nozzle_offset_y": { "default_value": 0.0 },
"machine_nozzle_size": { "default_value": 0.5 },
"machine_nozzle_size": { "default_value": 0.5 },
"material_diameter": { "default_value": 1.75 },
"machine_extruder_start_pos_abs": { "default_value": true },
"machine_extruder_start_pos_abs": { "default_value": true },
"machine_extruder_start_pos_x": { "value": 40 },
"machine_extruder_start_pos_y": { "value": 210 },
"machine_extruder_end_pos_abs": { "default_value": true },

View file

@ -15,10 +15,10 @@
},
"machine_nozzle_offset_x": { "default_value": 0.0 },
"machine_nozzle_offset_y": { "default_value": 0.0 },
"machine_nozzle_size": { "default_value": 0.5 },
"machine_nozzle_size": { "default_value": 0.5 },
"material_diameter": { "default_value": 1.75 },
"machine_extruder_start_pos_abs": { "default_value": true },
"machine_extruder_start_pos_abs": { "default_value": true },
"machine_extruder_start_pos_x": { "value": 40 },
"machine_extruder_start_pos_y": { "value": 210 },
"machine_extruder_end_pos_abs": { "default_value": true },

View file

@ -0,0 +1,16 @@
{
"id": "nwa3d_a5_extruder_0",
"version": 2,
"name": "Regular 0.4mm Nozzle",
"inherits": "fdmextruder",
"metadata": {
"machine": "nwa3d_a5",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 }
}
}

View file

@ -0,0 +1,16 @@
{
"id": "wanhao_d9_extruder_0",
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata": {
"machine": "wanhao_d9",
"position": "0"
},
"overrides": {
"extruder_nr": { "default_value": 0 },
"machine_nozzle_size": { "default_value": 0.4 },
"material_diameter": { "default_value": 1.75 }
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

File diff suppressed because it is too large Load diff

View file

@ -44,7 +44,7 @@ Column
horizontalAlignment: Text.AlignHCenter
renderType: Text.NativeRendering
text: loggedIn ? profile["username"] : catalog.i18nc("@label", "Please log in or create an account to\nenjoy all features of Ultimaker Cura.")
font: loggedIn ? UM.Theme.getFont("large") : UM.Theme.getFont("default")
font: loggedIn ? UM.Theme.getFont("large_bold") : UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
}

View file

@ -16,7 +16,7 @@ Row
width: UM.Theme.getSize("account_button").width
height: UM.Theme.getSize("account_button").height
text: catalog.i18nc("@button", "Create account")
onClicked: Qt.openUrlExternally("https://account.ultimaker.com/app/create")
onClicked: Qt.openUrlExternally(CuraApplication.ultimakerCloudAccountRootUrl + "/app/create")
fixedWidthMode: true
}

View file

@ -16,7 +16,7 @@ Row
width: UM.Theme.getSize("account_button").width
height: UM.Theme.getSize("account_button").height
text: catalog.i18nc("@button", "Manage account")
onClicked: Qt.openUrlExternally("https://account.ultimaker.com")
onClicked: Qt.openUrlExternally(CuraApplication.ultimakerCloudAccountRootUrl)
fixedWidthMode: true
}

View file

@ -4,6 +4,7 @@
import QtQuick 2.7
import QtQuick.Controls 2.1
import QtGraphicalEffects 1.0 // For the dropshadow
import UM 1.1 as UM
import Cura 1.0 as Cura
@ -16,7 +17,7 @@ Button
property alias iconSource: buttonIconLeft.source
property alias textFont: buttonText.font
property alias cornerRadius: backgroundRect.radius
property alias tooltip: tooltip.text
property alias tooltip: tooltip.tooltipText
property alias cornerSide: backgroundRect.cornerSide
property color color: UM.Theme.getColor("primary")
@ -30,6 +31,9 @@ Button
property color outlineDisabledColor: outlineColor
property alias shadowColor: shadow.color
property alias shadowEnabled: shadow.visible
property alias busy: busyIndicator.visible
property alias toolTipContentAlignment: tooltip.contentAlignment
// This property is used to indicate whether the button has a fixed width or the width would depend on the contents
// Be careful when using fixedWidthMode, the translated texts can be too long that they won't fit. In any case,
@ -53,7 +57,7 @@ Button
width: visible ? height : 0
sourceSize.width: width
sourceSize.height: height
color: button.hovered ? button.textHoverColor : button.textColor
color: button.enabled ? (button.hovered ? button.textHoverColor : button.textColor) : button.textDisabledColor
visible: source != "" && !button.isIconOnRightSide
anchors.verticalCenter: parent.verticalCenter
}
@ -110,11 +114,31 @@ Button
z: backgroundRect.z - 1
}
ToolTip
Cura.ToolTip
{
id: tooltip
text: ""
delay: 500
visible: text != "" && button.hovered
visible: button.hovered
}
BusyIndicator
{
id: busyIndicator
anchors.centerIn: parent
width: height
height: parent.height
visible: false
RotationAnimator
{
target: busyIndicator.contentItem
running: busyIndicator.visible && busyIndicator.running
from: 0
to: 360
loops: Animation.Infinite
duration: 2500
}
}
}

View file

@ -23,6 +23,7 @@ Rectangle
border.width: UM.Theme.getSize("default_lining").width
border.color: UM.Theme.getColor("lining")
radius: UM.Theme.getSize("default_radius").width
z: 10
property bool outputAvailable: UM.Backend.state == UM.Backend.Done || UM.Backend.state == UM.Backend.Disabled

View file

@ -60,7 +60,6 @@ Item
leftPadding: UM.Theme.getSize("narrow_margin").width //Need more space than usual here for wide text.
rightPadding: UM.Theme.getSize("narrow_margin").width
tooltip: popup.opened ? "" : catalog.i18nc("@info:tooltip", "Select the active output device")
iconSource: popup.opened ? UM.Theme.getIcon("arrow_top") : UM.Theme.getIcon("arrow_bottom")
color: UM.Theme.getColor("action_panel_secondary")
visible: (devicesModel.deviceCount > 1)
@ -94,7 +93,6 @@ Item
onClicked:
{
UM.OutputDeviceManager.setActiveDevice(model.id)
widget.requestWriteToDevice()
popup.close()
}
}

View file

@ -31,6 +31,13 @@ Column
id: information
width: parent.width
height: childrenRect.height
PrintInformationWidget
{
id: printInformationPanel
visible: !preSlicedData
anchors.right: parent.right
}
Column
{
@ -40,8 +47,7 @@ Column
anchors
{
left: parent.left
right: printInformationPanel.left
rightMargin: printInformationPanel.visible ? UM.Theme.getSize("thin_margin").width : 0
right: parent.right
}
Cura.IconWithText
@ -51,7 +57,7 @@ Column
text: preSlicedData ? catalog.i18nc("@label", "No time estimation available") : PrintInformation.currentPrintTime.getDisplayString(UM.DurationFormat.Long)
source: UM.Theme.getIcon("clock")
font: UM.Theme.getFont("default_bold")
font: UM.Theme.getFont("medium_bold")
}
Cura.IconWithText
@ -86,18 +92,6 @@ Column
source: UM.Theme.getIcon("spool")
}
}
PrintInformationWidget
{
id: printInformationPanel
visible: !preSlicedData
anchors
{
right: parent.right
verticalCenter: timeAndCostsInformation.verticalCenter
}
}
}
Item
@ -123,11 +117,10 @@ Column
tooltip: text
fixedWidthMode: true
toolTipContentAlignment: Cura.ToolTip.ContentAlignment.AlignLeft
onClicked: UM.Controller.setActiveStage("PreviewStage")
visible: UM.Controller.activeStage != null && UM.Controller.activeStage.stageId != "PreviewStage"
shadowEnabled: true
shadowColor: UM.Theme.getColor("action_button_disabled_shadow")
}
Cura.OutputDevicesActionButton

View file

@ -44,9 +44,9 @@ Column
{
id: autoSlicingLabel
width: parent.width
visible: prepareButtons.autoSlice && (widget.backendState == UM.Backend.Processing || widget.backendState == UM.Backend.NotStarted)
visible: progressBar.visible
text: catalog.i18nc("@label:PrintjobStatus", "Auto slicing...")
text: catalog.i18nc("@label:PrintjobStatus", "Slicing...")
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("default")
renderType: Text.NativeRendering
@ -107,8 +107,14 @@ Column
{
id: sliceButton
fixedWidthMode: true
anchors.fill: parent
height: parent.height
anchors.right: parent.right
anchors.left: parent.left
text: catalog.i18nc("@button", "Slice")
tooltip: catalog.i18nc("@label", "Start the slicing process")
enabled: widget.backendState != UM.Backend.Error
visible: widget.backendState == UM.Backend.NotStarted || widget.backendState == UM.Backend.Error
onClicked: sliceOrStopSlicing()
@ -118,7 +124,10 @@ Column
{
id: cancelButton
fixedWidthMode: true
anchors.fill: parent
height: parent.height
anchors.left: parent.left
anchors.right: parent.right
text: catalog.i18nc("@button", "Cancel")
enabled: sliceButton.enabled
visible: !sliceButton.visible
@ -133,8 +142,12 @@ Column
target: UM.Preferences
onPreferenceChanged:
{
if (preference !== "general/auto_slice")
{
return;
}
var autoSlice = UM.Preferences.getValue("general/auto_slice")
print(prepareButtons.autoSlice, autoSlice)
if(prepareButtons.autoSlice != autoSlice)
{
prepareButtons.autoSlice = autoSlice
@ -152,7 +165,7 @@ Column
shortcut: "Ctrl+P"
onTriggered:
{
if (prepareButton.enabled)
if (sliceButton.enabled)
{
sliceOrStopSlicing()
}

View file

@ -58,6 +58,7 @@ Item
property alias showProfileFolder: showProfileFolderAction;
property alias documentation: documentationAction;
property alias showTroubleshooting: showTroubleShootingAction
property alias reportBug: reportBugAction;
property alias about: aboutAction;
@ -69,18 +70,26 @@ Item
UM.I18nCatalog{id: catalog; name: "cura"}
Action
{
id: showTroubleShootingAction
onTriggered: Qt.openUrlExternally("https://ultimaker.com/en/troubleshooting")
text: catalog.i18nc("@action:inmenu", "Show Online Troubleshooting Guide");
}
Action
{
id:toggleFullScreenAction
shortcut: StandardKey.FullScreen;
text: catalog.i18nc("@action:inmenu","Toggle Full Screen");
text: catalog.i18nc("@action:inmenu", "Toggle Full Screen");
iconName: "view-fullscreen";
}
Action
{
id: undoAction;
text: catalog.i18nc("@action:inmenu menubar:edit","&Undo");
text: catalog.i18nc("@action:inmenu menubar:edit", "&Undo");
iconName: "edit-undo";
shortcut: StandardKey.Undo;
onTriggered: UM.OperationStack.undo();

View file

@ -0,0 +1,63 @@
// Copyright (c) 2018 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
import QtQuick.Controls 2.1
import UM 1.3 as UM
CheckBox
{
id: checkbox
hoverEnabled: true
property alias tooltip: tooltip.text
indicator: Rectangle
{
implicitWidth: UM.Theme.getSize("checkbox").width
implicitHeight: UM.Theme.getSize("checkbox").height
x: 0
anchors.verticalCenter: parent.verticalCenter
color: UM.Theme.getColor("main_background")
radius: UM.Theme.getSize("checkbox_radius").width
border.width: UM.Theme.getSize("default_lining").width
border.color: checkbox.hovered ? UM.Theme.getColor("checkbox_border_hover") : UM.Theme.getColor("checkbox_border")
UM.RecolorImage
{
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
width: Math.round(parent.width / 2.5)
height: Math.round(parent.height / 2.5)
sourceSize.height: width
color: UM.Theme.getColor("checkbox_mark")
source: UM.Theme.getIcon("check")
opacity: checkbox.checked
Behavior on opacity { NumberAnimation { duration: 100; } }
}
}
contentItem: Label
{
anchors
{
left: checkbox.indicator.right
leftMargin: UM.Theme.getSize("narrow_margin").width
}
text: checkbox.text
color: UM.Theme.getColor("checkbox_text")
font: UM.Theme.getFont("default")
renderType: Text.NativeRendering
elide: Text.ElideRight
verticalAlignment: Text.AlignVCenter
}
ToolTip
{
id: tooltip
text: ""
delay: 500
visible: text != "" && checkbox.hovered
}
}

View file

@ -124,16 +124,16 @@ 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
}
// 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
@ -248,11 +248,59 @@ UM.MainWindow
Cura.ActionPanelWidget
{
id: actionPanelWidget
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.rightMargin: UM.Theme.getSize("thick_margin").width
anchors.bottomMargin: UM.Theme.getSize("thick_margin").height
visible: CuraApplication.platformActivity
/*
Show this panel only if there is something on the build plate, and there is NOT an opaque item in front of the build plate.
This cannot be solved by Z indexing! If you want to try solving this, please increase this counter when you're done:
Number of people having tried to fix this by z-indexing: 2
The problem arises from the following render order requirements:
- The stage menu must be rendered above the stage main.
- The stage main must be rendered above the action panel (because the monitor page must be rendered above the action panel).
- The action panel must be rendered above the expandable components drop-down.
However since the expandable components drop-downs are child elements of the stage menu,
they can't be rendered lower than elements that are lower than the stage menu.
Therefore we opted to forego the second requirement and hide the action panel instead when something obscures it (except the expandable components).
We assume that QQuickRectangles are always opaque and any other item is not.
*/
visible: CuraApplication.platformActivity && (main.item == null || !qmlTypeOf(main.item, "QQuickRectangle"))
}
Item
{
id: additionalComponents
width: childrenRect.width
anchors.right: actionPanelWidget.left
anchors.rightMargin: UM.Theme.getSize("default_margin").width
anchors.bottom: actionPanelWidget.bottom
anchors.bottomMargin: UM.Theme.getSize("thick_margin").height * 2
visible: actionPanelWidget.visible
Row
{
id: additionalComponentsRow
anchors.verticalCenter: parent.verticalCenter
spacing: UM.Theme.getSize("default_margin").width
}
}
Component.onCompleted: contentItem.addAdditionalComponents()
Connections
{
target: CuraApplication
onAdditionalComponentsChanged: contentItem.addAdditionalComponents("saveButton")
}
function addAdditionalComponents()
{
for (var component in CuraApplication.additionalComponents["saveButton"])
{
CuraApplication.additionalComponents["saveButton"][component].parent = additionalComponentsRow
}
}
Loader
@ -353,9 +401,6 @@ UM.MainWindow
insertPage(4, catalog.i18nc("@title:tab", "Profiles"), Qt.resolvedUrl("Preferences/ProfilesPage.qml"));
// Remove plug-ins page because we will use the shiny new plugin browser:
removePage(5);
//Force refresh
setPage(0);
}
@ -818,4 +863,21 @@ UM.MainWindow
}
}
}
/**
* Function to check whether a QML object has a certain type.
* Taken from StackOverflow: https://stackoverflow.com/a/28384228 and
* adapted to our code style.
* Licensed under CC BY-SA 3.0.
* \param obj The QtObject to get the name of.
* \param class_name (str) The name of the class to check against. Has to be
* the QtObject class name, not the QML entity name.
*/
function qmlTypeOf(obj, class_name)
{
//className plus "(" is the class instance without modification.
//className plus "_QML" is the class instance with user-defined properties.
var str = obj.toString();
return str.indexOf(class_name + "(") == 0 || str.indexOf(class_name + "_QML") == 0;
}
}

View file

@ -51,7 +51,7 @@ UM.Dialog
id: version
text: catalog.i18nc("@label","version: %1").arg(UM.Application.version)
font: UM.Theme.getFont("large")
font: UM.Theme.getFont("large_bold")
color: UM.Theme.getColor("text")
anchors.right : logo.right
anchors.top: logo.bottom

View file

@ -64,7 +64,7 @@ Item
property alias iconSize: collapseButton.height
// Is the "drawer" open?
readonly property alias expanded: contentContainer.visible
property alias expanded: contentContainer.visible
// What should the radius of the header be. This is also influenced by the headerCornerSide
property alias headerRadius: background.radius

View file

@ -25,7 +25,7 @@ Cura.RoundedRectangle
{
id: headerLabel
text: ""
font: UM.Theme.getFont("default")
font: UM.Theme.getFont("medium")
renderType: Text.NativeRendering
verticalAlignment: Text.AlignVCenter
color: UM.Theme.getColor("small_button_text")

View file

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

View file

@ -97,7 +97,7 @@ Item
style: TextFieldStyle
{
textColor: UM.Theme.getColor("text_scene")
font: UM.Theme.getFont("default_bold")
font: UM.Theme.getFont("default")
background: Rectangle
{
opacity: 0
@ -115,7 +115,7 @@ Item
height: UM.Theme.getSize("jobspecs_line").height
verticalAlignment: Text.AlignVCenter
font: UM.Theme.getFont("default_bold")
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text_scene")
text: CuraApplication.getSceneBoundingBoxString
}

View file

@ -83,14 +83,6 @@ Item
}
}
Menu
{
id: plugin_menu
title: catalog.i18nc("@title:menu menubar:toplevel", "&Marketplace")
MenuItem { action: Cura.Actions.browsePackages }
}
Menu
{
id: preferencesMenu
@ -105,6 +97,7 @@ Item
title: catalog.i18nc("@title:menu menubar:toplevel", "&Help")
MenuItem { action: Cura.Actions.showProfileFolder }
MenuItem { action: Cura.Actions.showTroubleshooting}
MenuItem { action: Cura.Actions.documentation }
MenuItem { action: Cura.Actions.reportBug }
MenuSeparator { }

View file

@ -30,7 +30,8 @@ Item
width: UM.Theme.getSize("logo").width
height: UM.Theme.getSize("logo").height
mipmap: true
sourceSize.width: width
sourceSize.height: height
}
Row
@ -101,6 +102,7 @@ Item
{
id: label
text: marketplaceButton.text
font: UM.Theme.getFont("default")
color: marketplaceButton.hovered ? UM.Theme.getColor("main_window_header_background") : UM.Theme.getColor("primary_text")
width: contentWidth
verticalAlignment: Text.AlignVCenter

View file

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

View file

@ -12,7 +12,23 @@ Button
id: configurationItem
property var configuration: null
hoverEnabled: true
hoverEnabled: isValidMaterial
property bool isValidMaterial:
{
var extruderConfigurations = configuration.extruderConfigurations
for (var index in extruderConfigurations)
{
var name = extruderConfigurations[index].material ? extruderConfigurations[index].material.name : ""
if (name == "" || name == "Unknown")
{
return false
}
}
return true
}
background: Rectangle
{
@ -40,17 +56,104 @@ Button
right: parent.right
rightMargin: UM.Theme.getSize("wide_margin").width
}
height: childrenRect.height
spacing: UM.Theme.getSize("default_margin").width
Repeater
{
id: repeater
model: configuration.extruderConfigurations
delegate: PrintCoreConfiguration
{
width: Math.round(parent.width / 2)
printCoreConfiguration: modelData
visible: configurationItem.isValidMaterial
}
}
// Unknown material
Item
{
id: unknownMaterial
height: unknownMaterialMessage.height + UM.Theme.getSize("thin_margin").width / 2
width: parent.width
anchors.top: parent.top
anchors.topMargin: UM.Theme.getSize("thin_margin").width / 2
visible: !configurationItem.isValidMaterial
UM.RecolorImage
{
id: icon
anchors.verticalCenter: unknownMaterialMessage.verticalCenter
source: UM.Theme.getIcon("warning")
color: UM.Theme.getColor("warning")
width: UM.Theme.getSize("section_icon").width
height: width
}
Label
{
id: unknownMaterialMessage
text:
{
var extruderConfigurations = configuration.extruderConfigurations
var unknownMaterials = []
for (var index in extruderConfigurations)
{
var name = extruderConfigurations[index].material ? extruderConfigurations[index].material.name : ""
if (name == "" || name == "Unknown")
{
var materialType = extruderConfigurations[index].material.type
if (extruderConfigurations[index].material.type == "")
{
materialType = "Unknown"
}
var brand = extruderConfigurations[index].material.brand
if (brand == "")
{
brand = "Unknown"
}
name = materialType + " (" + brand + ")"
unknownMaterials.push(name)
}
}
unknownMaterials = "<b>" + unknownMaterials + "</b>"
var draftResult = catalog.i18nc("@label", "This configuration is not available because %1 is not recognized. Please visit %2 to download the correct material profile.");
var result = draftResult.arg(unknownMaterials).arg("<a href=' '>" + catalog.i18nc("@label","Marketplace") + "</a> ")
return result
}
width: extruderRow.width
anchors.left: icon.right
anchors.right: unknownMaterial.right
anchors.leftMargin: UM.Theme.getSize("wide_margin").height
anchors.top: unknownMaterial.top
wrapMode: Text.WordWrap
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
verticalAlignment: Text.AlignVCenter
linkColor: UM.Theme.getColor("text_link")
onLinkActivated:
{
Cura.Actions.browsePackages.trigger()
}
}
MouseArea
{
anchors.fill: parent
cursorShape: unknownMaterialMessage.hoveredLink ? Qt.PointingHandCursor : Qt.ArrowCursor
acceptedButtons: Qt.NoButton
}
}
}
@ -84,27 +187,15 @@ Button
rightMargin: UM.Theme.getSize("wide_margin").width
}
height: childrenRect.height
visible: configuration.buildplateConfiguration != ""
visible: configuration.buildplateConfiguration != "" && false //Buildplate is disabled as long as we have no printers that properly support buildplate swapping (so we can't test).
UM.RecolorImage
{
id: buildplateIcon
anchors.left: parent.left
width: UM.Theme.getSize("main_window_header_button_icon").width
height: UM.Theme.getSize("main_window_header_button_icon").height
source: UM.Theme.getIcon("buildplate")
color: UM.Theme.getColor("text")
}
Label
// Show the type of buildplate. The first letter is capitalized
Cura.IconWithText
{
id: buildplateLabel
anchors.left: buildplateIcon.right
anchors.verticalCenter: buildplateIcon.verticalCenter
anchors.leftMargin: UM.Theme.getSize("narrow_margin").height
text: configuration.buildplateConfiguration
renderType: Text.NativeRendering
color: UM.Theme.getColor("text")
source: UM.Theme.getIcon("buildplate")
text: configuration.buildplateConfiguration.charAt(0).toUpperCase() + configuration.buildplateConfiguration.substr(1)
anchors.left: parent.left
}
}
}
@ -125,6 +216,9 @@ Button
onClicked:
{
Cura.MachineManager.applyRemoteConfiguration(configuration)
if(isValidMaterial)
{
Cura.MachineManager.applyRemoteConfiguration(configuration);
}
}
}

View file

@ -23,7 +23,7 @@ Item
}
}
// This component will appear when there is no configurations (e.g. when losing connection)
// This component will appear when there are no configurations (e.g. when losing connection or when they are being loaded)
Item
{
width: parent.width
@ -51,7 +51,11 @@ Item
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.")
// There are two cases that we want to diferenciate, one is when Cura is loading the configurations and the
// other when the connection was lost
text: Cura.MachineManager.printerConnected ?
catalog.i18nc("@label", "Loading available configurations from the printer...") :
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
@ -93,6 +97,7 @@ Item
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.
height: childrenRect.height
interactive: false // let the ScrollView process scroll events.
section.property: "modelData.printerType"
section.criteria: ViewSection.FullString

View file

@ -64,27 +64,9 @@ Cura.ExpandablePopup
// Label for the brand of the material
Label
{
id: brandNameLabel
id: typeAndBrandNameLabel
text: model.material_brand
elide: Text.ElideRight
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text_inactive")
renderType: Text.NativeRendering
anchors
{
left: extruderIcon.right
leftMargin: UM.Theme.getSize("default_margin").width
right: parent.right
rightMargin: UM.Theme.getSize("default_margin").width
}
}
// Label that shows the name of the material
Label
{
text: model.material
text: model.material_brand + " " + model.material
elide: Text.ElideRight
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text")
@ -92,11 +74,31 @@ Cura.ExpandablePopup
anchors
{
top: extruderIcon.top
left: extruderIcon.right
leftMargin: UM.Theme.getSize("default_margin").width
right: parent.right
rightMargin: UM.Theme.getSize("default_margin").width
top: brandNameLabel.bottom
}
}
// Label that shows the name of the variant
Label
{
id: variantLabel
visible: Cura.MachineManager.hasVariants
text: model.variant
elide: Text.ElideRight
font: UM.Theme.getFont("default_bold")
color: UM.Theme.getColor("text")
renderType: Text.NativeRendering
anchors
{
left: extruderIcon.right
leftMargin: UM.Theme.getSize("default_margin").width
top: typeAndBrandNameLabel.bottom
}
}
}
@ -107,7 +109,7 @@ Cura.ExpandablePopup
{
text: catalog.i18nc("@label", "Select configuration")
elide: Text.ElideRight
font: UM.Theme.getFont("default")
font: UM.Theme.getFont("medium")
color: UM.Theme.getColor("text")
renderType: Text.NativeRendering
@ -136,9 +138,9 @@ Cura.ExpandablePopup
onVisibleChanged:
{
is_connected = Cura.MachineManager.activeMachineHasRemoteConnection && Cura.MachineManager.printerConnected //Re-evaluate.
is_connected = Cura.MachineManager.activeMachineHasRemoteConnection && Cura.MachineManager.printerConnected && Cura.MachineManager.printerOutputDevices[0].uniqueConfigurations.length > 0 //Re-evaluate.
// If the printer is not connected, we switch always to the custom mode. If is connected instead, the auto mode
// If the printer is not connected or does not have configurations, we switch always to the custom mode. If is connected instead, the auto mode
// or the previous state is selected
configuration_method = is_connected ? (manual_selected_method == -1 ? ConfigurationMenu.ConfigurationMethod.Auto : manual_selected_method) : ConfigurationMenu.ConfigurationMethod.Custom
}
@ -173,6 +175,59 @@ Cura.ExpandablePopup
}
}
Item
{
height: visible ? childrenRect.height: 0
anchors.right: parent.right
anchors.rightMargin: UM.Theme.getSize("default_margin").width
width: childrenRect.width + UM.Theme.getSize("default_margin").width
visible: popupItem.configuration_method == ConfigurationMenu.ConfigurationMethod.Custom
UM.RecolorImage
{
id: externalLinkIcon
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_margin").width
height: materialInfoLabel.height
width: height
sourceSize.height: width
color: UM.Theme.getColor("text_link")
source: UM.Theme.getIcon("external_link")
}
Label
{
id: materialInfoLabel
wrapMode: Text.WordWrap
text: catalog.i18nc("@label", "See the material compatibility chart")
font: UM.Theme.getFont("default")
color: UM.Theme.getColor("text_link")
linkColor: UM.Theme.getColor("text_link")
anchors.left: externalLinkIcon.right
anchors.leftMargin: UM.Theme.getSize("narrow_margin").width
renderType: Text.NativeRendering
MouseArea
{
anchors.fill: parent
hoverEnabled: true
onClicked:
{
// open the material URL with web browser
var url = "https://ultimaker.com/incoming-links/cura/material-compatibilty"
Qt.openUrlExternally(url)
}
onEntered:
{
materialInfoLabel.font.underline = true
}
onExited:
{
materialInfoLabel.font.underline = false
}
}
}
}
Rectangle
{
id: separator

View file

@ -23,7 +23,7 @@ Item
{
id: header
text: catalog.i18nc("@header", "Custom")
font: UM.Theme.getFont("default")
font: UM.Theme.getFont("medium")
color: UM.Theme.getColor("small_button_text")
height: contentHeight
renderType: Text.NativeRendering

View file

@ -39,7 +39,7 @@ Row
text: printCoreConfiguration.material.brand ? printCoreConfiguration.material.name : " " //Use space so that the height is still correct.
renderType: Text.NativeRendering
elide: Text.ElideRight
font: UM.Theme.getFont("default")
font: UM.Theme.getFont("medium")
color: UM.Theme.getColor("text")
}
Label

View file

@ -7,16 +7,18 @@ import QtQuick.Controls 1.4
import UM 1.2 as UM
import Cura 1.0 as Cura
Instantiator {
model: UM.ContainerStacksModel {
filter: {"type": "machine", "um_network_key": null}
}
MenuItem {
text: model.name;
checkable: true;
Instantiator
{
model: Cura.GlobalStacksModel {}
MenuItem
{
text: model.name
checkable: true
checked: Cura.MachineManager.activeMachineId == model.id
exclusiveGroup: group;
onTriggered: Cura.MachineManager.setActiveMachine(model.id);
exclusiveGroup: group
visible: !model.hasRemoteConnection
onTriggered: Cura.MachineManager.setActiveMachine(model.id)
}
onObjectAdded: menu.insertItem(index, object)
onObjectRemoved: menu.removeItem(object)

View file

@ -9,19 +9,23 @@ import Cura 1.0 as Cura
Instantiator
{
model: UM.ContainerStacksModel
{
filter: {"type": "machine", "um_network_key": "*", "hidden": "False"}
}
model: Cura.GlobalStacksModel {}
MenuItem
{
// TODO: Use printer_group icon when it's a cluster. Not use it for now since it doesn't look as expected
// iconSource: UM.Theme.getIcon("printer_single")
text: model.metadata["connect_group_name"]
checkable: true;
checked: Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"]
exclusiveGroup: group;
onTriggered: Cura.MachineManager.setActiveMachine(model.id);
property string connectGroupName:
{
if("connect_group_name" in model.metadata)
{
return model.metadata["connect_group_name"]
}
return ""
}
text: connectGroupName
checkable: true
visible: model.hasRemoteConnection
checked: Cura.MachineManager.activeMachineNetworkGroupName == connectGroupName
exclusiveGroup: group
onTriggered: Cura.MachineManager.setActiveMachine(model.id)
}
onObjectAdded: menu.insertItem(index, object)
onObjectRemoved: menu.removeItem(object)

View file

@ -20,7 +20,7 @@ Menu
text:
{
var full_text = (model.layer_height != "") ? model.name + " - " + model.layer_height + model.layer_height_unit : model.name
full_text += model.is_experimental ? " - Experimental" : ""
full_text += model.is_experimental ? " - " + catalog.i18nc("@label", "Experimental") : ""
return full_text
}
checkable: true

View file

@ -168,7 +168,7 @@ Item
anchors.leftMargin: UM.Theme.getSize("thick_margin").width
color: base.statusColor
font: UM.Theme.getFont("large")
font: UM.Theme.getFont("large_bold")
text: statusText
}
@ -179,7 +179,7 @@ Item
anchors.right: progressBar.right
color: base.statusColor
font: UM.Theme.getFont("large")
font: UM.Theme.getFont("large_bold")
text: Math.round(progress) + "%"
visible: showProgress
}

View file

@ -746,6 +746,11 @@ UM.PreferencesPage
target: UM.Preferences
onPreferenceChanged:
{
if (preference !== "info/send_slice_info")
{
return;
}
sendDataCheckbox.checked = boolCheck(UM.Preferences.getValue("info/send_slice_info"))
}
}

View file

@ -70,7 +70,7 @@ UM.ManagementPage
{
id: machineName
text: base.currentItem && base.currentItem.name ? base.currentItem.name : ""
font: UM.Theme.getFont("large")
font: UM.Theme.getFont("large_bold")
width: parent.width
elide: Text.ElideRight
}
@ -126,132 +126,15 @@ UM.ManagementPage
}
}
Grid
{
id: machineInfo
anchors.top: machineActions.visible ? machineActions.bottom : machineActions.anchors.top
anchors.topMargin: UM.Theme.getSize("default_margin").height
anchors.left: parent.left
anchors.right: parent.right
spacing: UM.Theme.getSize("default_margin").height
rowSpacing: UM.Theme.getSize("default_lining").height
columns: 2
visible: base.currentItem
property bool printerConnected: Cura.MachineManager.printerConnected
property var connectedPrinter: printerConnected ? Cura.MachineManager.printerOutputDevices[0] : null
property bool printerAcceptsCommands: printerConnected && Cura.MachineManager.printerOutputDevices[0].acceptsCommands
property var printJob: connectedPrinter != null ? connectedPrinter.activePrintJob: null
Label
{
text: catalog.i18nc("@label", "Printer type:")
visible: base.currentItem && "definition_name" in base.currentItem.metadata
}
Label
{
text: (base.currentItem && "definition_name" in base.currentItem.metadata) ? base.currentItem.metadata.definition_name : ""
}
Label
{
text: catalog.i18nc("@label", "Connection:")
visible: base.currentItem && base.currentItem.id == Cura.MachineManager.activeMachineId
}
Label
{
width: (parent.width * 0.7) | 0
text: machineInfo.printerConnected ? machineInfo.connectedPrinter.connectionText : catalog.i18nc("@info:status", "The printer is not connected.")
visible: base.currentItem && base.currentItem.id == Cura.MachineManager.activeMachineId
wrapMode: Text.WordWrap
}
Label
{
text: catalog.i18nc("@label", "State:")
visible: base.currentItem && base.currentItem.id == Cura.MachineManager.activeMachineId && machineInfo.printerAcceptsCommands
}
Label {
width: (parent.width * 0.7) | 0
text:
{
if(!machineInfo.printerConnected || !machineInfo.printerAcceptsCommands) {
return "";
}
if (machineInfo.printJob == null)
{
return catalog.i18nc("@label:MonitorStatus", "Waiting for a printjob");
}
switch(machineInfo.printJob.state)
{
case "printing":
return catalog.i18nc("@label:MonitorStatus", "Printing...");
case "paused":
return catalog.i18nc("@label:MonitorStatus", "Paused");
case "pre_print":
return catalog.i18nc("@label:MonitorStatus", "Preparing...");
case "wait_cleanup":
return catalog.i18nc("@label:MonitorStatus", "Waiting for someone to clear the build plate");
case "error":
return printerOutputDevice.errorText;
case "maintenance":
return catalog.i18nc("@label:MonitorStatus", "In maintenance. Please check the printer");
case "abort": // note sure if this jobState actually occurs in the wild
return catalog.i18nc("@label:MonitorStatus", "Aborting print...");
}
return ""
}
visible: base.currentItem && base.currentItem.id == Cura.MachineManager.activeMachineId && machineInfo.printerAcceptsCommands
wrapMode: Text.WordWrap
}
}
Column {
id: additionalComponentsColumn
anchors.left: parent.left
anchors.right: parent.right
anchors.top: machineInfo.visible ? machineInfo.bottom : machineInfo.anchors.top
anchors.topMargin: UM.Theme.getSize("default_margin").width
spacing: UM.Theme.getSize("default_margin").width
visible: base.currentItem && base.currentItem.id == Cura.MachineManager.activeMachineId
Component.onCompleted:
{
for (var component in CuraApplication.additionalComponents["machinesDetailPane"]) {
CuraApplication.additionalComponents["machinesDetailPane"][component].parent = additionalComponentsColumn
}
}
}
Component.onCompleted: {
addAdditionalComponents("machinesDetailPane")
}
Connections {
target: CuraApplication
onAdditionalComponentsChanged: addAdditionalComponents
}
function addAdditionalComponents (areaId) {
if(areaId == "machinesDetailPane") {
for (var component in CuraApplication.additionalComponents["machinesDetailPane"]) {
CuraApplication.additionalComponents["machinesDetailPane"][component].parent = additionalComponentsColumn
}
}
}
UM.I18nCatalog { id: catalog; name: "cura"; }
UM.ConfirmRemoveDialog
{
id: confirmDialog;
object: base.currentItem && base.currentItem.name ? base.currentItem.name : "";
id: confirmDialog
object: base.currentItem && base.currentItem.name ? base.currentItem.name : ""
onYes:
{
Cura.MachineManager.removeMachine(base.currentItem.id);
Cura.MachineManager.removeMachine(base.currentItem.id)
if(!base.currentItem)
{
objectList.currentIndex = activeMachineIndex()

View file

@ -10,7 +10,7 @@ import QtQuick.Dialogs 1.2
import UM 1.2 as UM
import Cura 1.0 as Cura
Rectangle
Item
{
id: brand_section
@ -139,6 +139,11 @@ Rectangle
target: UM.Preferences
onPreferenceChanged:
{
if (preference !== "cura/expanded_types" && preference !== "cura/expanded_brands")
{
return;
}
expanded = materialList.expandedBrands.indexOf(sectionName) > -1
}
}

View file

@ -65,7 +65,7 @@ Item
Label {
text: materialProperties.name
font: UM.Theme.getFont("large")
font: UM.Theme.getFont("large_bold")
}
}

View file

@ -83,7 +83,7 @@ Item
{
text: catalog.i18nc("@action:button", "Activate")
iconName: "list-activate"
enabled: !isCurrentItemActivated
enabled: !isCurrentItemActivated && Cura.MachineManager.hasMaterials
onClicked:
{
forceActiveFocus()

View file

@ -15,7 +15,7 @@ Rectangle
id: materialSlot
property var material: null
property var hovered: false
property var is_favorite: material != null ? material.is_favorite : false
property var is_favorite: material != null && material.is_favorite
height: UM.Theme.getSize("favorites_row").height
width: parent.width
@ -73,11 +73,9 @@ Rectangle
if (materialSlot.is_favorite)
{
base.materialManager.removeFavorite(material.root_material_id)
materialSlot.is_favorite = false
return
}
base.materialManager.addFavorite(material.root_material_id)
materialSlot.is_favorite = true
return
}
style: ButtonStyle

View file

@ -10,7 +10,7 @@ import QtQuick.Dialogs 1.2
import UM 1.2 as UM
import Cura 1.0 as Cura
Rectangle
Item
{
id: material_type_section
property var materialType
@ -130,6 +130,11 @@ Rectangle
target: UM.Preferences
onPreferenceChanged:
{
if (preference !== "cura/expanded_types" && preference !== "cura/expanded_brands")
{
return;
}
expanded = materialList.expandedTypes.indexOf(materialType.brand + "_" + materialType.name) > -1
}
}

View file

@ -376,6 +376,7 @@ Item
width: true ? (parent.width * 0.4) | 0 : parent.width
frameVisible: true
clip: true
ListView
{
@ -408,7 +409,7 @@ Item
{
anchors.left: parent.left
anchors.leftMargin: UM.Theme.getSize("default_lining").width
text: section == "true" ? catalog.i18nc("@label", "Protected profiles") : catalog.i18nc("@label", "Custom profiles")
text: section == "true" ? catalog.i18nc("@label", "Default profiles") : catalog.i18nc("@label", "Custom profiles")
font.bold: true
}
}
@ -471,7 +472,7 @@ Item
Label {
text: base.currentItemName
font: UM.Theme.getFont("large")
font: UM.Theme.getFont("large_bold")
}
}

View file

@ -11,7 +11,6 @@ import Cura 1.0 as Cura
Item
{
id: customPrintSetup
height: childrenRect.height + padding
property real padding: UM.Theme.getSize("default_margin").width
property bool multipleExtruders: extrudersModel.count > 1
@ -98,15 +97,15 @@ Item
Rectangle
{
height: UM.Theme.getSize("print_setup_widget").height
anchors
{
top: tabBar.visible ? tabBar.bottom : globalProfileRow.bottom
topMargin: -UM.Theme.getSize("default_lining").width
left: parent.left
leftMargin: parent.padding
right: parent.right
rightMargin: parent.padding
topMargin: -UM.Theme.getSize("default_lining").width
bottom: parent.bottom
}
z: tabBar.z - 1
// Don't show the border when only one extruder

View file

@ -25,7 +25,7 @@ Item
right: globalProfileSelection.left
}
text: catalog.i18nc("@label", "Profile")
font: UM.Theme.getFont("default")
font: UM.Theme.getFont("medium")
color: UM.Theme.getColor("text")
verticalAlignment: Text.AlignVCenter
}

View file

@ -29,4 +29,7 @@ Cura.ExpandableComponent
property var extrudersModel: CuraApplication.getExtrudersModel()
contentItem: PrintSetupSelectorContents {}
onExpandedChanged: UM.Preferences.setValue("view/settings_visible", expanded)
Component.onCompleted: expanded = UM.Preferences.getValue("view/settings_visible")
}

View file

@ -15,7 +15,7 @@ Item
id: content
width: UM.Theme.getSize("print_setup_widget").width - 2 * UM.Theme.getSize("default_margin").width
height: childrenRect.height
height: contents.height + buttonRow.height
enum Mode
{
@ -71,6 +71,25 @@ Item
right: parent.right
top: parent.top
}
height: UM.Preferences.getValue("view/settings_list_height") - UM.Theme.getSize("default_margin").height
Connections
{
target: UM.Preferences
onPreferenceChanged:
{
if (preference !== "view/settings_list_height" && preference !== "general/window_height" && preference !== "general/window_state")
{
return;
}
customPrintSetup.height =
Math.min
(
UM.Preferences.getValue("view/settings_list_height"),
base.height - (customPrintSetup.mapToItem(null, 0, 0).y + buttonRow.height + UM.Theme.getSize("default_margin").height)
);
}
}
visible: currentModeIndex == PrintSetupSelectorContents.Mode.Custom
}
}
@ -90,17 +109,18 @@ Item
{
id: buttonRow
property real padding: UM.Theme.getSize("default_margin").width
height: childrenRect.height + 2 * padding
height: recommendedButton.height + 2 * padding + (draggableArea.visible ? draggableArea.height : 0)
anchors
{
top: buttonsSeparator.bottom
bottom: parent.bottom
left: parent.left
right: parent.right
}
Cura.SecondaryButton
{
id: recommendedButton
anchors.top: parent.top
anchors.left: parent.left
anchors.margins: parent.padding
@ -125,5 +145,72 @@ Item
visible: currentModeIndex == PrintSetupSelectorContents.Mode.Recommended
onClicked: currentModeIndex = PrintSetupSelectorContents.Mode.Custom
}
//Invisible area at the bottom with which you can resize the panel.
MouseArea
{
id: draggableArea
anchors
{
left: parent.left
right: parent.right
bottom: parent.bottom
}
height: childrenRect.height
cursorShape: Qt.SplitVCursor
visible: currentModeIndex == PrintSetupSelectorContents.Mode.Custom
drag
{
target: parent
axis: Drag.YAxis
}
onMouseYChanged:
{
if(drag.active)
{
// position of mouse relative to dropdown align vertical centre of mouse area to cursor
// v------------------------------v v------------v
var h = mouseY + buttonRow.y + content.y - height / 2 | 0;
if(h < 200 * screenScaleFactor) //Enforce a minimum size.
{
h = 200 * screenScaleFactor;
}
//Absolute mouse Y position in the window, to prevent it from going outside the window.
var mouse_absolute_y = mapToGlobal(mouseX, mouseY).y - UM.Preferences.getValue("general/window_top");
if(mouse_absolute_y > base.height)
{
h -= mouse_absolute_y - base.height;
}
UM.Preferences.setValue("view/settings_list_height", h);
}
}
Rectangle
{
width: parent.width
height: UM.Theme.getSize("narrow_margin").height
color: UM.Theme.getColor("secondary")
Rectangle
{
anchors.bottom: parent.top
width: parent.width
height: UM.Theme.getSize("default_lining").height
color: UM.Theme.getColor("lining")
}
UM.RecolorImage
{
width: UM.Theme.getSize("drag_icon").width
height: UM.Theme.getSize("drag_icon").height
anchors.centerIn: parent
source: UM.Theme.getIcon("resize")
color: UM.Theme.getColor("small_button_text")
}
}
}
}
}

View file

@ -24,11 +24,13 @@ RowLayout
if (!Cura.MachineManager.hasNotSupportedQuality)
{
text += " " + layerHeight.properties.value + "mm"
text += Cura.MachineManager.isActiveQualityExperimental ? " - " + catalog.i18nc("@label", "Experimental") : ""
}
return text
}
return ""
}
font: UM.Theme.getFont("medium")
UM.SettingPropertyProvider
{
@ -43,6 +45,7 @@ RowLayout
{
source: UM.Theme.getIcon("category_infill")
text: Cura.MachineManager.activeStack ? parseInt(infillDensity.properties.value) + "%" : "0%"
font: UM.Theme.getFont("medium")
UM.SettingPropertyProvider
{
@ -57,6 +60,7 @@ RowLayout
{
source: UM.Theme.getIcon("category_support")
text: supportEnabled.properties.value == "True" ? enabledText : disabledText
font: UM.Theme.getFont("medium")
UM.SettingPropertyProvider
{
@ -71,6 +75,7 @@ RowLayout
{
source: UM.Theme.getIcon("category_adhesion")
text: platformAdhesionType.properties.value != "skirt" && platformAdhesionType.properties.value != "none" ? enabledText : disabledText
font: UM.Theme.getFont("medium")
UM.SettingPropertyProvider
{

View file

@ -26,6 +26,7 @@ Item
anchors.left: parent.left
source: UM.Theme.getIcon("category_adhesion")
text: catalog.i18nc("@label", "Adhesion")
font: UM.Theme.getFont("medium")
width: labelColumnWidth
}

View file

@ -63,6 +63,7 @@ Item
anchors.left: parent.left
source: UM.Theme.getIcon("category_infill")
text: catalog.i18nc("@label", "Infill") + " (%)"
font: UM.Theme.getFont("medium")
width: labelColumnWidth
}
@ -140,6 +141,7 @@ Item
Label
{
text: index
font: UM.Theme.getFont("default")
visible: (index % 20) == 0 // Only show steps of 20%
anchors.horizontalCenter: parent.horizontalCenter
y: UM.Theme.getSize("thin_margin").height

View file

@ -173,6 +173,7 @@ Item
id: qualityRowTitle
source: UM.Theme.getIcon("category_layer_height")
text: catalog.i18nc("@label", "Layer Height")
font: UM.Theme.getFont("medium")
anchors.left: parent.left
anchors.right: customisedSettings.left
}
@ -271,6 +272,7 @@ Item
return Math.round((settingsColumnWidth / qualityModel.totalTicks) * index - (width / 2))
}
}
font: UM.Theme.getFont("default")
}
}
}

View file

@ -27,6 +27,7 @@ Item
visible: enableSupportCheckBox.visible
source: UM.Theme.getIcon("category_support")
text: catalog.i18nc("@label", "Support")
font: UM.Theme.getFont("medium")
width: labelColumnWidth
}

View file

@ -2,9 +2,7 @@
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
import QtQuick.Controls 1.1
import QtQuick.Controls.Styles 1.1
import QtQuick.Layouts 1.1
import QtQuick.Controls 2.3
import UM 1.0 as UM
@ -43,7 +41,8 @@ UM.PointingRectangle {
base.opacity = 0;
}
Label {
Label
{
id: label;
anchors {
top: parent.top;
@ -57,5 +56,6 @@ UM.PointingRectangle {
textFormat: Text.RichText
font: UM.Theme.getFont("default");
color: UM.Theme.getColor("tooltip_text");
renderType: Text.NativeRendering
}
}

View file

@ -80,7 +80,7 @@ Item
id: extruderCurrentTemperature
text: Math.round(extruderModel.hotendTemperature) + "°C"
color: UM.Theme.getColor("text")
font: UM.Theme.getFont("large")
font: UM.Theme.getFont("large_bold")
anchors.right: extruderTargetTemperature.left
anchors.top: parent.top
anchors.margins: UM.Theme.getSize("default_margin").width

View file

@ -67,7 +67,7 @@ Item
{
id: bedCurrentTemperature
text: printerModel != null ? printerModel.bedTemperature + "°C" : ""
font: UM.Theme.getFont("large")
font: UM.Theme.getFont("large_bold")
color: UM.Theme.getColor("text")
anchors.right: bedTargetTemperature.left
anchors.top: parent.top

View file

@ -31,7 +31,7 @@ Item
Label
{
id: outputDeviceNameLabel
font: UM.Theme.getFont("large")
font: UM.Theme.getFont("large_bold")
color: UM.Theme.getColor("text")
anchors.left: parent.left
anchors.top: parent.top

View file

@ -11,9 +11,9 @@ Cura.ExpandablePopup
{
id: machineSelector
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
property bool isNetworkPrinter: Cura.MachineManager.activeMachineHasActiveNetworkConnection
property bool isCloudPrinter: Cura.MachineManager.activeMachineHasActiveCloudConnection
property bool isGroup: Cura.MachineManager.activeMachineIsGroup
contentPadding: UM.Theme.getSize("default_lining").width
contentAlignment: Cura.ExpandablePopup.ContentAlignment.AlignLeft
@ -26,18 +26,28 @@ Cura.ExpandablePopup
headerItem: Cura.IconWithText
{
text: isNetworkPrinter ? Cura.MachineManager.activeMachineNetworkGroupName : Cura.MachineManager.activeMachineName
text:
{
if (isNetworkPrinter && Cura.MachineManager.activeMachineNetworkGroupName != "")
{
return Cura.MachineManager.activeMachineNetworkGroupName
}
return Cura.MachineManager.activeMachineName
}
source:
{
if (isNetworkPrinter)
if (isGroup)
{
return UM.Theme.getIcon("printer_group")
}
else if (isNetworkPrinter || isCloudPrinter)
{
if (machineSelector.outputDevice != null && machineSelector.outputDevice.clusterSize > 1)
{
return UM.Theme.getIcon("printer_group")
}
return UM.Theme.getIcon("printer_single")
}
return ""
else
{
return ""
}
}
font: UM.Theme.getFont("medium")
iconColor: UM.Theme.getColor("machine_selector_printer_icon")
@ -52,12 +62,27 @@ Cura.ExpandablePopup
leftMargin: UM.Theme.getSize("thick_margin").width
}
source: UM.Theme.getIcon("printer_connected")
source:
{
if (isNetworkPrinter)
{
return UM.Theme.getIcon("printer_connected")
}
else if (isCloudPrinter)
{
return UM.Theme.getIcon("printer_cloud_connected")
}
else
{
return ""
}
}
width: UM.Theme.getSize("printer_status_icon").width
height: UM.Theme.getSize("printer_status_icon").height
color: UM.Theme.getColor("primary")
visible: isNetworkPrinter && isPrinterConnected
visible: isNetworkPrinter || isCloudPrinter
// Make a themable circle in the background so we can change it in other themes
Rectangle
@ -93,14 +118,16 @@ Cura.ExpandablePopup
width: scroll.width - scroll.leftPadding - scroll.rightPadding
property real maximumHeight: UM.Theme.getSize("machine_selector_widget_content").height - buttonRow.height
onHeightChanged:
// We use an extra property here, since we only want to to be informed about the content size changes.
onContentHeightChanged:
{
scroll.height = Math.min(height, maximumHeight)
scroll.height = Math.min(contentHeight, maximumHeight)
popup.height = scroll.height + buttonRow.height
}
Component.onCompleted:
{
scroll.height = Math.min(height, maximumHeight)
scroll.height = Math.min(contentHeight, maximumHeight)
popup.height = scroll.height + buttonRow.height
}

View file

@ -10,15 +10,15 @@ import Cura 1.0 as Cura
ListView
{
id: listView
height: childrenRect.height
model: Cura.PrintersModel {}
model: Cura.GlobalStacksModel {}
section.property: "hasRemoteConnection"
property real contentHeight: childrenRect.height
section.delegate: Label
{
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
height: UM.Theme.getSize("action_button").height
leftPadding: UM.Theme.getSize("default_margin").width
renderType: Text.NativeRendering
font: UM.Theme.getFont("medium")
@ -43,4 +43,4 @@ ListView
return result
}
}
}
}

View file

@ -73,7 +73,7 @@ Button
text: definition.label
textFormat: Text.PlainText
renderType: Text.NativeRendering
font: UM.Theme.getFont("default")
font: UM.Theme.getFont("medium_bold")
color:
{
if (!base.enabled)

View file

@ -1,5 +1,5 @@
// Copyright (c) 2015 Ultimaker B.V.
// Uranium is released under the terms of the LGPLv3 or higher.
// Copyright (c) 2019 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
import QtQuick.Controls 2.0
@ -24,11 +24,13 @@ SettingItem
{
color:
{
if (!enabled) {
if (!enabled)
{
return UM.Theme.getColor("setting_control_disabled")
}
if (control.hovered || control.activeFocus) {
if (control.hovered || control.activeFocus)
{
return UM.Theme.getColor("setting_control_highlight")
}
@ -39,11 +41,13 @@ SettingItem
border.width: UM.Theme.getSize("default_lining").width
border.color:
{
if (!enabled) {
if (!enabled)
{
return UM.Theme.getColor("setting_control_disabled_border")
}
if (control.hovered || control.activeFocus) {
if (control.hovered || control.activeFocus)
{
return UM.Theme.getColor("setting_control_border_highlight")
}
@ -82,13 +86,15 @@ SettingItem
verticalAlignment: Text.AlignVCenter
}
popup: Popup {
popup: Popup
{
y: control.height - UM.Theme.getSize("default_lining").height
width: control.width
implicitHeight: contentItem.implicitHeight + 2 * UM.Theme.getSize("default_lining").width
padding: UM.Theme.getSize("default_lining").width
contentItem: ListView {
contentItem: ListView
{
clip: true
implicitHeight: contentHeight
model: control.popup.visible ? control.delegateModel : null
@ -97,7 +103,8 @@ SettingItem
ScrollIndicator.vertical: ScrollIndicator { }
}
background: Rectangle {
background: Rectangle
{
color: UM.Theme.getColor("setting_control")
border.color: UM.Theme.getColor("setting_control_border")
}
@ -164,19 +171,23 @@ SettingItem
{
// FIXME this needs to go away once 'resolve' is combined with 'value' in our data model.
var value = undefined;
if ((base.resolve != "None") && (base.stackLevel != 0) && (base.stackLevel != 1)) {
if ((base.resolve != "None") && (base.stackLevel != 0) && (base.stackLevel != 1))
{
// We have a resolve function. Indicates that the setting is not settable per extruder and that
// we have to choose between the resolved value (default) and the global value
// (if user has explicitly set this).
value = base.resolve;
}
if (value == undefined) {
if (value == undefined)
{
value = propertyProvider.properties.value;
}
for(var i = 0; i < control.model.length; ++i) {
if(control.model[i].key == value) {
for(var i = 0; i < control.model.length; ++i)
{
if(control.model[i].key == value)
{
return i;
}
}

View file

@ -176,13 +176,15 @@ SettingItem
}
}
popup: Popup {
popup: Popup
{
y: control.height - UM.Theme.getSize("default_lining").height
width: control.width
implicitHeight: contentItem.implicitHeight + 2 * UM.Theme.getSize("default_lining").width
padding: UM.Theme.getSize("default_lining").width
contentItem: ListView {
contentItem: ListView
{
clip: true
implicitHeight: contentHeight
model: control.popup.visible ? control.delegateModel : null
@ -191,7 +193,8 @@ SettingItem
ScrollIndicator.vertical: ScrollIndicator { }
}
background: Rectangle {
background: Rectangle
{
color: UM.Theme.getColor("setting_control")
border.color: UM.Theme.getColor("setting_control_border")
}
@ -213,9 +216,11 @@ SettingItem
renderType: Text.NativeRendering
color:
{
if (model.enabled) {
if (model.enabled)
{
UM.Theme.getColor("setting_control_text")
} else {
} else
{
UM.Theme.getColor("action_button_disabled_text");
}
}

63
resources/qml/ToolTip.qml Normal file
View file

@ -0,0 +1,63 @@
// Copyright (c) 2018 Ultimaker B.V.
// Cura is released under the terms of the LGPLv3 or higher.
import QtQuick 2.7
import QtQuick.Controls 2.3
import UM 1.0 as UM
import Cura 1.0 as Cura
ToolTip
{
enum ContentAlignment
{
AlignLeft,
AlignRight
}
// Defines the alignment of the content, by default to the left
property int contentAlignment: Cura.ToolTip.ContentAlignment.AlignRight
property alias tooltipText: tooltip.text
property var targetPoint: Qt.point(parent.x, y + Math.round(height/2))
id: tooltip
text: ""
delay: 500
font: UM.Theme.getFont("default")
// If the text is not set, just set the height to 0 to prevent it from showing
height: text != "" ? label.contentHeight + 2 * UM.Theme.getSize("thin_margin").width: 0
x:
{
if (contentAlignment == Cura.ToolTip.ContentAlignment.AlignLeft)
{
return (label.width + Math.round(UM.Theme.getSize("default_arrow").width * 1.2) + padding * 2) * -1
}
return parent.width + Math.round(UM.Theme.getSize("default_arrow").width * 1.2 + padding)
}
y: Math.round(parent.height / 2 - label.height / 2 ) - padding
padding: UM.Theme.getSize("thin_margin").width
background: UM.PointingRectangle
{
id: backgroundRect
color: UM.Theme.getColor("tooltip")
target: Qt.point(targetPoint.x - tooltip.x, targetPoint.y - tooltip.y)
arrowSize: UM.Theme.getSize("default_arrow").width
}
contentItem: Label
{
id: label
text: tooltip.text
font: tooltip.font
wrapMode: Text.Wrap
textFormat: Text.RichText
color: UM.Theme.getColor("tooltip_text")
renderType: Text.NativeRendering
}
}

View file

@ -96,4 +96,11 @@ Button
height: UM.Theme.getSize("button_icon").height
}
}
Cura.ToolTip
{
id: tooltip
tooltipText: base.text
visible: base.hovered
}
}

View file

@ -51,7 +51,7 @@ Cura.ExpandablePopup
verticalAlignment: Text.AlignVCenter
height: parent.height
elide: Text.ElideRight
font: UM.Theme.getFont("default")
font: UM.Theme.getFont("medium")
color: UM.Theme.getColor("text_medium")
renderType: Text.NativeRendering
}
@ -68,7 +68,7 @@ Cura.ExpandablePopup
}
height: parent.height
elide: Text.ElideRight
font: UM.Theme.getFont("default")
font: UM.Theme.getFont("medium")
color: UM.Theme.getColor("text")
renderType: Text.NativeRendering
}

View file

@ -14,4 +14,6 @@ PrinterTypeLabel 1.0 PrinterTypeLabel.qml
ViewsSelector 1.0 ViewsSelector.qml
ToolbarButton 1.0 ToolbarButton.qml
SettingView 1.0 SettingView.qml
ProfileMenu 1.0 ProfileMenu.qml
ProfileMenu 1.0 ProfileMenu.qml
CheckBoxWithTooltip 1.0 CheckBoxWithTooltip.qml
ToolTip 1.0 ToolTip.qml

View file

@ -4,10 +4,10 @@ name = Fine
definition = abax_pri3
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = normal
weight = -1
weight = 0
material = generic_pla
[values]

View file

@ -4,7 +4,7 @@ name = Extra Fine
definition = abax_pri3
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = high
weight = 1

View file

@ -4,7 +4,7 @@ name = Fine
definition = abax_pri3
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = normal
weight = 0

View file

@ -4,10 +4,10 @@ name = Fine
definition = abax_pri5
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = normal
weight = -1
weight = 0
material = generic_pla
[values]

View file

@ -4,7 +4,7 @@ name = Extra Fine
definition = abax_pri5
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = high
weight = 1

View file

@ -4,7 +4,7 @@ name = Fine
definition = abax_pri5
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = normal
weight = 0

View file

@ -4,10 +4,10 @@ name = Fine
definition = abax_titan
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = normal
weight = -1
weight = 0
material = generic_pla
[values]

View file

@ -4,7 +4,7 @@ name = Extra Fine
definition = abax_titan
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = high
weight = 1

View file

@ -4,7 +4,7 @@ name = Fine
definition = abax_titan
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = normal
weight = 0

View file

@ -4,10 +4,10 @@ name = Draft
definition = anycubic_4max
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = draft
weight = 0
weight = -2
material = generic_abs
[values]

View file

@ -4,10 +4,10 @@ name = High
definition = anycubic_4max
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = high
weight = 2
weight = 1
material = generic_abs
[values]

View file

@ -4,10 +4,10 @@ name = Normal
definition = anycubic_4max
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = normal
weight = 1
weight = 0
material = generic_abs
[values]

View file

@ -4,10 +4,10 @@ name = Draft
definition = anycubic_4max
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = draft
weight = 0
weight = -2
global_quality = True
[values]

View file

@ -4,10 +4,10 @@ name = High
definition = anycubic_4max
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = high
weight = 2
weight = 1
global_quality = True
[values]

View file

@ -4,10 +4,10 @@ name = Normal
definition = anycubic_4max
[metadata]
setting_version = 5
setting_version = 7
type = quality
quality_type = normal
weight = 1
weight = 0
global_quality = True
[values]

Some files were not shown because too many files have changed in this diff Show more