mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-08-10 07:15:03 -06:00
Merge branch 'master' into feature_tray_icon_preference
This commit is contained in:
commit
d655350aac
543 changed files with 7734 additions and 9460 deletions
|
@ -1092,38 +1092,6 @@
|
|||
"default_value": "inward_distributed",
|
||||
"limit_to_extruder": "wall_0_extruder_nr"
|
||||
},
|
||||
"wall_transition_threshold": {
|
||||
"label": "Middle Line Threshold",
|
||||
"description": "The smallest line width, as a factor of the normal line width, below which it will choose to use fewer, but wider lines to fill the available space the wall needs to occupy. Reduce this setting to use more, thinner lines. Increase to use fewer, wider lines. Note that this applies -as if- the entire shape should be filled with wall, so the middle here refers to the middle of the object between two outer edges of the shape, even if there actually is fill or (other) skin in the print instead of wall.",
|
||||
"type": "float",
|
||||
"unit": "%",
|
||||
"default_value": 90,
|
||||
"minimum_value": "1",
|
||||
"maximum_value": "99",
|
||||
"children":
|
||||
{
|
||||
"wall_split_middle_threshold": {
|
||||
"label": "Split Middle Line Threshold",
|
||||
"description": "The smallest line width, as a factor of the normal line width, above which the middle line (if there is one) will be split into two. Reduce this setting to use more, thinner lines. Increase to use fewer, wider lines. Note that this applies -as if- the entire shape should be filled with wall, so the middle here refers to the middle of the object between two outer edges of the shape, even if there actually is fill or (other) skin in the print instead of wall.",
|
||||
"type": "float",
|
||||
"unit": "%",
|
||||
"default_value": 90,
|
||||
"value": "wall_transition_threshold",
|
||||
"minimum_value": "1",
|
||||
"maximum_value": "99"
|
||||
},
|
||||
"wall_add_middle_threshold": {
|
||||
"label": "Add Middle Line Threshold",
|
||||
"description": "The smallest line width, as a factor of the normal line width, above which a middle line (if there wasn't one already) will be added. Reduce this setting to use more, thinner lines. Increase to use fewer, wider lines. Note that this applies -as if- the entire shape should be filled with wall, so the middle here refers to the middle of the object between two outer edges of the shape, even if there actually is fill or (other) skin in the print instead of wall.",
|
||||
"type": "float",
|
||||
"unit": "%",
|
||||
"default_value": 80,
|
||||
"value": "wall_transition_threshold * 8 / 9",
|
||||
"minimum_value": "1",
|
||||
"maximum_value": "99"
|
||||
}
|
||||
}
|
||||
},
|
||||
"wall_transition_length":
|
||||
{
|
||||
"label": "Wall Transition Length",
|
||||
|
@ -1149,8 +1117,8 @@
|
|||
},
|
||||
"wall_transition_angle":
|
||||
{
|
||||
"label": "Wall Transition Angle",
|
||||
"description": "When transitioning between different numbers of walls as the part becomes thinner, two adjacent walls will join together at this angle. This can make the walls come together faster than what the Wall Transition Length indicates, filling the space better.",
|
||||
"label": "Wall Transitioning Threshold Angle",
|
||||
"description": "When to create transitions between even and odd numbers of walls. A wedge shape with an angle greater than this setting will not have transitions and no walls will be printed in the center to fill the remaining space. Reducing this setting reduces the number and length of these center walls, but may leave gaps or overextrude.",
|
||||
"type": "float",
|
||||
"unit": "°",
|
||||
"default_value": 10,
|
||||
|
@ -1236,6 +1204,74 @@
|
|||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"min_wall_line_width":
|
||||
{
|
||||
"label": "Minimum Wall Line Width",
|
||||
"description": "For thin structures around once or twice the nozzle size, the line widths need to be altered to adhere to the thickness of the model. This setting controls the minimum line width allowed for the walls. The minimum line widths inherently also determine the maximum line widths, since we transition from N to N+1 walls at some geometry thickness where the N walls are wide and the N+1 walls are narrow. The widest possible wall line is twice the Minimum Wall Line Width.",
|
||||
"unit": "mm",
|
||||
"minimum_value_warning": ".5 * max(wall_line_width_0, wall_line_width_x)",
|
||||
"maximum_value_warning": "min(wall_line_width_0, wall_line_width_x)",
|
||||
"minimum_value_warning_old": "(0.1 + 0.4 * machine_nozzle_size) if inset_direction == \"outside_in\" else 0.1 * machine_nozzle_size",
|
||||
"maximum_value_warning_old": "2 * machine_nozzle_size",
|
||||
"default_value": 0.3,
|
||||
"value": "machine_nozzle_size * .75",
|
||||
"type": "float",
|
||||
"settable_per_mesh": true,
|
||||
"children":
|
||||
{
|
||||
"min_even_wall_line_width":
|
||||
{
|
||||
"label": "Minimum Even Wall Line Width",
|
||||
"description": "The minimum line width for normal polygonal walls. This setting determines at which model thickness we switch from printing a single thin wall line, to printing two wall lines. A higher Minimum Even Wall Line Width leads to a higher maximum odd wall line width. The maximum even wall line width is calculated as Outer Wall Line Width + 0.5 * Minimum Odd Wall Line Width.",
|
||||
"unit": "mm",
|
||||
"minimum_value_warning": ".5 * max(wall_line_width_0, wall_line_width_x)",
|
||||
"maximum_value_warning": "min(wall_line_width_0, wall_line_width_x)",
|
||||
"default_value": 0.3,
|
||||
"value": "min_wall_line_width",
|
||||
"type": "float",
|
||||
"settable_per_mesh": true,
|
||||
"children":
|
||||
{
|
||||
"wall_split_middle_threshold": {
|
||||
"label": "Split Middle Line Threshold",
|
||||
"description": "The smallest line width, as a factor of the normal line width, above which the middle line (if there is one) will be split into two. Reduce this setting to use more, thinner lines. Increase to use fewer, wider lines. Note that this applies -as if- the entire shape should be filled with wall, so the middle here refers to the middle of the object between two outer edges of the shape, even if there actually is fill or (other) skin in the print instead of wall.",
|
||||
"type": "float",
|
||||
"unit": "%",
|
||||
"default_value": 50,
|
||||
"value": "max(1, min(99, 100 * (2 * min_even_wall_line_width - wall_line_width_0) / wall_line_width_0))",
|
||||
"value_explicit": "100 * (2 * min_even_wall_line_width - wall_line_width_0) / (wall_line_width_0 + wall_line_width_x - wall_line_width_0)",
|
||||
"minimum_value": "1",
|
||||
"maximum_value": "99"
|
||||
}
|
||||
}
|
||||
},
|
||||
"min_odd_wall_line_width":
|
||||
{
|
||||
"label": "Minimum Odd Wall Line Width",
|
||||
"description": "The minimum line width for middle line gap filler polyline walls. This setting determines at which model thickness we switch from printing two wall lines, to printing two outer walls and a single central wall in the middle. A higher Minimum Odd Wall Line Width leads to a higher maximum even wall line width. The maximum odd wall line width is calculated as 2 * Minimum Even Wall Line Width,",
|
||||
"unit": "mm",
|
||||
"minimum_value_warning": ".5 * max(wall_line_width_0, wall_line_width_x)",
|
||||
"maximum_value_warning": "min(wall_line_width_0, wall_line_width_x)",
|
||||
"default_value": 0.3,
|
||||
"value": "min_wall_line_width",
|
||||
"type": "float",
|
||||
"settable_per_mesh": true,
|
||||
"children":
|
||||
{
|
||||
"wall_add_middle_threshold": {
|
||||
"label": "Add Middle Line Threshold",
|
||||
"description": "The smallest line width, as a factor of the normal line width, above which a middle line (if there wasn't one already) will be added. Reduce this setting to use more, thinner lines. Increase to use fewer, wider lines. Note that this applies -as if- the entire shape should be filled with wall, so the middle here refers to the middle of the object between two outer edges of the shape, even if there actually is fill or (other) skin in the print instead of wall.",
|
||||
"type": "float",
|
||||
"unit": "%",
|
||||
"default_value": 75,
|
||||
"value": "max(1, min(99, 100 * min_odd_wall_line_width / wall_line_width_x))",
|
||||
"minimum_value": "1",
|
||||
"maximum_value": "99"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"fill_outline_gaps": {
|
||||
"label": "Print Thin Walls",
|
||||
"description": "Print pieces of the model which are horizontally thinner than the nozzle size.",
|
||||
|
@ -1260,10 +1296,10 @@
|
|||
},
|
||||
"min_bead_width":
|
||||
{
|
||||
"label": "Minimum Wall Line Width",
|
||||
"label": "Minimum Thin Wall Line Width",
|
||||
"description": "Width of the wall that will replace thin features (according to the Minimum Feature Size) of the model. If the Minimum Wall Line Width is thinner than the thickness of the feature, the wall will become as thick as the feature itself.",
|
||||
"unit": "mm",
|
||||
"value": "wall_line_width_0 * (100.0 + wall_split_middle_threshold)/200",
|
||||
"value": "machine_nozzle_size * .75",
|
||||
"default_value": 0.2,
|
||||
"minimum_value": "0.001",
|
||||
"minimum_value_warning": "min_feature_size",
|
||||
|
@ -4366,6 +4402,7 @@
|
|||
"default_value": "0",
|
||||
"value": "support_extruder_nr",
|
||||
"enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
|
||||
"resolve": "max(extruderValues('support_interface_extruder_nr'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false,
|
||||
"children":
|
||||
|
@ -4378,6 +4415,7 @@
|
|||
"default_value": "0",
|
||||
"value": "support_interface_extruder_nr",
|
||||
"enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
|
||||
"resolve": "max(extruderValues('support_roof_extruder_nr'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
|
@ -4389,6 +4427,7 @@
|
|||
"default_value": "0",
|
||||
"value": "support_interface_extruder_nr",
|
||||
"enabled": "(support_enable or support_meshes_present) and extruders_enabled_count > 1",
|
||||
"resolve": "max(extruderValues('support_bottom_extruder_nr'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
}
|
||||
|
@ -5421,6 +5460,7 @@
|
|||
"default_value": "0",
|
||||
"value": "int(defaultExtruderPosition())",
|
||||
"enabled": "extruders_enabled_count > 1 and (resolveOrValue('adhesion_type') != 'none' or resolveOrValue('prime_tower_brim_enable'))",
|
||||
"resolve": "max(extruderValues('adhesion_extruder_nr'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false,
|
||||
"children":
|
||||
|
@ -5444,6 +5484,7 @@
|
|||
"default_value": "0",
|
||||
"value": "adhesion_extruder_nr",
|
||||
"enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'",
|
||||
"resolve": "max(extruderValues('raft_base_extruder_nr'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
|
@ -5455,6 +5496,7 @@
|
|||
"default_value": "0",
|
||||
"value": "adhesion_extruder_nr",
|
||||
"enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'",
|
||||
"resolve": "max(extruderValues('raft_interface_extruder_nr'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
|
@ -5466,6 +5508,7 @@
|
|||
"default_value": "0",
|
||||
"value": "adhesion_extruder_nr",
|
||||
"enabled": "extruders_enabled_count > 1 and resolveOrValue('adhesion_type') == 'raft'",
|
||||
"resolve": "max(extruderValues('raft_surface_extruder_nr'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
}
|
||||
|
@ -6963,7 +7006,6 @@
|
|||
"type": "bool",
|
||||
"default_value": false,
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"enabled": false,
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
"magic_fuzzy_skin_outside_only":
|
||||
|
@ -6972,7 +7014,7 @@
|
|||
"description": "Jitter only the parts' outlines and not the parts' holes.",
|
||||
"type": "bool",
|
||||
"default_value": false,
|
||||
"enabled": "magic_fuzzy_skin_enabled and False" ,
|
||||
"enabled": "magic_fuzzy_skin_enabled",
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
|
@ -6985,7 +7027,7 @@
|
|||
"default_value": 0.3,
|
||||
"minimum_value": "0.001",
|
||||
"maximum_value_warning": "wall_line_width_0",
|
||||
"enabled": "magic_fuzzy_skin_enabled and False",
|
||||
"enabled": "magic_fuzzy_skin_enabled",
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
},
|
||||
|
@ -7000,7 +7042,7 @@
|
|||
"minimum_value_warning": "0.1",
|
||||
"maximum_value_warning": "10",
|
||||
"maximum_value": "2 / magic_fuzzy_skin_thickness",
|
||||
"enabled": "magic_fuzzy_skin_enabled and False",
|
||||
"enabled": "magic_fuzzy_skin_enabled",
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"settable_per_mesh": true,
|
||||
"children":
|
||||
|
@ -7016,7 +7058,7 @@
|
|||
"minimum_value_warning": "0.1",
|
||||
"maximum_value_warning": "10",
|
||||
"value": "10000 if magic_fuzzy_skin_point_density == 0 else 1 / magic_fuzzy_skin_point_density",
|
||||
"enabled": "magic_fuzzy_skin_enabled and False",
|
||||
"enabled": "magic_fuzzy_skin_enabled",
|
||||
"limit_to_extruder": "wall_0_extruder_nr",
|
||||
"settable_per_mesh": true
|
||||
}
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
"default_value": "M104 S{material_print_temperature_layer_0} ;Set Hotend Temperature\nM140 S{material_bed_temperature_layer_0} ;Set Bed Temperature\nG28 ;home\nG90 ;absolute positioning\nG1 X-10 Y-10 F3000 ;Move to corner \nG1 Z0 F1800 ;Go to zero offset\nM109 S{material_print_temperature_layer_0} ;Wait for Hotend Temperature\nM190 S{material_bed_temperature_layer_0} ;Wait for Bed Temperature\nG92 E0 ;Zero set extruder position\nG1 E20 F200 ;Feed filament to clear nozzle\nG92 E0 ;Zero set extruder position"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;Extruder heater off\nM140 S0 ;Heated bed heater off\nG90 ;absolute positioning\nG92 E0 ;Retract the filament\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z{machine_width} E-1 F3000 ;move Z up a bit and retract filament even more\nG1 X0 F3000 ;move X to min endstops, so the head is out of the way\nG1 Y{machine_depth} F3000 ;so the head is out of the way and Plate is moved forward"
|
||||
"default_value": "M104 S0 ;Extruder heater off\nM140 S0 ;Heated bed heater off\nG90 ;absolute positioning\nG92 E0 ;Retract the filament\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z{machine_height} E-1 F3000 ;move Z up a bit and retract filament even more\nG1 X0 F3000 ;move X to min endstops, so the head is out of the way\nG1 Y{machine_depth} F3000 ;so the head is out of the way and Plate is moved forward"
|
||||
},
|
||||
"machine_nozzle_size": {
|
||||
"default_value": 0.4
|
||||
|
|
|
@ -47,6 +47,9 @@
|
|||
"line_width": {
|
||||
"value": "machine_nozzle_size"
|
||||
},
|
||||
"wall_thickness": {
|
||||
"value": "wall_line_width_0 + wall_line_width_x"
|
||||
},
|
||||
"infill_before_walls": {
|
||||
"value": "False"
|
||||
},
|
||||
|
@ -67,6 +70,9 @@
|
|||
},
|
||||
"bottom_layers": {
|
||||
"value": "math.ceil(round(bottom_thickness / resolveOrValue('layer_height'), 4))"
|
||||
},
|
||||
"xy_offset": {
|
||||
"value": "-layer_height * 0.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -166,7 +166,6 @@
|
|||
"top_bottom_thickness": { "value": "1" },
|
||||
"travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" },
|
||||
"wall_0_inset": { "value": "0" },
|
||||
"wall_thickness": { "value": "1" },
|
||||
"zig_zaggify_infill": { "value": "gradual_infill_steps == 0" }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -159,7 +159,6 @@
|
|||
"travel_avoid_supports": { "value": "True" },
|
||||
"travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" },
|
||||
"wall_0_inset": { "value": "0" },
|
||||
"wall_thickness": { "value": "1" },
|
||||
"meshfix_maximum_resolution": { "value": "(speed_wall_0 + speed_wall_x) / 60" },
|
||||
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
||||
"initial_layer_line_width_factor": { "value": "120" },
|
||||
|
|
|
@ -161,7 +161,6 @@
|
|||
"travel_avoid_supports": { "value": "True" },
|
||||
"travel_avoid_distance": { "value": "3 if extruders_enabled_count > 1 else machine_nozzle_tip_outer_diameter / 2 * 1.5" },
|
||||
"wall_0_inset": { "value": "0" },
|
||||
"wall_thickness": { "value": "1" },
|
||||
"meshfix_maximum_resolution": { "value": "(speed_wall_0 + speed_wall_x) / 60" },
|
||||
"meshfix_maximum_deviation": { "value": "layer_height / 4" },
|
||||
"optimize_wall_printing_order": { "value": "True" },
|
||||
|
|
|
@ -18,8 +18,7 @@ speed_wall = =speed_print
|
|||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
speed_layer_0 = 20
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 2
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 15
|
||||
|
||||
jerk_print = 30
|
||||
|
|
|
@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_cpe
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_cpe
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_cpe
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_cpe
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_nylon
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_nylon
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_nylon
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_nylon
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_pc
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_pc
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_pc
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_pc
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_petg
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_petg
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
|
@ -1,35 +1,34 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_petg
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s3
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_petg
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
|
||||
|
|
|
@ -18,8 +18,7 @@ speed_wall = =speed_print
|
|||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
speed_layer_0 = 20
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 2
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 15
|
||||
|
||||
jerk_print = 30
|
||||
|
|
|
@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -35,5 +35,4 @@ speed_wall_0 = =speed_wall
|
|||
speed_wall_x = =speed_wall
|
||||
speed_layer_0 = 20
|
||||
|
||||
wall_thickness = =line_width * 2
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 0.8
|
|
@ -18,8 +18,7 @@ speed_wall = =speed_print
|
|||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
speed_layer_0 = 20
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 2
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 15
|
||||
|
||||
jerk_print = 30
|
||||
|
|
|
@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -31,4 +31,3 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -35,5 +35,4 @@ speed_wall_0 = =speed_wall
|
|||
speed_wall_x = =speed_wall
|
||||
speed_layer_0 = 20
|
||||
|
||||
wall_thickness = =line_width * 2
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 0.8
|
|
@ -18,8 +18,7 @@ speed_wall = =speed_print
|
|||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
speed_layer_0 = 20
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 2
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 15
|
||||
|
||||
jerk_print = 30
|
||||
|
|
|
@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -1,36 +1,35 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
|
|
|
@ -1,36 +1,35 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
|
|
|
@ -1,36 +1,35 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_cpe
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_cpe
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
|
|
|
@ -1,36 +1,35 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_cpe
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_cpe
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
|
|
|
@ -1,36 +1,35 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_nylon
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_nylon
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
|
|
|
@ -1,36 +1,35 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_nylon
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_nylon
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
|
|
|
@ -1,36 +1,35 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_pc
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_pc
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
|
|
|
@ -1,36 +1,35 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_pc
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_pc
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
|
|
|
@ -1,36 +1,35 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_petg
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = fast
|
||||
material = generic_petg
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
|
|
|
@ -1,36 +1,35 @@
|
|||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_petg
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
[general]
|
||||
version = 4
|
||||
name = Accurate
|
||||
definition = ultimaker_s5
|
||||
|
||||
[metadata]
|
||||
setting_version = 19
|
||||
type = intent
|
||||
intent_category = engineering
|
||||
quality_type = normal
|
||||
material = generic_petg
|
||||
variant = AA 0.4
|
||||
|
||||
[values]
|
||||
|
||||
jerk_print = 30
|
||||
jerk_infill = =jerk_print
|
||||
jerk_topbottom = =jerk_print
|
||||
jerk_wall = =jerk_print
|
||||
jerk_wall_0 = =jerk_wall
|
||||
jerk_wall_x = =jerk_wall
|
||||
jerk_layer_0 = 5
|
||||
|
||||
speed_print = 30
|
||||
speed_infill = =speed_print
|
||||
speed_layer_0 = 20
|
||||
speed_topbottom = =speed_print
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
||||
|
|
|
@ -18,8 +18,7 @@ speed_wall = =speed_print
|
|||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
speed_layer_0 = 20
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 2
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 15
|
||||
|
||||
jerk_print = 30
|
||||
|
|
|
@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -35,5 +35,4 @@ speed_wall_0 = =speed_wall
|
|||
speed_wall_x = =speed_wall
|
||||
speed_layer_0 = 20
|
||||
|
||||
wall_thickness = =line_width * 2
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 0.8
|
|
@ -18,8 +18,7 @@ speed_wall = =speed_print
|
|||
speed_wall_0 = =speed_wall
|
||||
speed_wall_x = =speed_wall
|
||||
speed_layer_0 = 20
|
||||
top_bottom_thickness = =wall_thickness
|
||||
wall_thickness = =line_width * 2
|
||||
top_bottom_thickness = 0.8
|
||||
infill_sparse_density = 15
|
||||
|
||||
jerk_print = 30
|
||||
|
|
|
@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -31,5 +31,4 @@ speed_wall_x = =speed_wall
|
|||
top_bottom_thickness = =wall_thickness
|
||||
|
||||
wall_thickness = =line_width * 3
|
||||
xy_offset = =-layer_height * 0.2
|
||||
xy_offset_layer_0 = =((-0.2 + layer_height * 0.2) if adhesion_type == "skirt" or adhesion_type == "none" else 0) + xy_offset
|
||||
|
|
|
@ -13,5 +13,4 @@ variant = AA 0.4
|
|||
|
||||
[values]
|
||||
speed_infill = 50
|
||||
wall_thickness = =wall_line_width * 3
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 1.05
|
||||
|
|
|
@ -35,5 +35,4 @@ speed_wall_0 = =speed_wall
|
|||
speed_wall_x = =speed_wall
|
||||
speed_layer_0 = 20
|
||||
|
||||
wall_thickness = =line_width * 2
|
||||
top_bottom_thickness = =wall_thickness
|
||||
top_bottom_thickness = 0.8
|
|
@ -4,7 +4,7 @@
|
|||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.4 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
Item
|
||||
|
@ -46,15 +46,12 @@ Item
|
|||
}
|
||||
}
|
||||
|
||||
contentItem: Label
|
||||
contentItem: UM.Label
|
||||
{
|
||||
id: label
|
||||
text: signInButton.text
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("primary_text")
|
||||
width: contentWidth
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -113,7 +110,7 @@ Item
|
|||
}
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: initialLabel
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
@ -121,9 +118,7 @@ Item
|
|||
text: accountWidget.text
|
||||
font: UM.Theme.getFont("large_bold")
|
||||
color: UM.Theme.getColor("primary_text")
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.4 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
Column
|
||||
|
@ -12,14 +12,12 @@ Column
|
|||
spacing: UM.Theme.getSize("default_margin").width
|
||||
padding: UM.Theme.getSize("default_margin").width
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: title
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
renderType: Text.NativeRendering
|
||||
text: catalog.i18nc("@label", "Sign in to the Ultimaker platform")
|
||||
text: catalog.i18nc("@label", "Sign in to the Ultimaker platform")
|
||||
font: UM.Theme.getFont("large_bold")
|
||||
color: UM.Theme.getColor("text")
|
||||
}
|
||||
|
||||
Image
|
||||
|
@ -33,16 +31,14 @@ Column
|
|||
verticalAlignment: Image.AlignVCenter
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: generalInformationPoints
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
renderType: Text.NativeRendering
|
||||
text: catalog.i18nc("@text", "- Add material profiles and plug-ins from the Marketplace\n- Back-up and sync your material profiles and plug-ins\n- Share ideas and get help from 48,000+ users in the Ultimaker community")
|
||||
lineHeight: 1.4
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
wrapMode: Text.NoWrap
|
||||
}
|
||||
|
||||
Cura.PrimaryButton
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.4 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
Row // Sync state icon + message
|
||||
|
@ -77,28 +77,26 @@ Row // Sync state icon + message
|
|||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: stateLabel
|
||||
// text is determined by State
|
||||
color: UM.Theme.getColor("text")
|
||||
font: UM.Theme.getFont("medium")
|
||||
renderType: Text.NativeRendering
|
||||
width: contentWidth + UM.Theme.getSize("default_margin").height
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
wrapMode: Text.NoWrap
|
||||
height: contentHeight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
visible: !Cura.API.account.manualSyncEnabled && !Cura.API.account.updatePackagesEnabled
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: updatePackagesButton
|
||||
text: catalog.i18nc("@button", "Install pending updates")
|
||||
color: UM.Theme.getColor("text_link")
|
||||
font: UM.Theme.getFont("medium")
|
||||
renderType: Text.NativeRendering
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
height: contentHeight
|
||||
wrapMode: Text.NoWrap
|
||||
width: contentWidth + UM.Theme.getSize("default_margin").height
|
||||
visible: Cura.API.account.updatePackagesEnabled
|
||||
|
||||
|
@ -112,14 +110,13 @@ Row // Sync state icon + message
|
|||
}
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: accountSyncButton
|
||||
text: catalog.i18nc("@button", "Check for account updates")
|
||||
color: UM.Theme.getColor("text_link")
|
||||
font: UM.Theme.getFont("medium")
|
||||
renderType: Text.NativeRendering
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
wrapMode: Text.NoWrap
|
||||
height: contentHeight
|
||||
width: contentWidth + UM.Theme.getSize("default_margin").height
|
||||
visible: Cura.API.account.manualSyncEnabled
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.4 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
Column
|
||||
|
@ -41,16 +41,13 @@ Column
|
|||
anchors.verticalCenter: parent.verticalCenter
|
||||
color: UM.Theme.getColor("action_button_disabled")
|
||||
visible: !avatar.hasAvatar
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: initialLabel
|
||||
anchors.centerIn: parent
|
||||
text: profile["username"].charAt(0).toUpperCase()
|
||||
font: UM.Theme.getFont("large_bold")
|
||||
color: UM.Theme.getColor("text")
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -62,25 +59,22 @@ Column
|
|||
spacing: UM.Theme.getSize("narrow_margin").height
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
Label
|
||||
|
||||
UM.Label
|
||||
{
|
||||
id: username
|
||||
renderType: Text.NativeRendering
|
||||
text: profile.username
|
||||
font: UM.Theme.getFont("large_bold")
|
||||
color: UM.Theme.getColor("text")
|
||||
}
|
||||
|
||||
SyncState
|
||||
{
|
||||
id: syncRow
|
||||
}
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: lastSyncLabel
|
||||
renderType: Text.NativeRendering
|
||||
text: catalog.i18nc("@label The argument is a timestamp", "Last update: %1").arg(Cura.API.account.lastSyncDateTime)
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text_medium")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import QtQuick 2.7
|
|||
import QtQuick.Controls 2.1
|
||||
import QtGraphicalEffects 1.0 // For the dropshadow
|
||||
|
||||
import UM 1.1 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
|
||||
|
@ -128,18 +128,16 @@ Button
|
|||
elideWidth: buttonText.width
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: buttonText
|
||||
text: button.text
|
||||
color: button.enabled ? (button.hovered ? button.textHoverColor : button.textColor): button.textDisabledColor
|
||||
font: UM.Theme.getFont("medium")
|
||||
visible: text != ""
|
||||
renderType: Text.NativeRendering
|
||||
height: parent.height
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
elide: Text.ElideRight
|
||||
|
||||
Binding
|
||||
|
@ -181,7 +179,7 @@ Button
|
|||
cornerSide: Cura.RoundedRectangle.Direction.None
|
||||
}
|
||||
|
||||
Cura.ToolTip
|
||||
UM.ToolTip
|
||||
{
|
||||
id: tooltip
|
||||
visible:
|
||||
|
|
|
@ -5,7 +5,7 @@ import QtQuick 2.7
|
|||
import QtQuick.Controls 2.1
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
import UM 1.1 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
|
||||
|
@ -128,7 +128,7 @@ Column
|
|||
tooltip: text
|
||||
fixedWidthMode: true
|
||||
|
||||
toolTipContentAlignment: Cura.ToolTip.ContentAlignment.AlignLeft
|
||||
toolTipContentAlignment: UM.Enums.ContentAlignment.AlignLeft
|
||||
|
||||
onClicked: UM.Controller.setActiveStage("PreviewStage")
|
||||
}
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.1
|
||||
import QtQuick.Controls 2.4
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtQuick.Controls 1.4 as Controls1
|
||||
|
||||
import UM 1.4 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
@ -122,7 +121,9 @@ Column
|
|||
tooltip: catalog.i18nc("@label", "Start the slicing process")
|
||||
enabled: widget.backendState != UM.Backend.Error && !widget.waitingForSliceToStart
|
||||
visible: widget.backendState == UM.Backend.NotStarted || widget.backendState == UM.Backend.Error
|
||||
onClicked: sliceOrStopSlicing()
|
||||
onClicked: {
|
||||
sliceOrStopSlicing()
|
||||
}
|
||||
}
|
||||
|
||||
Cura.SecondaryButton
|
||||
|
@ -136,7 +137,9 @@ Column
|
|||
text: catalog.i18nc("@button", "Cancel")
|
||||
enabled: sliceButton.enabled
|
||||
visible: !sliceButton.visible
|
||||
onClicked: sliceOrStopSlicing()
|
||||
onClicked: {
|
||||
sliceOrStopSlicing()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -165,7 +168,7 @@ Column
|
|||
}
|
||||
|
||||
// Shortcut for "slice/stop"
|
||||
Controls1.Action
|
||||
Action
|
||||
{
|
||||
shortcut: "Ctrl+P"
|
||||
onTriggered:
|
||||
|
|
|
@ -4,75 +4,73 @@
|
|||
pragma Singleton
|
||||
|
||||
import QtQuick 2.10
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls 2.3 as Controls2
|
||||
import QtQuick.Controls 2.4
|
||||
import UM 1.1 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Item
|
||||
{
|
||||
property alias newProject: newProjectAction;
|
||||
property alias open: openAction;
|
||||
property alias quit: quitAction;
|
||||
property alias newProject: newProjectAction
|
||||
property alias open: openAction
|
||||
property alias quit: quitAction
|
||||
|
||||
property alias undo: undoAction;
|
||||
property alias redo: redoAction;
|
||||
property alias undo: undoAction
|
||||
property alias redo: redoAction
|
||||
|
||||
property alias view3DCamera: view3DCameraAction;
|
||||
property alias viewFrontCamera: viewFrontCameraAction;
|
||||
property alias viewTopCamera: viewTopCameraAction;
|
||||
property alias viewBottomCamera: viewBottomCameraAction;
|
||||
property alias viewLeftSideCamera: viewLeftSideCameraAction;
|
||||
property alias viewRightSideCamera: viewRightSideCameraAction;
|
||||
property alias view3DCamera: view3DCameraAction
|
||||
property alias viewFrontCamera: viewFrontCameraAction
|
||||
property alias viewTopCamera: viewTopCameraAction
|
||||
property alias viewBottomCamera: viewBottomCameraAction
|
||||
property alias viewLeftSideCamera: viewLeftSideCameraAction
|
||||
property alias viewRightSideCamera: viewRightSideCameraAction
|
||||
|
||||
property alias deleteSelection: deleteSelectionAction;
|
||||
property alias centerSelection: centerSelectionAction;
|
||||
property alias multiplySelection: multiplySelectionAction;
|
||||
property alias deleteSelection: deleteSelectionAction
|
||||
property alias centerSelection: centerSelectionAction
|
||||
property alias multiplySelection: multiplySelectionAction
|
||||
|
||||
property alias deleteObject: deleteObjectAction;
|
||||
property alias centerObject: centerObjectAction;
|
||||
property alias groupObjects: groupObjectsAction;
|
||||
property alias unGroupObjects:unGroupObjectsAction;
|
||||
property alias mergeObjects: mergeObjectsAction;
|
||||
//property alias unMergeObjects: unMergeObjectsAction;
|
||||
property alias deleteObject: deleteObjectAction
|
||||
property alias centerObject: centerObjectAction
|
||||
property alias groupObjects: groupObjectsAction
|
||||
property alias unGroupObjects:unGroupObjectsAction
|
||||
property alias mergeObjects: mergeObjectsAction
|
||||
//property alias unMergeObjects: unMergeObjectsAction
|
||||
|
||||
property alias multiplyObject: multiplyObjectAction;
|
||||
property alias multiplyObject: multiplyObjectAction
|
||||
|
||||
property alias selectAll: selectAllAction;
|
||||
property alias deleteAll: deleteAllAction;
|
||||
property alias reloadAll: reloadAllAction;
|
||||
property alias arrangeAllBuildPlates: arrangeAllBuildPlatesAction;
|
||||
property alias arrangeAll: arrangeAllAction;
|
||||
property alias arrangeSelection: arrangeSelectionAction;
|
||||
property alias resetAllTranslation: resetAllTranslationAction;
|
||||
property alias resetAll: resetAllAction;
|
||||
property alias selectAll: selectAllAction
|
||||
property alias deleteAll: deleteAllAction
|
||||
property alias reloadAll: reloadAllAction
|
||||
property alias arrangeAllBuildPlates: arrangeAllBuildPlatesAction
|
||||
property alias arrangeAll: arrangeAllAction
|
||||
property alias arrangeSelection: arrangeSelectionAction
|
||||
property alias resetAllTranslation: resetAllTranslationAction
|
||||
property alias resetAll: resetAllAction
|
||||
|
||||
property alias addMachine: addMachineAction;
|
||||
property alias configureMachines: settingsAction;
|
||||
property alias addProfile: addProfileAction;
|
||||
property alias updateProfile: updateProfileAction;
|
||||
property alias resetProfile: resetProfileAction;
|
||||
property alias manageProfiles: manageProfilesAction;
|
||||
property alias addMachine: addMachineAction
|
||||
property alias configureMachines: settingsAction
|
||||
property alias addProfile: addProfileAction
|
||||
property alias updateProfile: updateProfileAction
|
||||
property alias resetProfile: resetProfileAction
|
||||
property alias manageProfiles: manageProfilesAction
|
||||
|
||||
property alias manageMaterials: manageMaterialsAction;
|
||||
property alias marketplaceMaterials: marketplaceMaterialsAction;
|
||||
property alias manageMaterials: manageMaterialsAction
|
||||
property alias marketplaceMaterials: marketplaceMaterialsAction
|
||||
|
||||
property alias preferences: preferencesAction;
|
||||
property alias preferences: preferencesAction
|
||||
|
||||
property alias showProfileFolder: showProfileFolderAction;
|
||||
property alias documentation: documentationAction;
|
||||
property alias showProfileFolder: showProfileFolderAction
|
||||
property alias documentation: documentationAction
|
||||
property alias showTroubleshooting: showTroubleShootingAction
|
||||
property alias reportBug: reportBugAction;
|
||||
property alias reportBug: reportBugAction
|
||||
property alias whatsNew: whatsNewAction
|
||||
property alias about: aboutAction;
|
||||
property alias about: aboutAction
|
||||
|
||||
property alias toggleFullScreen: toggleFullScreenAction;
|
||||
property alias toggleFullScreen: toggleFullScreenAction
|
||||
property alias exitFullScreen: exitFullScreenAction
|
||||
|
||||
property alias configureSettingVisibility: configureSettingVisibilityAction
|
||||
|
||||
property alias browsePackages: browsePackagesAction
|
||||
property alias openMarketplace: openMarketplaceAction
|
||||
|
||||
UM.I18nCatalog{id: catalog; name: "cura"}
|
||||
|
||||
|
@ -81,7 +79,7 @@ Item
|
|||
{
|
||||
id: showTroubleShootingAction
|
||||
onTriggered: Qt.openUrlExternally("https://ultimaker.com/en/troubleshooting?utm_source=cura&utm_medium=software&utm_campaign=dropdown-troubleshooting")
|
||||
text: catalog.i18nc("@action:inmenu", "Show Online Troubleshooting Guide");
|
||||
text: catalog.i18nc("@action:inmenu", "Show Online Troubleshooting")
|
||||
}
|
||||
|
||||
Action
|
||||
|
@ -89,7 +87,7 @@ Item
|
|||
id: toggleFullScreenAction
|
||||
shortcut: StandardKey.FullScreen
|
||||
text: catalog.i18nc("@action:inmenu", "Toggle Full Screen")
|
||||
iconName: "view-fullscreen"
|
||||
icon.name: "view-fullscreen"
|
||||
}
|
||||
|
||||
Action
|
||||
|
@ -97,27 +95,27 @@ Item
|
|||
id: exitFullScreenAction
|
||||
shortcut: StandardKey.Cancel
|
||||
text: catalog.i18nc("@action:inmenu", "Exit Full Screen")
|
||||
iconName: "view-fullscreen"
|
||||
icon.name: "view-fullscreen"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: undoAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "&Undo");
|
||||
iconName: "edit-undo";
|
||||
shortcut: StandardKey.Undo;
|
||||
onTriggered: UM.OperationStack.undo();
|
||||
enabled: UM.OperationStack.canUndo;
|
||||
id: undoAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "&Undo")
|
||||
icon.name: "edit-undo"
|
||||
shortcut: StandardKey.Undo
|
||||
onTriggered: UM.OperationStack.undo()
|
||||
enabled: UM.OperationStack.canUndo
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: redoAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "&Redo");
|
||||
iconName: "edit-redo";
|
||||
shortcut: StandardKey.Redo;
|
||||
onTriggered: UM.OperationStack.redo();
|
||||
enabled: UM.OperationStack.canRedo;
|
||||
id: redoAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "&Redo")
|
||||
icon.name: "edit-redo"
|
||||
shortcut: StandardKey.Redo
|
||||
onTriggered: UM.OperationStack.redo()
|
||||
enabled: UM.OperationStack.canRedo
|
||||
}
|
||||
|
||||
Action
|
||||
|
@ -132,7 +130,7 @@ Item
|
|||
//- https://doc.qt.io/qt-5/macos-issues.html#menu-bar
|
||||
//- https://doc.qt.io/qt-5/qmenubar.html#qmenubar-as-a-global-menu-bar
|
||||
text: (Qt.platform.os == "osx") ? "&Quit" : catalog.i18nc("@action:inmenu menubar:file", "&Quit")
|
||||
iconName: "application-exit"
|
||||
icon.name: "application-exit"
|
||||
shortcut: StandardKey.Quit
|
||||
}
|
||||
|
||||
|
@ -189,7 +187,7 @@ Item
|
|||
//- https://doc.qt.io/qt-5/macos-issues.html#menu-bar
|
||||
//- https://doc.qt.io/qt-5/qmenubar.html#qmenubar-as-a-global-menu-bar
|
||||
text: (Qt.platform.os == "osx") ? "Configure Cura..." : catalog.i18nc("@action:inmenu", "Configure Cura...")
|
||||
iconName: "configure"
|
||||
icon.name: "configure"
|
||||
}
|
||||
|
||||
Action
|
||||
|
@ -202,14 +200,14 @@ Item
|
|||
{
|
||||
id: settingsAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:printer", "Manage Pr&inters...")
|
||||
iconName: "configure"
|
||||
icon.name: "configure"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: manageMaterialsAction
|
||||
text: catalog.i18nc("@action:inmenu", "Manage Materials...")
|
||||
iconName: "configure"
|
||||
icon.name: "configure"
|
||||
shortcut: "Ctrl+K"
|
||||
}
|
||||
|
||||
|
@ -221,64 +219,64 @@ Item
|
|||
|
||||
Action
|
||||
{
|
||||
id: updateProfileAction;
|
||||
id: updateProfileAction
|
||||
enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings && Cura.MachineManager.activeQualityChangesGroup != null
|
||||
text: catalog.i18nc("@action:inmenu menubar:profile", "&Update profile with current settings/overrides");
|
||||
onTriggered: Cura.ContainerManager.updateQualityChanges();
|
||||
onTriggered: Cura.ContainerManager.updateQualityChanges()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: resetProfileAction;
|
||||
id: resetProfileAction
|
||||
enabled: Cura.MachineManager.hasUserSettings
|
||||
text: catalog.i18nc("@action:inmenu menubar:profile", "&Discard current changes");
|
||||
text: catalog.i18nc("@action:inmenu menubar:profile", "&Discard current changes")
|
||||
onTriggered:
|
||||
{
|
||||
forceActiveFocus();
|
||||
Cura.ContainerManager.clearUserContainers();
|
||||
forceActiveFocus()
|
||||
Cura.ContainerManager.clearUserContainers()
|
||||
}
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: addProfileAction;
|
||||
id: addProfileAction
|
||||
enabled: !Cura.MachineManager.stacksHaveErrors && Cura.MachineManager.hasUserSettings
|
||||
text: catalog.i18nc("@action:inmenu menubar:profile", "&Create profile from current settings/overrides...");
|
||||
text: catalog.i18nc("@action:inmenu menubar:profile", "&Create profile from current settings/overrides...")
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: manageProfilesAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:profile", "Manage Profiles...")
|
||||
iconName: "configure"
|
||||
icon.name: "configure"
|
||||
shortcut: "Ctrl+J"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: documentationAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:help", "Show Online &Documentation");
|
||||
iconName: "help-contents";
|
||||
shortcut: StandardKey.Help;
|
||||
onTriggered: CuraActions.openDocumentation();
|
||||
id: documentationAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:help", "Show Online &Documentation")
|
||||
icon.name: "help-contents"
|
||||
shortcut: StandardKey.Help
|
||||
onTriggered: CuraActions.openDocumentation()
|
||||
}
|
||||
|
||||
Action {
|
||||
id: reportBugAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:help", "Report a &Bug");
|
||||
iconName: "tools-report-bug";
|
||||
onTriggered: CuraActions.openBugReportPage();
|
||||
id: reportBugAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:help", "Report a &Bug")
|
||||
icon.name: "tools-report-bug"
|
||||
onTriggered: CuraActions.openBugReportPage()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: whatsNewAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:help", "What's New");
|
||||
id: whatsNewAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:help", "What's New")
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: aboutAction;
|
||||
id: aboutAction
|
||||
|
||||
//On MacOS, don't translate the "About" word.
|
||||
//Qt moves the "about" entry to a different place, and if it got renamed can't find it again when it
|
||||
|
@ -287,60 +285,60 @@ Item
|
|||
//For more information, see:
|
||||
//- https://doc.qt.io/qt-5/macos-issues.html#menu-bar
|
||||
//- https://doc.qt.io/qt-5/qmenubar.html#qmenubar-as-a-global-menu-bar
|
||||
text: (Qt.platform.os == "osx") ? "About..." : catalog.i18nc("@action:inmenu menubar:help", "About...");
|
||||
iconName: "help-about";
|
||||
text: (Qt.platform.os == "osx") ? "About..." : catalog.i18nc("@action:inmenu menubar:help", "About...")
|
||||
icon.name: "help-about"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: deleteSelectionAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "Delete Selected");
|
||||
enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection;
|
||||
iconName: "edit-delete";
|
||||
id: deleteSelectionAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "Delete Selected")
|
||||
enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection
|
||||
icon.name: "edit-delete"
|
||||
shortcut: StandardKey.Delete | "Backspace"
|
||||
onTriggered: CuraActions.deleteSelection();
|
||||
onTriggered: CuraActions.deleteSelection()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: centerSelectionAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "Center Selected");
|
||||
enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection;
|
||||
iconName: "align-vertical-center";
|
||||
onTriggered: CuraActions.centerSelection();
|
||||
id: centerSelectionAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "Center Selected")
|
||||
enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection
|
||||
icon.name: "align-vertical-center"
|
||||
onTriggered: CuraActions.centerSelection()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: multiplySelectionAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "Multiply Selected");
|
||||
enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection;
|
||||
iconName: "edit-duplicate";
|
||||
id: multiplySelectionAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit", "Multiply Selected")
|
||||
enabled: UM.Controller.toolsEnabled && UM.Selection.hasSelection
|
||||
icon.name: "edit-duplicate"
|
||||
shortcut: "Ctrl+M"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: deleteObjectAction;
|
||||
text: catalog.i18nc("@action:inmenu","Delete Model");
|
||||
enabled: UM.Controller.toolsEnabled;
|
||||
iconName: "edit-delete";
|
||||
id: deleteObjectAction
|
||||
text: catalog.i18nc("@action:inmenu","Delete Model")
|
||||
enabled: UM.Controller.toolsEnabled
|
||||
icon.name: "edit-delete"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: centerObjectAction;
|
||||
text: catalog.i18nc("@action:inmenu","Ce&nter Model on Platform");
|
||||
id: centerObjectAction
|
||||
text: catalog.i18nc("@action:inmenu","Ce&nter Model on Platform")
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: groupObjectsAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","&Group Models");
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","&Group Models")
|
||||
enabled: UM.Selection.selectionCount > 1 ? true: false
|
||||
iconName: "object-group"
|
||||
shortcut: "Ctrl+G";
|
||||
onTriggered: CuraApplication.groupSelected();
|
||||
icon.name: "object-group"
|
||||
shortcut: "Ctrl+G"
|
||||
onTriggered: CuraApplication.groupSelected()
|
||||
}
|
||||
|
||||
Action
|
||||
|
@ -356,139 +354,132 @@ Item
|
|||
Action
|
||||
{
|
||||
id: unGroupObjectsAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Ungroup Models");
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Ungroup Models")
|
||||
enabled: UM.Selection.isGroupSelected
|
||||
iconName: "object-ungroup"
|
||||
shortcut: "Ctrl+Shift+G";
|
||||
onTriggered: CuraApplication.ungroupSelected();
|
||||
icon.name: "object-ungroup"
|
||||
shortcut: "Ctrl+Shift+G"
|
||||
onTriggered: CuraApplication.ungroupSelected()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: mergeObjectsAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","&Merge Models");
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","&Merge Models")
|
||||
enabled: UM.Selection.selectionCount > 1 ? true: false
|
||||
iconName: "merge";
|
||||
shortcut: "Ctrl+Alt+G";
|
||||
onTriggered: CuraApplication.mergeSelected();
|
||||
icon.name: "merge"
|
||||
shortcut: "Ctrl+Alt+G"
|
||||
onTriggered: CuraApplication.mergeSelected()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: multiplyObjectAction;
|
||||
text: catalog.i18nc("@action:inmenu","&Multiply Model...");
|
||||
iconName: "edit-duplicate"
|
||||
id: multiplyObjectAction
|
||||
text: catalog.i18nc("@action:inmenu","&Multiply Model...")
|
||||
icon.name: "edit-duplicate"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: selectAllAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Select All Models");
|
||||
enabled: UM.Controller.toolsEnabled;
|
||||
iconName: "edit-select-all";
|
||||
shortcut: "Ctrl+A";
|
||||
onTriggered: CuraApplication.selectAll();
|
||||
id: selectAllAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Select All Models")
|
||||
enabled: UM.Controller.toolsEnabled
|
||||
icon.name: "edit-select-all"
|
||||
shortcut: "Ctrl+A"
|
||||
onTriggered: CuraApplication.selectAll()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: deleteAllAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Clear Build Plate");
|
||||
enabled: UM.Controller.toolsEnabled;
|
||||
iconName: "edit-delete";
|
||||
shortcut: "Ctrl+D";
|
||||
onTriggered: CuraApplication.deleteAll();
|
||||
id: deleteAllAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Clear Build Plate")
|
||||
enabled: UM.Controller.toolsEnabled
|
||||
icon.name: "edit-delete"
|
||||
shortcut: "Ctrl+D"
|
||||
onTriggered: CuraApplication.deleteAll()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: reloadAllAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:file","Reload All Models");
|
||||
iconName: "document-revert";
|
||||
id: reloadAllAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:file","Reload All Models")
|
||||
icon.name: "document-revert"
|
||||
shortcut: "F5"
|
||||
onTriggered: CuraApplication.reloadAll();
|
||||
onTriggered: CuraApplication.reloadAll()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: arrangeAllBuildPlatesAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Arrange All Models To All Build Plates");
|
||||
onTriggered: Printer.arrangeObjectsToAllBuildPlates();
|
||||
id: arrangeAllBuildPlatesAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Arrange All Models To All Build Plates")
|
||||
onTriggered: Printer.arrangeObjectsToAllBuildPlates()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: arrangeAllAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Arrange All Models");
|
||||
onTriggered: Printer.arrangeAll();
|
||||
shortcut: "Ctrl+R";
|
||||
id: arrangeAllAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Arrange All Models")
|
||||
onTriggered: Printer.arrangeAll()
|
||||
shortcut: "Ctrl+R"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: arrangeSelectionAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Arrange Selection");
|
||||
onTriggered: Printer.arrangeSelection();
|
||||
id: arrangeSelectionAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Arrange Selection")
|
||||
onTriggered: Printer.arrangeSelection()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: resetAllTranslationAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model Positions");
|
||||
onTriggered: CuraApplication.resetAllTranslation();
|
||||
id: resetAllTranslationAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model Positions")
|
||||
onTriggered: CuraApplication.resetAllTranslation()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: resetAllAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model Transformations");
|
||||
onTriggered: CuraApplication.resetAll();
|
||||
id: resetAllAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:edit","Reset All Model Transformations")
|
||||
onTriggered: CuraApplication.resetAll()
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: openAction;
|
||||
id: openAction
|
||||
property var fileProviderModel: CuraApplication.getFileProviderModel()
|
||||
|
||||
text: catalog.i18nc("@action:inmenu menubar:file","&Open File(s)...");
|
||||
iconName: "document-open";
|
||||
text: catalog.i18nc("@action:inmenu menubar:file","&Open File(s)...")
|
||||
icon.name: "document-open"
|
||||
// Unassign the shortcut when there are more than one file providers, since then the file provider's shortcut is
|
||||
// enabled instead, and Ctrl+O is assigned to the local file provider
|
||||
shortcut: fileProviderModel.count == 1 ? StandardKey.Open : "";
|
||||
shortcut: fileProviderModel.count == 1 ? StandardKey.Open : ""
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: newProjectAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:file","&New Project...");
|
||||
text: catalog.i18nc("@action:inmenu menubar:file","&New Project...")
|
||||
shortcut: StandardKey.New
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: showProfileFolderAction;
|
||||
text: catalog.i18nc("@action:inmenu menubar:help","Show Configuration Folder");
|
||||
id: showProfileFolderAction
|
||||
text: catalog.i18nc("@action:inmenu menubar:help","Show Configuration Folder")
|
||||
}
|
||||
|
||||
|
||||
Action
|
||||
{
|
||||
id: configureSettingVisibilityAction
|
||||
text: catalog.i18nc("@action:menu", "Configure setting visibility...");
|
||||
iconName: "configure"
|
||||
text: catalog.i18nc("@action:menu", "Configure setting visibility...")
|
||||
icon.name: "configure"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: browsePackagesAction
|
||||
text: "&Marketplace"
|
||||
iconName: "plugins_browse"
|
||||
}
|
||||
|
||||
Action
|
||||
{
|
||||
id: openMarketplaceAction
|
||||
text: catalog.i18nc("@action:menu", "&Marketplace")
|
||||
iconName: "plugins_browse"
|
||||
icon.name: "plugins_browse"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.4 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
Button
|
||||
|
@ -31,7 +31,7 @@ Button
|
|||
border.width: UM.Theme.getSize("default_lining").width
|
||||
}
|
||||
|
||||
Cura.ToolTip
|
||||
UM.ToolTip
|
||||
{
|
||||
id: tooltip
|
||||
tooltipText: base.text
|
||||
|
@ -73,7 +73,7 @@ Button
|
|||
}
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: applicationDisplayName
|
||||
|
||||
|
@ -82,10 +82,8 @@ Button
|
|||
|
||||
height: base.height - applicationIcon.height - 2 * UM.Theme.getSize("default_margin").width // Account for the top and bottom margins
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
wrapMode: Text.Wrap
|
||||
elide: Text.ElideRight
|
||||
color: UM.Theme.getColor("text")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
122
resources/qml/CategoryButton.qml
Normal file
122
resources/qml/CategoryButton.qml
Normal file
|
@ -0,0 +1,122 @@
|
|||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Uranium is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
// Button used to collapse and de-collapse group, or a category, of settings
|
||||
// the button contains
|
||||
// - the title of the category,
|
||||
// - an optional icon and
|
||||
// - a chevron button to display the colapsetivity of the settings
|
||||
// Mainly used for the collapsable categories in the settings pannel
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 2.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
import UM 1.5 as UM
|
||||
|
||||
Button
|
||||
{
|
||||
id: base
|
||||
|
||||
height: UM.Theme.getSize("section_header").height
|
||||
|
||||
property var expanded: false
|
||||
property bool indented: false
|
||||
property alias arrow: categoryArrow
|
||||
property alias categoryIcon: icon.source
|
||||
property alias labelText: categoryLabel.text
|
||||
property alias labelFont: categoryLabel.font
|
||||
leftPadding: UM.Theme.getSize("narrow_margin").width
|
||||
rightPadding: UM.Theme.getSize("narrow_margin").width
|
||||
states:
|
||||
[
|
||||
State
|
||||
{
|
||||
name: "disabled"
|
||||
when: !base.enabled
|
||||
PropertyChanges { target: categoryLabel; color: UM.Theme.getColor("setting_category_disabled_text") }
|
||||
PropertyChanges { target: icon; color: UM.Theme.getColor("setting_category_disabled_text") }
|
||||
PropertyChanges { target: backgroundRectangle; color: UM.Theme.getColor("setting_category_disabled") }
|
||||
},
|
||||
State
|
||||
{
|
||||
name: "hovered"
|
||||
when: base.hovered
|
||||
PropertyChanges { target: categoryLabel; color: UM.Theme.getColor("setting_category_active_text") }
|
||||
PropertyChanges { target: icon; color: UM.Theme.getColor("setting_category_active_text") }
|
||||
PropertyChanges { target: backgroundRectangle; color: UM.Theme.getColor("setting_category_hover") }
|
||||
},
|
||||
State
|
||||
{
|
||||
name: "active"
|
||||
when: base.pressed || base.activeFocus
|
||||
PropertyChanges { target: categoryLabel; color: UM.Theme.getColor("setting_category_active_text") }
|
||||
PropertyChanges { target: icon; color: UM.Theme.getColor("setting_category_active_text") }
|
||||
PropertyChanges { target: backgroundRectangle; color: UM.Theme.getColor("setting_category") }
|
||||
}
|
||||
]
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
id: backgroundRectangle
|
||||
|
||||
color: UM.Theme.getColor("setting_category")
|
||||
Behavior on color { ColorAnimation { duration: 50 } }
|
||||
|
||||
// Lining on top
|
||||
Rectangle
|
||||
{
|
||||
anchors.top: parent.top
|
||||
color: UM.Theme.getColor("border_main")
|
||||
height: UM.Theme.getSize("default_lining").height
|
||||
width: parent.width
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: Item
|
||||
{
|
||||
id: content
|
||||
//spacing: UM.Theme.getSize("narrow_margin").width
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: icon
|
||||
source: ""
|
||||
visible: icon.source != ""
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
color: UM.Theme.getColor("setting_category_text")
|
||||
width: visible ? UM.Theme.getSize("section_icon").width: 0
|
||||
height: UM.Theme.getSize("section_icon").height
|
||||
anchors.leftMargin: base.indented ? UM.Theme.getSize("default_margin").width: 0
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
}
|
||||
|
||||
UM.Label
|
||||
{
|
||||
id: categoryLabel
|
||||
Layout.fillWidth: true
|
||||
anchors.right: categoryArrow.left
|
||||
anchors.left: icon.right
|
||||
anchors.leftMargin: base.indented ? UM.Theme.getSize("default_margin").width + UM.Theme.getSize("narrow_margin").width: UM.Theme.getSize("narrow_margin").width
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
elide: Text.ElideRight
|
||||
wrapMode: Text.NoWrap
|
||||
font: UM.Theme.getFont("medium_bold")
|
||||
color: UM.Theme.getColor("setting_category_text")
|
||||
}
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: categoryArrow
|
||||
anchors.right: parent.right
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
sourceSize.width: width
|
||||
sourceSize.height: height
|
||||
color: UM.Theme.getColor("setting_control_button")
|
||||
source: expanded ? UM.Theme.getIcon("ChevronSingleDown") : UM.Theme.getIcon("ChevronSingleLeft")
|
||||
}
|
||||
}
|
||||
}
|
144
resources/qml/ColorDialog.qml
Normal file
144
resources/qml/ColorDialog.qml
Normal file
|
@ -0,0 +1,144 @@
|
|||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
|
||||
/*
|
||||
* A dialog that provides the option to pick a color. Currently it only asks for a hex code and shows the color
|
||||
* in a color swath
|
||||
*/
|
||||
UM.Dialog
|
||||
{
|
||||
id: base
|
||||
|
||||
property variant catalog: UM.I18nCatalog { name: "cura" }
|
||||
|
||||
margin: UM.Theme.getSize("default_margin").width
|
||||
|
||||
property alias swatchGridColumns: colorSwatchGrid.columns
|
||||
|
||||
// In this case we would like to let the content of the dialog determine the size of the dialog
|
||||
// however with the current implementation of the dialog this is not possible, so instead we calculate
|
||||
// the size of the dialog ourselves.
|
||||
// Ugly workaround for windows having overlapping elements due to incorrect dialog width
|
||||
minimumWidth: content.width + (Qt.platform.os == "windows" ? 4 * margin : 2 * margin)
|
||||
minimumHeight: content.height + buttonRow.height + (Qt.platform.os == "windows" ? 5 * margin : 3 * margin)
|
||||
|
||||
property alias color: colorInput.text
|
||||
property var swatchColors: [
|
||||
"#2161AF", "#57AFB2", "#F7B32D", "#E33D4A", "#C088AD",
|
||||
"#5D88BE", "#5ABD0E", "#E17239", "#F74E46", "#874AF9",
|
||||
"#50C2EC", "#8DC15A", "#C3977A", "#CD7776", "#9086BA",
|
||||
"#FFFFFF", "#D3D3D3", "#9E9E9E", "#5A5A5A", "#000000",
|
||||
]
|
||||
|
||||
Component.onCompleted: updateSwatches()
|
||||
onSwatchColorsChanged: updateSwatches()
|
||||
|
||||
function updateSwatches()
|
||||
{
|
||||
swatchColorsModel.clear();
|
||||
for (const swatchColor of base.swatchColors)
|
||||
{
|
||||
swatchColorsModel.append({ swatchColor });
|
||||
}
|
||||
}
|
||||
|
||||
Column
|
||||
{
|
||||
id: content
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
spacing: UM.Theme.getSize("wide_margin").height
|
||||
|
||||
GridLayout {
|
||||
id: colorSwatchGrid
|
||||
columns: 5
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
columnSpacing: UM.Theme.getSize("thick_margin").width
|
||||
rowSpacing: UM.Theme.getSize("thick_margin").height
|
||||
|
||||
Repeater
|
||||
{
|
||||
model: ListModel
|
||||
{
|
||||
id: swatchColorsModel
|
||||
}
|
||||
|
||||
delegate: Rectangle
|
||||
{
|
||||
color: swatchColor
|
||||
implicitWidth: UM.Theme.getSize("medium_button_icon").width
|
||||
implicitHeight: UM.Theme.getSize("medium_button_icon").height
|
||||
radius: width / 2
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
anchors.fill: parent
|
||||
visible: swatchColor == base.color
|
||||
source: UM.Theme.getIcon("Check", "low")
|
||||
color: UM.Theme.getColor("checkbox")
|
||||
}
|
||||
|
||||
MouseArea
|
||||
{
|
||||
anchors.fill: parent
|
||||
onClicked: base.color = swatchColor
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout
|
||||
{
|
||||
width: parent.width
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Hex")
|
||||
}
|
||||
|
||||
TextField
|
||||
{
|
||||
id: colorInput
|
||||
Layout.fillWidth: true
|
||||
text: "#FFFFFF"
|
||||
selectByMouse: true
|
||||
onTextChanged: {
|
||||
if (!text.startsWith("#"))
|
||||
{
|
||||
text = `#${text}`;
|
||||
}
|
||||
}
|
||||
validator: RegExpValidator { regExp: /^#([a-fA-F0-9]{0,6})$/ }
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
color: base.color
|
||||
Layout.preferredHeight: parent.height
|
||||
Layout.preferredWidth: height
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buttonSpacing: UM.Theme.getSize("thin_margin").width
|
||||
|
||||
rightButtons:
|
||||
[
|
||||
Cura.TertiaryButton {
|
||||
text: catalog.i18nc("@action:button", "Cancel")
|
||||
onClicked: base.close()
|
||||
},
|
||||
Cura.PrimaryButton {
|
||||
text: catalog.i18nc("@action:button", "OK")
|
||||
onClicked: base.accept()
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,14 +1,11 @@
|
|||
// Copyright (c) 2021 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 1.4
|
||||
import QtQuick.Controls.Styles 1.4
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Dialogs 1.2
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import UM 1.3 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
import "Dialogs"
|
||||
|
@ -161,7 +158,6 @@ UM.MainWindow
|
|||
ApplicationMenu
|
||||
{
|
||||
id: applicationMenu
|
||||
window: base
|
||||
}
|
||||
|
||||
Item
|
||||
|
@ -255,7 +251,6 @@ UM.MainWindow
|
|||
// Try to install plugin & close.
|
||||
CuraApplication.installPackageViaDragAndDrop(filename);
|
||||
packageInstallDialog.text = catalog.i18nc("@label", "This package will be installed after restarting.");
|
||||
packageInstallDialog.icon = StandardIcon.Information;
|
||||
packageInstallDialog.open();
|
||||
}
|
||||
else
|
||||
|
@ -588,18 +583,15 @@ UM.MainWindow
|
|||
}
|
||||
}
|
||||
|
||||
MessageDialog
|
||||
Cura.MessageDialog
|
||||
{
|
||||
id: exitConfirmationDialog
|
||||
title: catalog.i18nc("@title:window %1 is the application name", "Closing %1").arg(CuraApplication.applicationDisplayName)
|
||||
text: catalog.i18nc("@label %1 is the application name", "Are you sure you want to exit %1?").arg(CuraApplication.applicationDisplayName)
|
||||
icon: StandardIcon.Question
|
||||
modality: Qt.ApplicationModal
|
||||
standardButtons: StandardButton.Yes | StandardButton.No
|
||||
onYes: CuraApplication.callConfirmExitDialogCallback(true)
|
||||
onNo: CuraApplication.callConfirmExitDialogCallback(false)
|
||||
standardButtons: Dialog.Yes | Dialog.No
|
||||
onAccepted: CuraApplication.callConfirmExitDialogCallback(true)
|
||||
onRejected: CuraApplication.callConfirmExitDialogCallback(false)
|
||||
onVisibilityChanged:
|
||||
onClosed:
|
||||
{
|
||||
if (!visible)
|
||||
{
|
||||
|
@ -749,20 +741,18 @@ UM.MainWindow
|
|||
}
|
||||
}
|
||||
|
||||
MessageDialog
|
||||
Cura.MessageDialog
|
||||
{
|
||||
id: packageInstallDialog
|
||||
title: catalog.i18nc("@window:title", "Install Package");
|
||||
title: catalog.i18nc("@window:title", "Install Package")
|
||||
standardButtons: StandardButton.Ok
|
||||
modality: Qt.ApplicationModal
|
||||
}
|
||||
|
||||
MessageDialog
|
||||
Cura.MessageDialog
|
||||
{
|
||||
id: infoMultipleFilesWithGcodeDialog
|
||||
title: catalog.i18nc("@title:window", "Open File(s)")
|
||||
icon: StandardIcon.Information
|
||||
standardButtons: StandardButton.Ok
|
||||
standardButtons: Dialog.Ok
|
||||
text: catalog.i18nc("@text:window", "We have found one or more G-Code files within the files you have selected. You can only open one G-Code file at a time. If you want to open a G-Code file, please just select only one.")
|
||||
|
||||
property var selectedMultipleFiles
|
||||
|
@ -821,35 +811,6 @@ UM.MainWindow
|
|||
}
|
||||
}
|
||||
|
||||
MessageDialog
|
||||
{
|
||||
id: messageDialog
|
||||
modality: Qt.ApplicationModal
|
||||
onAccepted: CuraApplication.messageBoxClosed(clickedButton)
|
||||
onApply: CuraApplication.messageBoxClosed(clickedButton)
|
||||
onDiscard: CuraApplication.messageBoxClosed(clickedButton)
|
||||
onHelp: CuraApplication.messageBoxClosed(clickedButton)
|
||||
onNo: CuraApplication.messageBoxClosed(clickedButton)
|
||||
onRejected: CuraApplication.messageBoxClosed(clickedButton)
|
||||
onReset: CuraApplication.messageBoxClosed(clickedButton)
|
||||
onYes: CuraApplication.messageBoxClosed(clickedButton)
|
||||
}
|
||||
|
||||
Connections
|
||||
{
|
||||
target: CuraApplication
|
||||
function onShowMessageBox(title, text, informativeText, detailedText, buttons, icon)
|
||||
{
|
||||
messageDialog.title = title
|
||||
messageDialog.text = text
|
||||
messageDialog.informativeText = informativeText
|
||||
messageDialog.detailedText = detailedText
|
||||
messageDialog.standardButtons = buttons
|
||||
messageDialog.icon = icon
|
||||
messageDialog.visible = true
|
||||
}
|
||||
}
|
||||
|
||||
Component
|
||||
{
|
||||
id: discardOrKeepProfileChangesDialogComponent
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
// Copyright (c) 2021 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 2.9
|
||||
|
||||
import UM 1.1 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.5 as Cura
|
||||
|
||||
UM.Dialog
|
||||
{
|
||||
|
@ -50,7 +50,7 @@ UM.Dialog
|
|||
UM.I18nCatalog{id: catalog; name: "cura"}
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: version
|
||||
|
||||
|
@ -63,7 +63,7 @@ UM.Dialog
|
|||
}
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: description
|
||||
width: parent.width
|
||||
|
@ -76,7 +76,7 @@ UM.Dialog
|
|||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: creditsNotes
|
||||
width: parent.width
|
||||
|
@ -89,90 +89,87 @@ UM.Dialog
|
|||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
}
|
||||
|
||||
ScrollView
|
||||
ListView
|
||||
{
|
||||
id: credits
|
||||
id: projectsList
|
||||
anchors.top: creditsNotes.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
|
||||
width: parent.width
|
||||
height: base.height - y - (2 * UM.Theme.getSize("default_margin").height + closeButton.height)
|
||||
|
||||
ListView
|
||||
ScrollBar.vertical: UM.ScrollBar
|
||||
{
|
||||
id: projectsList
|
||||
id: projectsListScrollBar
|
||||
}
|
||||
|
||||
width: parent.width
|
||||
delegate: Row
|
||||
{
|
||||
spacing: UM.Theme.getSize("narrow_margin").width
|
||||
UM.Label
|
||||
{
|
||||
text: "<a href='%1' title='%2'>%2</a>".arg(model.url).arg(model.name)
|
||||
width: (projectsList.width * 0.25) | 0
|
||||
elide: Text.ElideRight
|
||||
onLinkActivated: Qt.openUrlExternally(link)
|
||||
}
|
||||
UM.Label
|
||||
{
|
||||
text: model.description
|
||||
elide: Text.ElideRight
|
||||
width: ((projectsList.width * 0.6) | 0) - parent.spacing * 2 - projectsListScrollBar.width
|
||||
}
|
||||
UM.Label
|
||||
{
|
||||
text: model.license
|
||||
elide: Text.ElideRight
|
||||
width: (projectsList.width * 0.15) | 0
|
||||
}
|
||||
}
|
||||
model: ListModel
|
||||
{
|
||||
id: projectsModel
|
||||
}
|
||||
Component.onCompleted:
|
||||
{
|
||||
projectsModel.append({ name: "Cura", description: catalog.i18nc("@label", "Graphical user interface"), license: "LGPLv3", url: "https://github.com/Ultimaker/Cura" });
|
||||
projectsModel.append({ name: "Uranium", description: catalog.i18nc("@label", "Application framework"), license: "LGPLv3", url: "https://github.com/Ultimaker/Uranium" });
|
||||
projectsModel.append({ name: "CuraEngine", description: catalog.i18nc("@label", "G-code generator"), license: "AGPLv3", url: "https://github.com/Ultimaker/CuraEngine" });
|
||||
projectsModel.append({ name: "libArcus", description: catalog.i18nc("@label", "Interprocess communication library"), license: "LGPLv3", url: "https://github.com/Ultimaker/libArcus" });
|
||||
|
||||
delegate: Row
|
||||
{
|
||||
Label
|
||||
{
|
||||
text: "<a href='%1' title='%2'>%2</a>".arg(model.url).arg(model.name)
|
||||
width: (projectsList.width * 0.25) | 0
|
||||
elide: Text.ElideRight
|
||||
onLinkActivated: Qt.openUrlExternally(link)
|
||||
}
|
||||
Label
|
||||
{
|
||||
text: model.description
|
||||
elide: Text.ElideRight
|
||||
width: (projectsList.width * 0.6) | 0
|
||||
}
|
||||
Label
|
||||
{
|
||||
text: model.license
|
||||
elide: Text.ElideRight
|
||||
width: (projectsList.width * 0.15) | 0
|
||||
}
|
||||
}
|
||||
model: ListModel
|
||||
{
|
||||
id: projectsModel
|
||||
}
|
||||
Component.onCompleted:
|
||||
{
|
||||
projectsModel.append({ name: "Cura", description: catalog.i18nc("@label", "Graphical user interface"), license: "LGPLv3", url: "https://github.com/Ultimaker/Cura" });
|
||||
projectsModel.append({ name: "Uranium", description: catalog.i18nc("@label", "Application framework"), license: "LGPLv3", url: "https://github.com/Ultimaker/Uranium" });
|
||||
projectsModel.append({ name: "CuraEngine", description: catalog.i18nc("@label", "G-code generator"), license: "AGPLv3", url: "https://github.com/Ultimaker/CuraEngine" });
|
||||
projectsModel.append({ name: "libArcus", description: catalog.i18nc("@label", "Interprocess communication library"), license: "LGPLv3", url: "https://github.com/Ultimaker/libArcus" });
|
||||
|
||||
projectsModel.append({ name: "Python", description: catalog.i18nc("@label", "Programming language"), license: "Python", url: "http://python.org/" });
|
||||
projectsModel.append({ name: "Qt5", description: catalog.i18nc("@label", "GUI framework"), license: "LGPLv3", url: "https://www.qt.io/" });
|
||||
projectsModel.append({ name: "PyQt", description: catalog.i18nc("@label", "GUI framework bindings"), license: "GPL", url: "https://riverbankcomputing.com/software/pyqt" });
|
||||
projectsModel.append({ name: "SIP", description: catalog.i18nc("@label", "C/C++ Binding library"), license: "GPL", url: "https://riverbankcomputing.com/software/sip" });
|
||||
projectsModel.append({ name: "Protobuf", description: catalog.i18nc("@label", "Data interchange format"), license: "BSD", url: "https://developers.google.com/protocol-buffers" });
|
||||
projectsModel.append({ name: "SciPy", description: catalog.i18nc("@label", "Support library for scientific computing"), license: "BSD-new", url: "https://www.scipy.org/" });
|
||||
projectsModel.append({ name: "NumPy", description: catalog.i18nc("@label", "Support library for faster math"), license: "BSD", url: "http://www.numpy.org/" });
|
||||
projectsModel.append({ name: "NumPy-STL", description: catalog.i18nc("@label", "Support library for handling STL files"), license: "BSD", url: "https://github.com/WoLpH/numpy-stl" });
|
||||
projectsModel.append({ name: "Trimesh", description: catalog.i18nc("@label", "Support library for handling triangular meshes"), license: "MIT", url: "https://trimsh.org" });
|
||||
projectsModel.append({ name: "libSavitar", description: catalog.i18nc("@label", "Support library for handling 3MF files"), license: "LGPLv3", url: "https://github.com/ultimaker/libsavitar" });
|
||||
projectsModel.append({ name: "libCharon", description: catalog.i18nc("@label", "Support library for file metadata and streaming"), license: "LGPLv3", url: "https://github.com/ultimaker/libcharon" });
|
||||
projectsModel.append({ name: "PySerial", description: catalog.i18nc("@label", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" });
|
||||
projectsModel.append({ name: "python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" });
|
||||
projectsModel.append({ name: "Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" });
|
||||
projectsModel.append({ name: "Pyclipper", description: catalog.i18nc("@label", "Python bindings for Clipper"), license: "MIT", url: "https://github.com/fonttools/pyclipper" });
|
||||
projectsModel.append({ name: "mypy", description: catalog.i18nc("@Label", "Static type checker for Python"), license: "MIT", url: "http://mypy-lang.org/" });
|
||||
projectsModel.append({ name: "certifi", description: catalog.i18nc("@Label", "Root Certificates for validating SSL trustworthiness"), license: "MPL", url: "https://github.com/certifi/python-certifi" });
|
||||
projectsModel.append({ name: "cryptography", description: catalog.i18nc("@Label", "Root Certificates for validating SSL trustworthiness"), license: "APACHE and BSD", url: "https://cryptography.io/" });
|
||||
projectsModel.append({ name: "Sentry", description: catalog.i18nc("@Label", "Python Error tracking library"), license: "BSD 2-Clause 'Simplified'", url: "https://sentry.io/for/python/" });
|
||||
projectsModel.append({ name: "libnest2d", description: catalog.i18nc("@label", "Polygon packing library, developed by Prusa Research"), license: "LGPL", url: "https://github.com/tamasmeszaros/libnest2d" });
|
||||
projectsModel.append({ name: "pynest2d", description: catalog.i18nc("@label", "Python bindings for libnest2d"), license: "LGPL", url: "https://github.com/Ultimaker/pynest2d" });
|
||||
projectsModel.append({ name: "keyring", description: catalog.i18nc("@label", "Support library for system keyring access"), license: "MIT", url: "https://github.com/jaraco/keyring" });
|
||||
projectsModel.append({ name: "pywin32", description: catalog.i18nc("@label", "Python extensions for Microsoft Windows"), license: "PSF", url: "https://github.com/mhammond/pywin32" });
|
||||
projectsModel.append({ name: "Noto Sans", description: catalog.i18nc("@label", "Font"), license: "Apache 2.0", url: "https://www.google.com/get/noto/" });
|
||||
projectsModel.append({ name: "Font-Awesome-SVG-PNG", description: catalog.i18nc("@label", "SVG icons"), license: "SIL OFL 1.1", url: "https://github.com/encharm/Font-Awesome-SVG-PNG" });
|
||||
projectsModel.append({ name: "AppImageKit", description: catalog.i18nc("@label", "Linux cross-distribution application deployment"), license: "MIT", url: "https://github.com/AppImage/AppImageKit" });
|
||||
}
|
||||
projectsModel.append({ name: "Python", description: catalog.i18nc("@label", "Programming language"), license: "Python", url: "http://python.org/" });
|
||||
projectsModel.append({ name: "Qt5", description: catalog.i18nc("@label", "GUI framework"), license: "LGPLv3", url: "https://www.qt.io/" });
|
||||
projectsModel.append({ name: "PyQt", description: catalog.i18nc("@label", "GUI framework bindings"), license: "GPL", url: "https://riverbankcomputing.com/software/pyqt" });
|
||||
projectsModel.append({ name: "SIP", description: catalog.i18nc("@label", "C/C++ Binding library"), license: "GPL", url: "https://riverbankcomputing.com/software/sip" });
|
||||
projectsModel.append({ name: "Protobuf", description: catalog.i18nc("@label", "Data interchange format"), license: "BSD", url: "https://developers.google.com/protocol-buffers" });
|
||||
projectsModel.append({ name: "SciPy", description: catalog.i18nc("@label", "Support library for scientific computing"), license: "BSD-new", url: "https://www.scipy.org/" });
|
||||
projectsModel.append({ name: "NumPy", description: catalog.i18nc("@label", "Support library for faster math"), license: "BSD", url: "http://www.numpy.org/" });
|
||||
projectsModel.append({ name: "NumPy-STL", description: catalog.i18nc("@label", "Support library for handling STL files"), license: "BSD", url: "https://github.com/WoLpH/numpy-stl" });
|
||||
projectsModel.append({ name: "Trimesh", description: catalog.i18nc("@label", "Support library for handling triangular meshes"), license: "MIT", url: "https://trimsh.org" });
|
||||
projectsModel.append({ name: "libSavitar", description: catalog.i18nc("@label", "Support library for handling 3MF files"), license: "LGPLv3", url: "https://github.com/ultimaker/libsavitar" });
|
||||
projectsModel.append({ name: "libCharon", description: catalog.i18nc("@label", "Support library for file metadata and streaming"), license: "LGPLv3", url: "https://github.com/ultimaker/libcharon" });
|
||||
projectsModel.append({ name: "PySerial", description: catalog.i18nc("@label", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" });
|
||||
projectsModel.append({ name: "python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" });
|
||||
projectsModel.append({ name: "Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" });
|
||||
projectsModel.append({ name: "Pyclipper", description: catalog.i18nc("@label", "Python bindings for Clipper"), license: "MIT", url: "https://github.com/fonttools/pyclipper" });
|
||||
projectsModel.append({ name: "mypy", description: catalog.i18nc("@Label", "Static type checker for Python"), license: "MIT", url: "http://mypy-lang.org/" });
|
||||
projectsModel.append({ name: "certifi", description: catalog.i18nc("@Label", "Root Certificates for validating SSL trustworthiness"), license: "MPL", url: "https://github.com/certifi/python-certifi" });
|
||||
projectsModel.append({ name: "cryptography", description: catalog.i18nc("@Label", "Root Certificates for validating SSL trustworthiness"), license: "APACHE and BSD", url: "https://cryptography.io/" });
|
||||
projectsModel.append({ name: "Sentry", description: catalog.i18nc("@Label", "Python Error tracking library"), license: "BSD 2-Clause 'Simplified'", url: "https://sentry.io/for/python/" });
|
||||
projectsModel.append({ name: "libnest2d", description: catalog.i18nc("@label", "Polygon packing library, developed by Prusa Research"), license: "LGPL", url: "https://github.com/tamasmeszaros/libnest2d" });
|
||||
projectsModel.append({ name: "pynest2d", description: catalog.i18nc("@label", "Python bindings for libnest2d"), license: "LGPL", url: "https://github.com/Ultimaker/pynest2d" });
|
||||
projectsModel.append({ name: "keyring", description: catalog.i18nc("@label", "Support library for system keyring access"), license: "MIT", url: "https://github.com/jaraco/keyring" });
|
||||
projectsModel.append({ name: "pywin32", description: catalog.i18nc("@label", "Python extensions for Microsoft Windows"), license: "PSF", url: "https://github.com/mhammond/pywin32" });
|
||||
projectsModel.append({ name: "Noto Sans", description: catalog.i18nc("@label", "Font"), license: "Apache 2.0", url: "https://www.google.com/get/noto/" });
|
||||
projectsModel.append({ name: "Font-Awesome-SVG-PNG", description: catalog.i18nc("@label", "SVG icons"), license: "SIL OFL 1.1", url: "https://github.com/encharm/Font-Awesome-SVG-PNG" });
|
||||
projectsModel.append({ name: "AppImageKit", description: catalog.i18nc("@label", "Linux cross-distribution application deployment"), license: "MIT", url: "https://github.com/AppImage/AppImageKit" });
|
||||
}
|
||||
}
|
||||
|
||||
rightButtons: Button
|
||||
rightButtons: Cura.TertiaryButton
|
||||
{
|
||||
//: Close about dialog button
|
||||
id: closeButton
|
||||
text: catalog.i18nc("@action:button","Close");
|
||||
|
||||
onClicked: base.visible = false;
|
||||
text: catalog.i18nc("@action:button", "Close")
|
||||
onClicked: reject()
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
// Copyright (c) 2021 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Controls 2.1
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Dialogs 1.1
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
@ -77,17 +74,13 @@ UM.Dialog
|
|||
Column
|
||||
{
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: 20 * screenScaleFactor
|
||||
anchors.rightMargin: 20 * screenScaleFactor
|
||||
anchors.bottomMargin: 10 * screenScaleFactor
|
||||
spacing: 10 * screenScaleFactor
|
||||
spacing: UM.Theme.getSize("default_margin").height
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: questionText
|
||||
width: parent.width
|
||||
text: catalog.i18nc("@text:window", "This is a Cura project file. Would you like to open it as a project or import the models from it?")
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
font: UM.Theme.getFont("default")
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
@ -98,29 +91,24 @@ UM.Dialog
|
|||
text: catalog.i18nc("@text:window", "Remember my choice")
|
||||
checked: UM.Preferences.getValue("cura/choice_on_open_project") != "always_ask"
|
||||
}
|
||||
|
||||
// Buttons
|
||||
Item {
|
||||
id: buttonBar
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.left
|
||||
height: childrenRect.height
|
||||
|
||||
Button {
|
||||
id: openAsProjectButton
|
||||
text: catalog.i18nc("@action:button", "Open as project")
|
||||
anchors.right: importModelsButton.left
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
isDefault: true
|
||||
onClicked: loadProjectFile()
|
||||
}
|
||||
|
||||
Button {
|
||||
id: importModelsButton
|
||||
text: catalog.i18nc("@action:button", "Import models")
|
||||
anchors.right: parent.right
|
||||
onClicked: loadModelFiles()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onAccepted: loadProjectFile()
|
||||
onRejected: loadModelFiles()
|
||||
|
||||
buttonSpacing: UM.Theme.getSize("thin_margin").width
|
||||
|
||||
rightButtons:
|
||||
[
|
||||
Cura.PrimaryButton
|
||||
{
|
||||
text: catalog.i18nc("@action:button", "Open as project")
|
||||
onClicked: loadProjectFile()
|
||||
},
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
text: catalog.i18nc("@action:button", "Import models")
|
||||
onClicked: loadModelFiles()
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -1,23 +1,30 @@
|
|||
// Copyright (c) 2020 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
//Copyright (c) 2022 Ultimaker B.V.
|
||||
//Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import Qt.labs.qmlmodels 1.0
|
||||
import QtQuick 2.1
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls 2.15 as NewControls
|
||||
import QtQuick.Dialogs 1.2
|
||||
import QtQuick.Window 2.1
|
||||
import QtQuick.Controls 2.15
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.6 as Cura
|
||||
|
||||
UM.Dialog
|
||||
{
|
||||
id: base
|
||||
title: catalog.i18nc("@title:window", "Discard or Keep changes")
|
||||
|
||||
onAccepted: CuraApplication.discardOrKeepProfileChangesClosed("discard")
|
||||
onRejected: CuraApplication.discardOrKeepProfileChangesClosed("keep")
|
||||
|
||||
minimumWidth: UM.Theme.getSize("popup_dialog").width
|
||||
minimumHeight: UM.Theme.getSize("popup_dialog").height
|
||||
property var changesModel: Cura.UserChangesModel{ id: userChangesModel}
|
||||
width: minimumWidth
|
||||
height: minimumHeight
|
||||
backgroundColor: UM.Theme.getColor("background_1")
|
||||
margin: UM.Theme.getSize("thick_margin").width
|
||||
|
||||
property var changesModel: Cura.UserChangesModel { id: userChangesModel }
|
||||
|
||||
onVisibilityChanged:
|
||||
{
|
||||
if(visible)
|
||||
|
@ -37,119 +44,59 @@ UM.Dialog
|
|||
}
|
||||
}
|
||||
|
||||
Row
|
||||
UM.Label
|
||||
{
|
||||
id: infoTextRow
|
||||
height: childrenRect.height
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
id: infoText
|
||||
text: catalog.i18nc("@text:window, %1 is a profile name", "You have customized some profile settings. Would you like to Keep these changed settings after switching profiles? Alternatively, you can discard the changes to load the defaults from '%1'.").arg(Cura.MachineManager.activeQualityDisplayNameMap["main"])
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
wrapMode: Text.WordWrap
|
||||
|
||||
UM.I18nCatalog
|
||||
{
|
||||
id: catalog;
|
||||
id: catalog
|
||||
name: "cura"
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: catalog.i18nc("@text:window, %1 is a profile name", "You have customized some profile settings.\nWould you like to Keep these changed settings after switching profiles?\nAlternatively, you can discard the changes to load the defaults from '%1'.").arg(Cura.MachineManager.activeQualityDisplayNameMap["main"])
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
anchors.top: infoTextRow.bottom
|
||||
anchors.bottom: optionRow.top
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
anchors.top: infoText.bottom
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
TableView
|
||||
|
||||
Cura.TableView
|
||||
{
|
||||
anchors.fill: parent
|
||||
height: base.height - 150
|
||||
id: tableView
|
||||
Component
|
||||
{
|
||||
id: labelDelegate
|
||||
Label
|
||||
{
|
||||
property var extruder_name: userChangesModel.getItem(styleData.row).extruder
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.right: parent.right
|
||||
elide: Text.ElideRight
|
||||
font: UM.Theme.getFont("system")
|
||||
text:
|
||||
{
|
||||
var result = styleData.value
|
||||
if (extruder_name != "")
|
||||
{
|
||||
result += " (" + extruder_name + ")"
|
||||
}
|
||||
return result
|
||||
}
|
||||
}
|
||||
}
|
||||
anchors.fill: parent
|
||||
|
||||
Component
|
||||
columnHeaders: [
|
||||
catalog.i18nc("@title:column", "Profile settings"),
|
||||
Cura.MachineManager.activeQualityDisplayNameMap["main"],
|
||||
catalog.i18nc("@title:column", "Current changes")
|
||||
]
|
||||
model: TableModel
|
||||
{
|
||||
id: defaultDelegate
|
||||
Label
|
||||
{
|
||||
text: styleData.value
|
||||
font: UM.Theme.getFont("system")
|
||||
}
|
||||
TableModelColumn { display: "label" }
|
||||
TableModelColumn { display: "original_value" }
|
||||
TableModelColumn { display: "user_value" }
|
||||
rows: userChangesModel.items
|
||||
}
|
||||
|
||||
TableViewColumn
|
||||
{
|
||||
role: "label"
|
||||
title: catalog.i18nc("@title:column", "Profile settings")
|
||||
delegate: labelDelegate
|
||||
width: (tableView.width * 0.4) | 0
|
||||
}
|
||||
TableViewColumn
|
||||
{
|
||||
role: "original_value"
|
||||
title: Cura.MachineManager.activeQualityDisplayNameMap["main"]
|
||||
width: (tableView.width * 0.3) | 0
|
||||
delegate: defaultDelegate
|
||||
}
|
||||
TableViewColumn
|
||||
{
|
||||
role: "user_value"
|
||||
title: catalog.i18nc("@title:column", "Current changes")
|
||||
width: (tableView.width * 0.3) | 0
|
||||
}
|
||||
section.property: "category"
|
||||
section.delegate: Label
|
||||
{
|
||||
text: section
|
||||
font.bold: true
|
||||
}
|
||||
|
||||
model: userChangesModel
|
||||
sectionRole: "category"
|
||||
}
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
id: optionRow
|
||||
anchors.bottom: buttonsRow.top
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.left
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
height: childrenRect.height
|
||||
buttonSpacing: UM.Theme.getSize("thin_margin").width
|
||||
|
||||
NewControls.ComboBox
|
||||
leftButtons: [
|
||||
Cura.ComboBox
|
||||
{
|
||||
implicitHeight: UM.Theme.getSize("combobox").height
|
||||
implicitWidth: UM.Theme.getSize("combobox").width
|
||||
|
||||
id: discardOrKeepProfileChangesDropDownButton
|
||||
width: 300
|
||||
textRole: "text"
|
||||
|
||||
model: ListModel
|
||||
|
@ -182,41 +129,21 @@ UM.Dialog
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
Item
|
||||
{
|
||||
id: buttonsRow
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.left
|
||||
anchors.margins: UM.Theme.getSize("default_margin").width
|
||||
height: childrenRect.height
|
||||
|
||||
Button
|
||||
rightButtons:
|
||||
[
|
||||
Cura.PrimaryButton
|
||||
{
|
||||
id: discardButton
|
||||
text: catalog.i18nc("@action:button", "Discard changes");
|
||||
anchors.right: parent.right
|
||||
onClicked:
|
||||
{
|
||||
CuraApplication.discardOrKeepProfileChangesClosed("discard")
|
||||
base.hide()
|
||||
}
|
||||
isDefault: true
|
||||
}
|
||||
|
||||
Button
|
||||
text: catalog.i18nc("@action:button", "Discard changes")
|
||||
onClicked: base.accept()
|
||||
},
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
id: keepButton
|
||||
text: catalog.i18nc("@action:button", "Keep changes");
|
||||
anchors.right: discardButton.left
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
onClicked:
|
||||
{
|
||||
CuraApplication.discardOrKeepProfileChangesClosed("keep")
|
||||
base.hide()
|
||||
}
|
||||
text: catalog.i18nc("@action:button", "Keep changes")
|
||||
onClicked: base.reject()
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
20
resources/qml/Dialogs/MessageDialog.qml
Normal file
20
resources/qml/Dialogs/MessageDialog.qml
Normal file
|
@ -0,0 +1,20 @@
|
|||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.5 as Cura
|
||||
|
||||
// Wrapper around the UM.MessageBox with the primary/secondarybuttons
|
||||
// set to Cura.PrimaryButton and Cura.SecondaryButton respectively
|
||||
UM.MessageDialog
|
||||
{
|
||||
primaryButton: Cura.PrimaryButton
|
||||
{
|
||||
text: model.text
|
||||
}
|
||||
|
||||
secondaryButton: Cura.TertiaryButton
|
||||
{
|
||||
text: model.text
|
||||
}
|
||||
}
|
|
@ -1,15 +1,12 @@
|
|||
// Copyright (c) 2021 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Controls 2.0
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Dialogs 1.1
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
import UM 1.3 as UM
|
||||
import Cura 1.0 as Cura
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.5 as Cura
|
||||
|
||||
UM.Dialog
|
||||
{
|
||||
|
@ -17,9 +14,9 @@ UM.Dialog
|
|||
id: base
|
||||
|
||||
title: catalog.i18nc("@title:window", "Open file(s)")
|
||||
width: 420 * screenScaleFactor
|
||||
height: 170 * screenScaleFactor
|
||||
|
||||
width: UM.Theme.getSize("small_popup_dialog").width
|
||||
height: UM.Theme.getSize("small_popup_dialog").height
|
||||
maximumHeight: height
|
||||
maximumWidth: width
|
||||
minimumHeight: height
|
||||
|
@ -29,7 +26,6 @@ UM.Dialog
|
|||
|
||||
property var fileUrls: []
|
||||
property var addToRecent: true
|
||||
property int spacerHeight: 10 * screenScaleFactor
|
||||
|
||||
function loadProjectFile(projectFile)
|
||||
{
|
||||
|
@ -44,70 +40,29 @@ UM.Dialog
|
|||
}
|
||||
}
|
||||
|
||||
Column
|
||||
onAccepted: loadModelFiles(base.fileUrls)
|
||||
|
||||
UM.Label
|
||||
{
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: 20 * screenScaleFactor
|
||||
anchors.rightMargin: 20 * screenScaleFactor
|
||||
anchors.bottomMargin: 20 * screenScaleFactor
|
||||
text: catalog.i18nc("@text:window", "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?")
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
spacing: 10 * screenScaleFactor
|
||||
|
||||
Label
|
||||
{
|
||||
text: catalog.i18nc("@text:window", "We have found one or more project file(s) within the files you have selected. You can open only one project file at a time. We suggest to only import models from those files. Would you like to proceed?")
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
font: UM.Theme.getFont("default")
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
||||
Item // Spacer
|
||||
{
|
||||
height: base.spacerHeight
|
||||
width: height
|
||||
}
|
||||
|
||||
// Buttons
|
||||
Item
|
||||
{
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.left
|
||||
height: childrenRect.height
|
||||
|
||||
Button
|
||||
{
|
||||
id: cancelButton
|
||||
text: catalog.i18nc("@action:button", "Cancel");
|
||||
anchors.right: importAllAsModelsButton.left
|
||||
onClicked:
|
||||
{
|
||||
// cancel
|
||||
base.hide();
|
||||
}
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
id: importAllAsModelsButton
|
||||
text: catalog.i18nc("@action:button", "Import all as models");
|
||||
anchors.right: parent.right
|
||||
isDefault: true
|
||||
onClicked:
|
||||
{
|
||||
// load models from all selected file
|
||||
loadModelFiles(base.fileUrls);
|
||||
|
||||
base.hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UM.I18nCatalog
|
||||
{
|
||||
id: catalog
|
||||
name: "cura"
|
||||
}
|
||||
}
|
||||
|
||||
buttonSpacing: UM.Theme.getSize("thin_margin").width
|
||||
|
||||
// Buttons
|
||||
rightButtons:
|
||||
[
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
text: catalog.i18nc("@action:button", "Cancel");
|
||||
onClicked: base.reject()
|
||||
},
|
||||
Cura.PrimaryButton
|
||||
{
|
||||
text: catalog.i18nc("@action:button", "Import all as models");
|
||||
onClicked: base.accept()
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,11 +1,9 @@
|
|||
// Copyright (c) 2021 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.10
|
||||
import QtQuick.Controls 1.4
|
||||
import QtQuick.Controls 2.0 as Controls2
|
||||
import QtQuick.Controls 2.9
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtQuick.Window 2.2
|
||||
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
@ -15,26 +13,14 @@ UM.Dialog
|
|||
id: base
|
||||
title: catalog.i18nc("@title:window", "Save Project")
|
||||
|
||||
minimumWidth: 500 * screenScaleFactor
|
||||
minimumHeight: 400 * screenScaleFactor
|
||||
minimumWidth: UM.Theme.getSize("popup_dialog").width
|
||||
minimumHeight: UM.Theme.getSize("popup_dialog").height
|
||||
width: minimumWidth
|
||||
height: minimumHeight
|
||||
|
||||
property int spacerHeight: 10 * screenScaleFactor
|
||||
|
||||
property bool dontShowAgain: true
|
||||
|
||||
signal yes();
|
||||
|
||||
function accept() { // pressing enter will call this function
|
||||
close();
|
||||
yes();
|
||||
}
|
||||
|
||||
onClosing:
|
||||
{
|
||||
UM.Preferences.setValue("cura/dialog_on_project_save", !dontShowAgainCheckbox.checked)
|
||||
}
|
||||
onClosing: UM.Preferences.setValue("cura/dialog_on_project_save", !dontShowAgainCheckbox.checked)
|
||||
|
||||
onVisibleChanged:
|
||||
{
|
||||
|
@ -59,11 +45,7 @@ UM.Dialog
|
|||
visibilityHandler: UM.SettingPreferenceVisibilityHandler { }
|
||||
}
|
||||
|
||||
SystemPalette
|
||||
{
|
||||
id: palette
|
||||
}
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: mainHeading
|
||||
width: parent.width
|
||||
|
@ -79,16 +61,28 @@ UM.Dialog
|
|||
{
|
||||
top: mainHeading.bottom
|
||||
topMargin: UM.Theme.getSize("default_margin").height
|
||||
bottom: controls.top
|
||||
bottom: parent.bottom
|
||||
bottomMargin: UM.Theme.getSize("default_margin").height
|
||||
}
|
||||
style: UM.Theme.styles.scrollview
|
||||
|
||||
ScrollBar.vertical: UM.ScrollBar
|
||||
{
|
||||
parent: scroll
|
||||
anchors
|
||||
{
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
}
|
||||
}
|
||||
clip: true
|
||||
|
||||
ColumnLayout
|
||||
{
|
||||
spacing: UM.Theme.getSize("default_margin").height
|
||||
Column
|
||||
{
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: settingsHeading
|
||||
text: catalog.i18nc("@action:label", "Printer settings")
|
||||
|
@ -98,14 +92,14 @@ UM.Dialog
|
|||
{
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@action:label", "Type")
|
||||
width: Math.floor(scroll.width / 3) | 0
|
||||
}
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: (Cura.MachineManager.activeMachine == null) ? "" : Cura.MachineManager.activeMachine.definition.name
|
||||
text: Cura.MachineManager.activeMachine == null ? "" : Cura.MachineManager.activeMachine.definition.name
|
||||
width: Math.floor(scroll.width / 3) | 0
|
||||
}
|
||||
}
|
||||
|
@ -113,12 +107,12 @@ UM.Dialog
|
|||
{
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: Cura.MachineManager.activeMachineNetworkGroupName != "" ? catalog.i18nc("@action:label", "Printer Group") : catalog.i18nc("@action:label", "Name")
|
||||
width: Math.floor(scroll.width / 3) | 0
|
||||
}
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text:
|
||||
{
|
||||
|
@ -157,7 +151,7 @@ UM.Dialog
|
|||
var material_name = extruder.material.name
|
||||
return (material_name !== undefined) ? material_name : ""
|
||||
}
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: {
|
||||
var extruder = Number(modelData.position)
|
||||
|
@ -181,7 +175,7 @@ UM.Dialog
|
|||
width: parent.width
|
||||
height: childrenRect.height
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text:
|
||||
{
|
||||
|
@ -194,7 +188,7 @@ UM.Dialog
|
|||
width: Math.floor(scroll.width / 3) | 0
|
||||
enabled: modelData.isEnabled
|
||||
}
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text:
|
||||
{
|
||||
|
@ -214,7 +208,7 @@ UM.Dialog
|
|||
{
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@action:label", "Profile settings")
|
||||
font.bold: true
|
||||
|
@ -222,12 +216,12 @@ UM.Dialog
|
|||
Row
|
||||
{
|
||||
width: parent.width
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@action:label", "Not in profile")
|
||||
width: Math.floor(scroll.width / 3) | 0
|
||||
}
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18ncp("@action:label", "%1 override", "%1 overrides", Cura.MachineManager.numUserSettings).arg(Cura.MachineManager.numUserSettings)
|
||||
width: Math.floor(scroll.width / 3) | 0
|
||||
|
@ -238,12 +232,12 @@ UM.Dialog
|
|||
{
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@action:label", "Name")
|
||||
width: Math.floor(scroll.width / 3) | 0
|
||||
}
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: Cura.MachineManager.activeQualityOrQualityChangesName
|
||||
width: Math.floor(scroll.width / 3) | 0
|
||||
|
@ -255,12 +249,12 @@ UM.Dialog
|
|||
{
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@action:label", "Intent")
|
||||
width: Math.floor(scroll.width / 3) | 0
|
||||
}
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: Cura.MachineManager.activeIntentCategory
|
||||
width: Math.floor(scroll.width / 3) | 0
|
||||
|
@ -269,43 +263,31 @@ UM.Dialog
|
|||
}
|
||||
}
|
||||
}
|
||||
Item
|
||||
{
|
||||
id: controls
|
||||
width: parent.width
|
||||
height: childrenRect.height
|
||||
anchors.bottom: parent.bottom
|
||||
UM.CheckBox
|
||||
{
|
||||
id: dontShowAgainCheckbox
|
||||
anchors.left: parent.left
|
||||
text: catalog.i18nc("@action:label", "Don't show project summary on save again")
|
||||
checked: dontShowAgain
|
||||
}
|
||||
Controls2.Button
|
||||
{
|
||||
id: cancel_button
|
||||
anchors
|
||||
{
|
||||
right: ok_button.left
|
||||
rightMargin: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
text: catalog.i18nc("@action:button","Cancel");
|
||||
enabled: true
|
||||
onClicked: close()
|
||||
}
|
||||
Controls2.Button
|
||||
{
|
||||
id: ok_button
|
||||
anchors.right: parent.right
|
||||
text: catalog.i18nc("@action:button","Save");
|
||||
enabled: true
|
||||
onClicked:
|
||||
{
|
||||
close()
|
||||
yes()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buttonSpacing: UM.Theme.getSize("thin_margin").width
|
||||
|
||||
leftButtons:
|
||||
[
|
||||
UM.CheckBox
|
||||
{
|
||||
id: dontShowAgainCheckbox
|
||||
text: catalog.i18nc("@action:label", "Don't show project summary on save again")
|
||||
checked: dontShowAgain
|
||||
}
|
||||
]
|
||||
|
||||
rightButtons:
|
||||
[
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
text: catalog.i18nc("@action:button", "Cancel")
|
||||
onClicked: base.reject()
|
||||
},
|
||||
Cura.PrimaryButton
|
||||
{
|
||||
text: catalog.i18nc("@action:button", "Save")
|
||||
onClicked: base.accept()
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
// The expandable component has 2 major sub components:
|
||||
|
@ -30,8 +30,8 @@ Item
|
|||
property color contentBackgroundColor: UM.Theme.getColor("action_button")
|
||||
|
||||
property color headerBackgroundColor: UM.Theme.getColor("action_button")
|
||||
property color headerActiveColor: UM.Theme.getColor("secondary")
|
||||
property color headerHoverColor: UM.Theme.getColor("action_button_hovered")
|
||||
property color headerActiveColor: UM.Theme.getColor("expandable_active")
|
||||
property color headerHoverColor: UM.Theme.getColor("expandable_hover")
|
||||
|
||||
property alias enabled: mouseArea.enabled
|
||||
|
||||
|
@ -126,7 +126,7 @@ Item
|
|||
color: base.enabled ? (base.expanded ? headerActiveColor : headerBackgroundColor) : UM.Theme.getColor("disabled")
|
||||
anchors.fill: parent
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: disabledLabel
|
||||
visible: !base.enabled
|
||||
|
@ -134,10 +134,6 @@ Item
|
|||
leftPadding: background.padding
|
||||
rightPadding: background.padding
|
||||
text: ""
|
||||
font: UM.Theme.getFont("default")
|
||||
renderType: Text.NativeRendering
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
color: UM.Theme.getColor("text")
|
||||
wrapMode: Text.WordWrap
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
// Header of the popup
|
||||
|
@ -16,20 +16,17 @@ Cura.RoundedRectangle
|
|||
property alias xPosCloseButton: closeButton.left
|
||||
|
||||
height: UM.Theme.getSize("expandable_component_content_header").height
|
||||
color: UM.Theme.getColor("secondary")
|
||||
color: UM.Theme.getColor("background_1")
|
||||
cornerSide: Cura.RoundedRectangle.Direction.Up
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: UM.Theme.getColor("lining")
|
||||
radius: UM.Theme.getSize("default_radius").width
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: headerLabel
|
||||
text: ""
|
||||
font: UM.Theme.getFont("medium")
|
||||
renderType: Text.NativeRendering
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
color: UM.Theme.getColor("small_button_text")
|
||||
height: parent.height
|
||||
|
||||
anchors
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
// The expandable component has 2 major sub components:
|
||||
|
@ -30,8 +30,8 @@ Item
|
|||
property color contentBackgroundColor: UM.Theme.getColor("action_button")
|
||||
|
||||
property color headerBackgroundColor: UM.Theme.getColor("action_button")
|
||||
property color headerActiveColor: UM.Theme.getColor("secondary")
|
||||
property color headerHoverColor: UM.Theme.getColor("action_button_hovered")
|
||||
property color headerActiveColor: UM.Theme.getColor("expandable_active")
|
||||
property color headerHoverColor: UM.Theme.getColor("expandable_hover")
|
||||
|
||||
property alias mouseArea: headerMouseArea
|
||||
property alias enabled: headerMouseArea.enabled
|
||||
|
@ -120,16 +120,12 @@ Item
|
|||
color: base.enabled ? headerBackgroundColor : UM.Theme.getColor("disabled")
|
||||
anchors.fill: parent
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: disabledLabel
|
||||
visible: !base.enabled
|
||||
leftPadding: background.padding
|
||||
text: ""
|
||||
font: UM.Theme.getFont("default")
|
||||
renderType: Text.NativeRendering
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
color: UM.Theme.getColor("text")
|
||||
height: parent.height
|
||||
}
|
||||
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
import QtQuick 2.2
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Cura.ToolbarButton
|
||||
UM.ToolbarButton
|
||||
{
|
||||
id: base
|
||||
|
||||
|
|
|
@ -2,8 +2,7 @@
|
|||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.11
|
||||
import QtQuick.Controls 1.1
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
|
||||
Item
|
||||
{
|
||||
|
@ -43,18 +42,15 @@ Item
|
|||
color: extruderNumberText.color
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: extruderNumberText
|
||||
anchors.centerIn: parent
|
||||
text: index + 1
|
||||
font: UM.Theme.getFont("small_emphasis")
|
||||
color: UM.Theme.getColor("text")
|
||||
width: contentWidth
|
||||
height: contentHeight
|
||||
renderType: Text.NativeRendering
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ import QtQuick 2.7
|
|||
import QtQuick.Controls 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
// Reusable component that holds an (re-colorable) icon on the left with some text on the right.
|
||||
|
@ -21,6 +21,7 @@ Item
|
|||
property alias font: label.font
|
||||
property alias elide: label.elide
|
||||
property real margin: UM.Theme.getSize("narrow_margin").width
|
||||
property alias wrapMode: label.wrapMode
|
||||
|
||||
// These properties can be used in combination with layouts.
|
||||
readonly property real contentWidth: icon.width + margin + label.contentWidth
|
||||
|
@ -49,15 +50,10 @@ Item
|
|||
}
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: label
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
elide: Text.ElideRight
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
|
||||
anchors
|
||||
{
|
||||
left: icon.right
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Controls 2.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Item
|
||||
|
@ -29,7 +28,8 @@ Item
|
|||
{
|
||||
if (!activity)
|
||||
{
|
||||
//When there is no mesh in the buildplate; the printJobTextField is set to an empty string so it doesn't set an empty string as a jobName (which is later used for saving the file)
|
||||
// When there is no mesh in the buildplate; the printJobTextField is set to an empty string so it doesn't
|
||||
// set an empty string as a jobName (which is later used for saving the file)
|
||||
PrintInformation.baseName = ""
|
||||
}
|
||||
}
|
||||
|
@ -41,47 +41,41 @@ Item
|
|||
anchors.left: parent.left
|
||||
height: UM.Theme.getSize("jobspecs_line").height
|
||||
|
||||
Button
|
||||
UM.SimpleButton
|
||||
{
|
||||
id: printJobPencilIcon
|
||||
anchors.left: parent.left
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
width: UM.Theme.getSize("save_button_specs_icons").width
|
||||
height: UM.Theme.getSize("save_button_specs_icons").height
|
||||
|
||||
iconSource: UM.Theme.getIcon("Pen")
|
||||
hoverColor: UM.Theme.getColor("small_button_text_hover")
|
||||
color: UM.Theme.getColor("small_button_text")
|
||||
onClicked:
|
||||
{
|
||||
printJobTextfield.selectAll()
|
||||
printJobTextfield.focus = true
|
||||
}
|
||||
|
||||
style: ButtonStyle
|
||||
{
|
||||
background: Item
|
||||
{
|
||||
UM.RecolorImage
|
||||
{
|
||||
width: UM.Theme.getSize("save_button_specs_icons").width
|
||||
height: UM.Theme.getSize("save_button_specs_icons").height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
color: control.hovered ? UM.Theme.getColor("small_button_text_hover") : UM.Theme.getColor("small_button_text")
|
||||
source: UM.Theme.getIcon("Pen")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TextField
|
||||
Cura.TextField
|
||||
{
|
||||
id: printJobTextfield
|
||||
anchors.left: printJobPencilIcon.right
|
||||
anchors.leftMargin: UM.Theme.getSize("narrow_margin").width
|
||||
height: UM.Theme.getSize("jobspecs_line").height
|
||||
width: Math.max(__contentWidth + UM.Theme.getSize("default_margin").width, 50)
|
||||
width: Math.max(contentWidth + UM.Theme.getSize("default_margin").width + 2, 50) // add two pixels to width to prevent inner text from shifting
|
||||
maximumLength: 120
|
||||
text: (PrintInformation === null) ? "" : PrintInformation.jobName
|
||||
text: PrintInformation === null ? "" : PrintInformation.jobName
|
||||
horizontalAlignment: TextInput.AlignLeft
|
||||
onTextChanged:
|
||||
{
|
||||
if (!activeFocus)
|
||||
{
|
||||
// Text is changed from outside, reset the cursor position.
|
||||
cursorPosition = 0
|
||||
}
|
||||
}
|
||||
|
||||
property string textBeforeEdit: ""
|
||||
|
||||
|
@ -100,34 +94,25 @@ Item
|
|||
PrintInformation.setJobName(new_name, true)
|
||||
}
|
||||
printJobTextfield.focus = false
|
||||
cursorPosition = 0
|
||||
}
|
||||
|
||||
validator: RegExpValidator {
|
||||
regExp: /^[^\\\/\*\?\|\[\]]*$/
|
||||
}
|
||||
|
||||
style: TextFieldStyle
|
||||
{
|
||||
textColor: UM.Theme.getColor("text_scene")
|
||||
font: UM.Theme.getFont("default")
|
||||
background: Rectangle
|
||||
{
|
||||
opacity: 0
|
||||
border.width: 0
|
||||
}
|
||||
}
|
||||
color: UM.Theme.getColor("text_scene")
|
||||
background: Item {}
|
||||
selectByMouse: true
|
||||
}
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: boundingSpec
|
||||
anchors.top: jobNameRow.bottom
|
||||
anchors.left: parent.left
|
||||
|
||||
height: UM.Theme.getSize("jobspecs_line").height
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text_scene")
|
||||
text: CuraApplication.getSceneBoundingBoxString
|
||||
}
|
||||
|
@ -141,10 +126,7 @@ Item
|
|||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
|
||||
Component.onCompleted:
|
||||
{
|
||||
base.addAdditionalComponents("jobSpecsButton")
|
||||
}
|
||||
Component.onCompleted: base.addAdditionalComponents("jobSpecsButton")
|
||||
|
||||
Connections
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@ import QtQuick 2.10
|
|||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
|
||||
// The labelBar shows a set of labels that are evenly spaced from one another.
|
||||
// The first item is aligned to the left, the last is aligned to the right.
|
||||
|
@ -34,13 +34,10 @@ Item
|
|||
Layout.maximumWidth: Math.round(index + 1 === repeater.count || repeater.count <= 1 ? itemSize : base.width / (repeater.count - 1))
|
||||
height: label.height
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: label
|
||||
text: model[modelKey]
|
||||
color: UM.Theme.getColor("text")
|
||||
font: UM.Theme.getFont("default")
|
||||
renderType: Text.NativeRendering
|
||||
height: contentHeight
|
||||
anchors
|
||||
{
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
// Copyright (c) 2020 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
import UM 1.3 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
|
||||
|
@ -35,44 +35,28 @@ UM.TooltipArea
|
|||
watchedProperties: [ "value", "description" ]
|
||||
}
|
||||
|
||||
Label // Title Label
|
||||
UM.Label
|
||||
{
|
||||
id: titleLabel
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
font: UM.Theme.getFont("medium_bold")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
ScrollView
|
||||
Flickable
|
||||
{
|
||||
anchors.top: titleLabel.bottom
|
||||
anchors.topMargin: UM.Theme.getSize("default_margin").height
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
|
||||
background: Rectangle
|
||||
anchors
|
||||
{
|
||||
color: UM.Theme.getColor("main_background")
|
||||
anchors.fill: parent
|
||||
|
||||
border.color:
|
||||
{
|
||||
if (!gcodeTextArea.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
if (gcodeTextArea.hovered || gcodeTextArea.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
}
|
||||
top: titleLabel.bottom
|
||||
topMargin: UM.Theme.getSize("default_margin").height
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
}
|
||||
|
||||
TextArea
|
||||
ScrollBar.vertical: UM.ScrollBar {}
|
||||
|
||||
TextArea.flickable: TextArea
|
||||
{
|
||||
id: gcodeTextArea
|
||||
|
||||
|
@ -92,6 +76,27 @@ UM.TooltipArea
|
|||
propertyProvider.setPropertyValue("value", text)
|
||||
}
|
||||
}
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
anchors.fill: parent
|
||||
anchors.margins: -border.width //Wrap the border around the parent.
|
||||
|
||||
color: UM.Theme.getColor("detail_background")
|
||||
border.color:
|
||||
{
|
||||
if (!gcodeTextArea.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_disabled_border")
|
||||
}
|
||||
if (gcodeTextArea.hovered || gcodeTextArea.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("border_main")
|
||||
}
|
||||
return UM.Theme.getColor("border_field_light")
|
||||
}
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.3 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
|
||||
|
@ -22,6 +22,7 @@ UM.TooltipArea
|
|||
|
||||
property int controlWidth: UM.Theme.getSize("setting_control").width
|
||||
property int controlHeight: UM.Theme.getSize("setting_control").height
|
||||
property real spacing: UM.Theme.getSize("default_margin").width
|
||||
|
||||
text: tooltipText
|
||||
|
||||
|
@ -75,21 +76,21 @@ UM.TooltipArea
|
|||
{
|
||||
id: textFieldWithUnit
|
||||
anchors.left: fieldLabel.right
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
anchors.leftMargin: spacing
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
selectionColor: UM.Theme.getColor("text_selection")
|
||||
selectedTextColor: UM.Theme.getColor("setting_control_text")
|
||||
padding: 0
|
||||
leftPadding: UM.Theme.getSize("narrow_margin").width
|
||||
width: numericTextFieldWithUnit.controlWidth
|
||||
height: numericTextFieldWithUnit.controlHeight
|
||||
|
||||
// Background is a rounded-cornered box with filled color as state indication (normal, warning, error, etc.)
|
||||
background: Rectangle
|
||||
background: UM.UnderlineBackground
|
||||
{
|
||||
anchors.fill: parent
|
||||
anchors.margins: Math.round(UM.Theme.getSize("default_lining").width)
|
||||
radius: UM.Theme.getSize("setting_control_radius").width
|
||||
|
||||
border.color:
|
||||
liningColor:
|
||||
{
|
||||
if (!textFieldWithUnit.enabled)
|
||||
{
|
||||
|
@ -108,9 +109,9 @@ UM.TooltipArea
|
|||
// Validation is OK.
|
||||
if (textFieldWithUnit.hovered || textFieldWithUnit.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_control_border_highlight")
|
||||
return UM.Theme.getColor("border_main")
|
||||
}
|
||||
return UM.Theme.getColor("setting_control_border")
|
||||
return UM.Theme.getColor("border_field_light")
|
||||
}
|
||||
|
||||
color:
|
||||
|
@ -222,7 +223,7 @@ UM.TooltipArea
|
|||
}
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: unitLabel
|
||||
anchors.right: parent.right
|
||||
|
@ -230,10 +231,7 @@ UM.TooltipArea
|
|||
anchors.verticalCenter: parent.verticalCenter
|
||||
text: unitText
|
||||
textFormat: Text.PlainText
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
renderType: Text.NativeRendering
|
||||
color: UM.Theme.getColor("setting_unit")
|
||||
font: UM.Theme.getFont("default")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
// Copyright (c) 2021 Ultimaker B.V.
|
||||
// Copyright (c) 2022 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 1.4
|
||||
import QtQuick.Controls.Styles 1.4
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Dialogs 1.2
|
||||
import QtQuick.Controls 2.4
|
||||
|
||||
import UM 1.3 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
import "../Menus"
|
||||
|
@ -16,38 +13,44 @@ import "../Dialogs"
|
|||
Item
|
||||
{
|
||||
id: menu
|
||||
width: applicationMenu.width
|
||||
width: parent.width
|
||||
height: applicationMenu.height
|
||||
property alias window: applicationMenu.window
|
||||
|
||||
UM.ApplicationMenu
|
||||
MenuBar
|
||||
{
|
||||
id: applicationMenu
|
||||
width: parent.width
|
||||
height: UM.Theme.getSize("context_menu").height
|
||||
|
||||
FileMenu { title: catalog.i18nc("@title:menu menubar:toplevel", "&File") }
|
||||
|
||||
Menu
|
||||
{
|
||||
title: catalog.i18nc("@title:menu menubar:toplevel", "&Edit")
|
||||
|
||||
MenuItem { action: Cura.Actions.undo }
|
||||
MenuItem { action: Cura.Actions.redo }
|
||||
MenuSeparator { }
|
||||
MenuItem { action: Cura.Actions.selectAll }
|
||||
MenuItem { action: Cura.Actions.arrangeAll }
|
||||
MenuItem { action: Cura.Actions.multiplySelection }
|
||||
MenuItem { action: Cura.Actions.deleteSelection }
|
||||
MenuItem { action: Cura.Actions.deleteAll }
|
||||
MenuItem { action: Cura.Actions.resetAllTranslation }
|
||||
MenuItem { action: Cura.Actions.resetAll }
|
||||
MenuSeparator { }
|
||||
MenuItem { action: Cura.Actions.groupObjects }
|
||||
MenuItem { action: Cura.Actions.mergeObjects }
|
||||
MenuItem { action: Cura.Actions.unGroupObjects }
|
||||
background: Rectangle {
|
||||
color: UM.Theme.getColor("background_1")
|
||||
}
|
||||
|
||||
ViewMenu { title: catalog.i18nc("@title:menu menubar:toplevel", "&View") }
|
||||
delegate: MenuBarItem
|
||||
{
|
||||
id: menuBarItem
|
||||
|
||||
contentItem: UM.Label
|
||||
{
|
||||
text: menuBarItem.text.replace(new RegExp("&([A-Za-z])"), function (match, character)
|
||||
{
|
||||
return `<u>${character}</u>`
|
||||
})
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
leftPadding: UM.Theme.getSize("default_margin").width
|
||||
rightPadding: UM.Theme.getSize("default_margin").width
|
||||
background: Rectangle
|
||||
{
|
||||
|
||||
color: menuBarItem.highlighted ? UM.Theme.getColor("background_2") : "transparent"
|
||||
}
|
||||
}
|
||||
|
||||
FileMenu {}
|
||||
EditMenu {}
|
||||
ViewMenu {}
|
||||
SettingsMenu
|
||||
{
|
||||
//On MacOS, don't translate the "Settings" word.
|
||||
|
@ -59,93 +62,11 @@ Item
|
|||
//- https://doc.qt.io/qt-5/qmenubar.html#qmenubar-as-a-global-menu-bar
|
||||
title: (Qt.platform.os == "osx") ? "&Settings" : catalog.i18nc("@title:menu menubar:toplevel", "&Settings")
|
||||
}
|
||||
|
||||
Menu
|
||||
{
|
||||
id: extensionMenu
|
||||
title: catalog.i18nc("@title:menu menubar:toplevel", "E&xtensions")
|
||||
|
||||
Instantiator
|
||||
{
|
||||
id: extensions
|
||||
model: UM.ExtensionModel { }
|
||||
|
||||
Menu
|
||||
{
|
||||
id: sub_menu
|
||||
title: model.name;
|
||||
visible: actions != null
|
||||
enabled: actions != null
|
||||
Instantiator
|
||||
{
|
||||
model: actions
|
||||
Loader
|
||||
{
|
||||
property var extensionsModel: extensions.model
|
||||
property var modelText: model.text
|
||||
property var extensionName: name
|
||||
|
||||
sourceComponent: modelText.trim() == "" ? extensionsMenuSeparator : extensionsMenuItem
|
||||
}
|
||||
|
||||
onObjectAdded: sub_menu.insertItem(index, object.item)
|
||||
onObjectRemoved: sub_menu.removeItem(object.item)
|
||||
}
|
||||
}
|
||||
|
||||
onObjectAdded: extensionMenu.insertItem(index, object)
|
||||
onObjectRemoved: extensionMenu.removeItem(object)
|
||||
}
|
||||
}
|
||||
|
||||
Menu
|
||||
{
|
||||
id: preferencesMenu
|
||||
|
||||
//On MacOS, don't translate the "Preferences" word.
|
||||
//Qt moves the "preferences" entry to a different place, and if it got renamed can't find it again when it
|
||||
//attempts to delete the item upon closing the application, causing a crash.
|
||||
//In the new location, these items are translated automatically according to the system's language.
|
||||
//For more information, see:
|
||||
//- https://doc.qt.io/qt-5/macos-issues.html#menu-bar
|
||||
//- https://doc.qt.io/qt-5/qmenubar.html#qmenubar-as-a-global-menu-bar
|
||||
title: (Qt.platform.os == "osx") ? "&Preferences" : catalog.i18nc("@title:menu menubar:toplevel", "P&references")
|
||||
|
||||
MenuItem { action: Cura.Actions.preferences }
|
||||
}
|
||||
|
||||
Menu
|
||||
{
|
||||
id: helpMenu
|
||||
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 { }
|
||||
MenuItem { action: Cura.Actions.whatsNew }
|
||||
MenuItem { action: Cura.Actions.about }
|
||||
}
|
||||
ExtensionMenu { id: extensionMenu }
|
||||
PreferencesMenu {}
|
||||
HelpMenu {}
|
||||
}
|
||||
|
||||
Component
|
||||
{
|
||||
id: extensionsMenuItem
|
||||
|
||||
MenuItem
|
||||
{
|
||||
text: modelText
|
||||
onTriggered: extensionsModel.subMenuTriggered(extensionName, modelText)
|
||||
}
|
||||
}
|
||||
|
||||
Component
|
||||
{
|
||||
id: extensionsMenuSeparator
|
||||
|
||||
MenuSeparator {}
|
||||
}
|
||||
|
||||
|
||||
// ###############################################################################################
|
||||
|
@ -156,18 +77,17 @@ Item
|
|||
{
|
||||
id: saveWorkspaceDialog
|
||||
property var args
|
||||
onYes: UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args)
|
||||
onAccepted: UM.OutputDeviceManager.requestWriteToDevice("local_file", PrintInformation.jobName, args)
|
||||
}
|
||||
|
||||
MessageDialog
|
||||
Cura.MessageDialog
|
||||
{
|
||||
id: newProjectDialog
|
||||
modality: Qt.ApplicationModal
|
||||
|
||||
title: catalog.i18nc("@title:window", "New project")
|
||||
text: catalog.i18nc("@info:question", "Are you sure you want to start a new project? This will clear the build plate and any unsaved settings.")
|
||||
standardButtons: StandardButton.Yes | StandardButton.No
|
||||
icon: StandardIcon.Question
|
||||
onYes:
|
||||
standardButtons: Dialog.Yes | Dialog.No
|
||||
onAccepted:
|
||||
{
|
||||
CuraApplication.resetWorkspace()
|
||||
Cura.Actions.resetProfile.trigger()
|
||||
|
@ -175,11 +95,6 @@ Item
|
|||
}
|
||||
}
|
||||
|
||||
UM.ExtensionModel
|
||||
{
|
||||
id: curaExtensions
|
||||
}
|
||||
|
||||
// ###############################################################################################
|
||||
// Definition of all the connections
|
||||
// ###############################################################################################
|
||||
|
@ -196,13 +111,13 @@ Item
|
|||
}
|
||||
}
|
||||
|
||||
// show the Marketplace
|
||||
// show the Toolbox
|
||||
Connections
|
||||
{
|
||||
target: Cura.Actions.openMarketplace
|
||||
target: Cura.Actions.browsePackages
|
||||
function onTriggered()
|
||||
{
|
||||
curaExtensions.callExtensionMethod("Marketplace", "show")
|
||||
extensionMenu.extensionModel.callExtensionMethod("Marketplace", "show")
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -212,8 +127,8 @@ Item
|
|||
target: Cura.Actions.marketplaceMaterials
|
||||
function onTriggered()
|
||||
{
|
||||
curaExtensions.callExtensionMethod("Marketplace", "show")
|
||||
curaExtensions.callExtensionMethod("Marketplace", "setVisibleTabToMaterials")
|
||||
extensionMenu.extensionModel.callExtensionMethod("Marketplace", "show")
|
||||
extensionMenu.extensionModel.callExtensionMethod("Marketplace", "setVisibleTabToMaterials")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,10 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Copyright (c) 2021 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0 as Controls2
|
||||
import QtQuick.Controls 1.4
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Controls 2.4
|
||||
|
||||
import UM 1.4 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
import "../Account"
|
||||
|
@ -33,6 +31,10 @@ Item
|
|||
sourceSize.width: width
|
||||
sourceSize.height: height
|
||||
}
|
||||
ButtonGroup
|
||||
{
|
||||
buttons: stagesListContainer.children
|
||||
}
|
||||
|
||||
Row
|
||||
{
|
||||
|
@ -61,15 +63,60 @@ Item
|
|||
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
|
||||
//style: UM.Theme.styles.main_window_header_tab
|
||||
height: Math.round(0.5 * UM.Theme.getSize("main_window_header").height)
|
||||
iconSource: model.stage.iconSource
|
||||
|
||||
property color overlayColor: "transparent"
|
||||
property string overlayIconSource: ""
|
||||
// This id is required to find the stage buttons through Squish
|
||||
property string stageId: model.id
|
||||
hoverEnabled: true
|
||||
leftPadding: 2 * UM.Theme.getSize("default_margin").width
|
||||
rightPadding: 2 * UM.Theme.getSize("default_margin").width
|
||||
|
||||
// Set top & bottom padding to whatever space is left from height and the size of the text.
|
||||
bottomPadding: Math.round((height - buttonLabel.contentHeight) / 2)
|
||||
topPadding: bottomPadding
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
radius: UM.Theme.getSize("action_button_radius").width
|
||||
color:
|
||||
{
|
||||
if (stageSelectorButton.checked)
|
||||
{
|
||||
return UM.Theme.getColor("main_window_header_button_background_active")
|
||||
}
|
||||
else
|
||||
{
|
||||
if (stageSelectorButton.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("main_window_header_button_background_hovered")
|
||||
}
|
||||
return UM.Theme.getColor("main_window_header_button_background_inactive")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: UM.Label
|
||||
{
|
||||
id: buttonLabel
|
||||
text: stageSelectorButton.text
|
||||
anchors.centerIn: stageSelectorButton
|
||||
font: UM.Theme.getFont("medium")
|
||||
color:
|
||||
{
|
||||
if (stageSelectorButton.checked)
|
||||
{
|
||||
return UM.Theme.getColor("main_window_header_button_text_active")
|
||||
}
|
||||
else
|
||||
{
|
||||
if (stageSelectorButton.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("main_window_header_button_text_hovered")
|
||||
}
|
||||
return UM.Theme.getColor("main_window_header_button_text_inactive")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This is a trick to assure the activeStage is correctly changed. It doesn't work properly if done in the onClicked (see CURA-6028)
|
||||
MouseArea
|
||||
|
@ -79,35 +126,21 @@ Item
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
ExclusiveGroup { id: mainWindowHeaderMenuGroup }
|
||||
}
|
||||
|
||||
Controls2.Button
|
||||
// Shortcut button to quick access the Toolbox
|
||||
Button
|
||||
{
|
||||
id: marketplaceButton
|
||||
text: catalog.i18nc("@action:button", "Marketplace")
|
||||
height: Math.round(0.5 * UM.Theme.getSize("main_window_header").height)
|
||||
anchors
|
||||
{
|
||||
verticalCenter: parent.verticalCenter
|
||||
right: applicationSwitcher.left
|
||||
rightMargin: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
onClicked: Cura.Actions.browsePackages.trigger()
|
||||
|
||||
hoverEnabled: true
|
||||
onClicked: Cura.Actions.openMarketplace.trigger()
|
||||
|
||||
contentItem: Label
|
||||
{
|
||||
text: "Marketplace" //Ultimaker considers this a product name, so it shouldn't be translated.
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("primary_text")
|
||||
width: contentWidth
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
id: marketplaceButtonBorder
|
||||
radius: UM.Theme.getSize("action_button_radius").width
|
||||
color: UM.Theme.getColor("main_window_header_background")
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
|
@ -115,6 +148,7 @@ Item
|
|||
|
||||
Rectangle
|
||||
{
|
||||
id: marketplaceButtonFill
|
||||
anchors.fill: parent
|
||||
radius: parent.radius
|
||||
color: UM.Theme.getColor("primary_text")
|
||||
|
@ -123,12 +157,30 @@ Item
|
|||
}
|
||||
}
|
||||
|
||||
contentItem: UM.Label
|
||||
{
|
||||
id: label
|
||||
text: marketplaceButton.text
|
||||
color: UM.Theme.getColor("primary_text")
|
||||
width: contentWidth
|
||||
}
|
||||
|
||||
anchors
|
||||
{
|
||||
right: applicationSwitcher.left
|
||||
rightMargin: UM.Theme.getSize("default_margin").width
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
||||
Cura.NotificationIcon
|
||||
{
|
||||
id: marketplaceNotificationIcon
|
||||
anchors
|
||||
{
|
||||
horizontalCenter: parent.right
|
||||
verticalCenter: parent.top
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
rightMargin: (-0.5 * width) | 0
|
||||
topMargin: (-0.5 * height) | 0
|
||||
}
|
||||
visible: CuraApplication.getPackageManager().packagesWithUpdate.length > 0
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.0
|
||||
|
||||
import UM 1.2 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Button
|
||||
|
@ -99,7 +99,7 @@ Button
|
|||
height: width
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: unknownMaterialMessage
|
||||
text:
|
||||
|
@ -147,10 +147,6 @@ Button
|
|||
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:
|
||||
{
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Copyright (c) 2022 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.4 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Item
|
||||
|
@ -67,18 +67,14 @@ Item
|
|||
contentHeight: configurationList.height
|
||||
clip: true
|
||||
|
||||
ScrollBar.vertical.policy: (configurationList.height > maximumHeight) ? ScrollBar.AlwaysOn : ScrollBar.AlwaysOff //The AsNeeded policy also hides it when the cursor is away, and we don't want that.
|
||||
ScrollBar.vertical.background: Rectangle
|
||||
{
|
||||
implicitWidth: UM.Theme.getSize("scrollbar").width
|
||||
radius: width / 2
|
||||
color: UM.Theme.getColor("scrollbar_background")
|
||||
}
|
||||
ScrollBar.vertical.contentItem: Rectangle
|
||||
{
|
||||
implicitWidth: UM.Theme.getSize("scrollbar").width
|
||||
radius: width / 2
|
||||
color: UM.Theme.getColor(parent.pressed ? "scrollbar_handle_down" : parent.hovered ? "scrollbar_handle_hover" : "scrollbar_handle")
|
||||
ScrollBar.vertical: UM.ScrollBar {
|
||||
parent: container
|
||||
anchors
|
||||
{
|
||||
top: parent.top
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
}
|
||||
}
|
||||
|
||||
ButtonGroup
|
||||
|
|
|
@ -3,10 +3,9 @@
|
|||
|
||||
import QtQuick 2.10
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Controls.Styles 1.4
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
import UM 1.4 as UM
|
||||
import UM 1.5 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
|
||||
|
@ -19,7 +18,7 @@ Cura.ExpandablePopup
|
|||
id: base
|
||||
|
||||
property var extrudersModel: CuraApplication.getExtrudersModel()
|
||||
|
||||
property var activeMachine: Cura.MachineManager.activeMachine
|
||||
UM.I18nCatalog
|
||||
{
|
||||
id: catalog
|
||||
|
@ -33,7 +32,7 @@ Cura.ExpandablePopup
|
|||
}
|
||||
|
||||
contentPadding: UM.Theme.getSize("default_lining").width
|
||||
enabled: Cura.MachineManager.activeMachine ? Cura.MachineManager.activeMachine.hasMaterials || Cura.MachineManager.activeMachine.hasVariants || Cura.MachineManager.activeMachine.hasVariantBuildplates : false; //Only let it drop down if there is any configuration that you could change.
|
||||
enabled: activeMachine ? activeMachine.hasMaterials || activeMachine.hasVariants || activeMachine.hasVariantBuildplates : false; //Only let it drop down if there is any configuration that you could change.
|
||||
|
||||
headerItem: Item
|
||||
{
|
||||
|
@ -44,7 +43,7 @@ Cura.ExpandablePopup
|
|||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
width: parent.width - UM.Theme.getSize("standard_arrow").width
|
||||
visible: Cura.MachineManager.activeMachine ? Cura.MachineManager.activeMachine.hasMaterials : false
|
||||
visible: activeMachine ? activeMachine.hasMaterials : false
|
||||
Repeater
|
||||
{
|
||||
model: extrudersModel
|
||||
|
@ -56,9 +55,9 @@ Cura.ExpandablePopup
|
|||
Layout.maximumWidth: Math.round(parent.width / extrudersModel.count)
|
||||
Layout.fillHeight: true
|
||||
|
||||
property var extruderStack: Cura.MachineManager.activeMachine.extruders[model.index]
|
||||
property var extruderStack: activeMachine ? activeMachine.extruders[model.index]: null
|
||||
property bool valueWarning: !Cura.ExtruderManager.getExtruderHasQualityForMaterial(extruderStack)
|
||||
property bool valueError: Cura.ContainerManager.getContainerMetaDataEntry(extruderStack.material.id, "compatible", "") != "True"
|
||||
property bool valueError: activeMachine ? Cura.ContainerManager.getContainerMetaDataEntry(extruderStack.material.id, "compatible", "") != "True" : false
|
||||
|
||||
// Extruder icon. Shows extruder index and has the same color as the active material.
|
||||
Cura.ExtruderIcon
|
||||
|
@ -84,7 +83,7 @@ Cura.ExpandablePopup
|
|||
onExited: { tooltip.hide() }
|
||||
}
|
||||
|
||||
Cura.ToolTip
|
||||
UM.ToolTip
|
||||
{
|
||||
id: tooltip
|
||||
x: 0
|
||||
|
@ -190,56 +189,49 @@ Cura.ExpandablePopup
|
|||
rightMargin: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
// Label for the brand of the material
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: materialBrandNameLabel
|
||||
|
||||
text: model.material_brand + " " + model.material_name
|
||||
elide: Text.ElideRight
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
wrapMode: Text.NoWrap
|
||||
width: parent.width
|
||||
visible: !truncated
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: materialNameLabel
|
||||
|
||||
text: model.material_name
|
||||
elide: Text.ElideRight
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
width: parent.width
|
||||
wrapMode: Text.NoWrap
|
||||
visible: !materialBrandNameLabel.visible && !truncated
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: materialTypeLabel
|
||||
|
||||
text: model.material_type
|
||||
elide: Text.ElideRight
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
width: parent.width
|
||||
wrapMode: Text.NoWrap
|
||||
visible: !materialBrandNameLabel.visible && !materialNameLabel.visible
|
||||
}
|
||||
// Label that shows the name of the variant
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: variantLabel
|
||||
|
||||
visible: Cura.MachineManager.activeMachine ? Cura.MachineManager.activeMachine.hasVariants : false
|
||||
visible: activeMachine ? activeMachine.hasVariants : false
|
||||
|
||||
text: model.variant
|
||||
elide: Text.ElideRight
|
||||
wrapMode: Text.NoWrap
|
||||
font: UM.Theme.getFont("default_bold")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
Layout.preferredWidth: parent.width
|
||||
}
|
||||
}
|
||||
|
@ -248,15 +240,13 @@ Cura.ExpandablePopup
|
|||
}
|
||||
|
||||
// Placeholder text if there is a configuration to select but no materials (so we can't show the materials per extruder).
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Select configuration")
|
||||
elide: Text.ElideRight
|
||||
font: UM.Theme.getFont("medium")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
|
||||
visible: Cura.MachineManager.activeMachine ? !Cura.MachineManager.activeMachine.hasMaterials && (Cura.MachineManager.activeMachine.hasVariants || Cura.MachineManager.activeMachine.hasVariantBuildplates) : false
|
||||
visible: activeMachine ? !activeMachine.hasMaterials && (activeMachine.hasVariants || activeMachine.hasVariantBuildplates) : false
|
||||
|
||||
anchors
|
||||
{
|
||||
|
@ -281,7 +271,7 @@ Cura.ExpandablePopup
|
|||
|
||||
onVisibleChanged:
|
||||
{
|
||||
is_connected = Cura.MachineManager.activeMachine.hasRemoteConnection && Cura.MachineManager.printerConnected && Cura.MachineManager.printerOutputDevices[0].uniqueConfigurations.length > 0 //Re-evaluate.
|
||||
is_connected = activeMachine.hasRemoteConnection && Cura.MachineManager.printerConnected && Cura.MachineManager.printerOutputDevices[0].uniqueConfigurations.length > 0 //Re-evaluate.
|
||||
|
||||
// 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
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
// Copyright (c) 2019 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
//Copyright (c) 2022 Ultimaker B.V.
|
||||
//Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.6
|
||||
import QtQuick.Controls 2.0
|
||||
import QtQuick.Controls 1.1 as OldControls
|
||||
|
||||
import Cura 1.0 as Cura
|
||||
import UM 1.3 as UM
|
||||
import UM 1.5 as UM
|
||||
|
||||
// Simple button for displaying text and changes appearance for various states: enabled, valueError, valueWarning
|
||||
// - and hovered. Mainly used in CustomConfiguration.qml
|
||||
|
||||
Item
|
||||
{
|
||||
|
@ -19,14 +21,13 @@ Item
|
|||
width: parent.width
|
||||
height: childrenRect.height
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: header
|
||||
text: catalog.i18nc("@header", "Custom")
|
||||
font: UM.Theme.getFont("medium")
|
||||
color: UM.Theme.getColor("small_button_text")
|
||||
height: contentHeight
|
||||
renderType: Text.NativeRendering
|
||||
|
||||
anchors
|
||||
{
|
||||
|
@ -36,7 +37,7 @@ Item
|
|||
}
|
||||
}
|
||||
|
||||
//Printer type selector.
|
||||
// Printer type selector.
|
||||
Item
|
||||
{
|
||||
id: printerTypeSelectorRow
|
||||
|
@ -56,28 +57,27 @@ Item
|
|||
topMargin: visible ? UM.Theme.getSize("default_margin").height : 0
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Printer")
|
||||
width: Math.round(parent.width * 0.3) - UM.Theme.getSize("default_margin").width
|
||||
height: contentHeight
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
anchors.verticalCenter: printerTypeSelector.verticalCenter
|
||||
anchors.left: parent.left
|
||||
}
|
||||
|
||||
OldControls.ToolButton
|
||||
Button
|
||||
{
|
||||
id: printerTypeSelector
|
||||
text: Cura.MachineManager.activeMachine !== null ? Cura.MachineManager.activeMachine.definition.name: ""
|
||||
tooltip: text
|
||||
|
||||
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
|
||||
onClicked: menu.open()
|
||||
//style: UM.Theme.styles.print_setup_header_button
|
||||
|
||||
menu: Cura.PrinterTypeMenu { }
|
||||
Cura.PrinterTypeMenu { id: menu}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -94,6 +94,7 @@ Item
|
|||
model: extrudersModel
|
||||
delegate: UM.TabRowButton
|
||||
{
|
||||
checked: model.index == 0
|
||||
contentItem: Item
|
||||
{
|
||||
Cura.ExtruderIcon
|
||||
|
@ -208,23 +209,18 @@ Item
|
|||
height: visible ? UM.Theme.getSize("setting_control").height : 0
|
||||
visible: extrudersModel.count > 1 // If there is only one extruder, there is no point to enable/disable that.
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Enabled")
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
height: parent.height
|
||||
width: selectors.textWidth
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
OldControls.CheckBox
|
||||
UM.CheckBox
|
||||
{
|
||||
id: enabledCheckbox
|
||||
enabled: !checked || Cura.MachineManager.numberExtrudersEnabled > 1 //Disable if it's the last enabled extruder.
|
||||
height: parent.height
|
||||
style: UM.Theme.styles.checkbox
|
||||
|
||||
Binding
|
||||
{
|
||||
|
@ -262,18 +258,14 @@ Item
|
|||
height: visible ? UM.Theme.getSize("print_setup_big_item").height : 0
|
||||
visible: Cura.MachineManager.activeMachine ? Cura.MachineManager.activeMachine.hasMaterials : false
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Material")
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
height: parent.height
|
||||
width: selectors.textWidth
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
OldControls.ToolButton
|
||||
Cura.PrintSetupHeaderButton
|
||||
{
|
||||
id: materialSelection
|
||||
|
||||
|
@ -286,20 +278,20 @@ Item
|
|||
|
||||
width: selectors.controlWidth
|
||||
height: parent.height
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
focusPolicy: Qt.ClickFocus
|
||||
|
||||
style: UM.Theme.styles.print_setup_header_button
|
||||
activeFocusOnPress: true
|
||||
Cura.MaterialMenu
|
||||
{
|
||||
id: materialsMenu
|
||||
width: materialSelection.width
|
||||
extruderIndex: Cura.ExtruderManager.activeExtruderIndex
|
||||
updateModels: materialSelection.visible
|
||||
}
|
||||
onClicked:
|
||||
{
|
||||
materialsMenu.popup();
|
||||
}
|
||||
onClicked: materialsMenu.popup(0, height - UM.Theme.getSize("default_lining").height)
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
width: instructionButton.width + 2 * UM.Theme.getSize("narrow_margin").width
|
||||
|
@ -328,37 +320,31 @@ Item
|
|||
height: visible ? UM.Theme.getSize("print_setup_big_item").height : 0
|
||||
visible: Cura.MachineManager.activeMachine ? Cura.MachineManager.activeMachine.hasVariants : false
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: Cura.MachineManager.activeDefinitionVariantsName
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
height: parent.height
|
||||
width: selectors.textWidth
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
OldControls.ToolButton
|
||||
Cura.PrintSetupHeaderButton
|
||||
{
|
||||
id: variantSelection
|
||||
text: Cura.MachineManager.activeStack != null ? Cura.MachineManager.activeStack.variant.name : ""
|
||||
tooltip: text
|
||||
height: parent.height
|
||||
width: selectors.controlWidth
|
||||
style: UM.Theme.styles.print_setup_header_button
|
||||
activeFocusOnPress: true
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
focusPolicy: Qt.ClickFocus
|
||||
enabled: enabledCheckbox.checked
|
||||
|
||||
Cura.NozzleMenu
|
||||
{
|
||||
id: nozzlesMenu
|
||||
extruderIndex: Cura.ExtruderManager.activeExtruderIndex
|
||||
width: variantSelection.width
|
||||
}
|
||||
onClicked:
|
||||
{
|
||||
nozzlesMenu.popup();
|
||||
}
|
||||
onClicked: nozzlesMenu.popup(0, height - UM.Theme.getSize("default_lining").height)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -372,11 +358,10 @@ Item
|
|||
property bool buildplateCompatibilityWarning: Cura.MachineManager.variantBuildplateUsable
|
||||
|
||||
// This is a space holder aligning the warning messages.
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
text: ""
|
||||
width: selectors.textWidth
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
Item
|
||||
|
@ -397,19 +382,15 @@ Item
|
|||
visible: !Cura.MachineManager.isCurrentSetupSupported || warnings.buildplateCompatibilityError || warnings.buildplateCompatibilityWarning
|
||||
}
|
||||
|
||||
Label
|
||||
UM.Label
|
||||
{
|
||||
id: materialCompatibilityLabel
|
||||
anchors.left: warningImage.right
|
||||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
width: selectors.controlWidth - warningImage.width - UM.Theme.getSize("default_margin").width
|
||||
text: catalog.i18nc("@label", "Use glue for better adhesion with this material combination.")
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
visible: CuraSDKVersion == "dev" ? false : warnings.buildplateCompatibilityError || warnings.buildplateCompatibilityWarning
|
||||
wrapMode: Text.WordWrap
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue