Fix merge conflicts from ui_rework_40
CURA-5943
96
resources/definitions/alfawise_u20.def.json
Normal file
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"name": "Alfawise U20",
|
||||
"version": 2,
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "Samuel Pinches",
|
||||
"manufacturer": "Alfawise",
|
||||
"file_formats": "text/x-gcode",
|
||||
"preferred_quality_type": "fine",
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "alfawise_u20_extruder_0"
|
||||
}
|
||||
},
|
||||
"overrides": {
|
||||
"machine_name": {
|
||||
"default_value": "Alfawise U20"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 ;home all axis\nG92 E0 ;zero the extruded length\nG1 Z1 F1000 ;move up slightly\nG1 X60.0 Z0 E9.0 F1000.0;intro line\nG1 X100.0 E21.5 F1000.0 ;continue line\nG92 E0 ;zero the extruded length again\n; -- end of START GCODE --"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "; -- END GCODE --\nM104 S0 ;turn off nozzle heater\nM140 S0 ;turn off bed heater\nG91 ;set to relative positioning\nG1 E-10 F300 ;retract the filament slightly\nG90 ;set to absolute positioning\nG28 X0 ;move to the X-axis origin (Home)\nG0 Y280 F600 ;bring the bed to the front for easy print removal\nM84 ;turn off stepper motors\n; -- end of END GCODE --"
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 400
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_heated_bed": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"gantry_height": {
|
||||
"default_value": 10
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"material_print_temperature": {
|
||||
"default_value": 210
|
||||
},
|
||||
"material_bed_temperature": {
|
||||
"default_value": 50
|
||||
},
|
||||
"layer_height": {
|
||||
"default_value": 0.15
|
||||
},
|
||||
"layer_height_0": {
|
||||
"default_value": 0.2
|
||||
},
|
||||
"wall_thickness": {
|
||||
"default_value": 1.2
|
||||
},
|
||||
"speed_print": {
|
||||
"default_value": 40
|
||||
},
|
||||
"speed_infill": {
|
||||
"default_value": 40
|
||||
},
|
||||
"speed_wall": {
|
||||
"default_value": 35
|
||||
},
|
||||
"speed_topbottom": {
|
||||
"default_value": 35
|
||||
},
|
||||
"speed_travel": {
|
||||
"default_value": 120
|
||||
},
|
||||
"speed_layer_0": {
|
||||
"default_value": 20
|
||||
},
|
||||
"support_enable": {
|
||||
"default_value": true
|
||||
},
|
||||
"retraction_enable": {
|
||||
"default_value": true
|
||||
},
|
||||
"retraction_amount": {
|
||||
"default_value": 5
|
||||
},
|
||||
"retraction_speed": {
|
||||
"default_value": 45
|
||||
}
|
||||
}
|
||||
}
|
92
resources/definitions/bibo2_dual.def.json
Normal file
|
@ -0,0 +1,92 @@
|
|||
{
|
||||
"id": "BIBO2 dual",
|
||||
"version": 2,
|
||||
"name": "BIBO2 dual",
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "na",
|
||||
"manufacturer": "BIBO",
|
||||
"category": "Other",
|
||||
"file_formats": "text/x-gcode",
|
||||
"has_materials": true,
|
||||
"machine_extruder_trains": {
|
||||
"0": "bibo2_dual_extruder_0",
|
||||
"1": "bibo2_dual_extruder_1"
|
||||
},
|
||||
"first_start_actions": [
|
||||
"MachineSettingsAction"
|
||||
]
|
||||
},
|
||||
"overrides": {
|
||||
"machine_name": {
|
||||
"default_value": "BIBO2 dual"
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 214
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 160
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 186
|
||||
},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_heated_bed": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_nozzle_heat_up_speed": {
|
||||
"default_value": 2
|
||||
},
|
||||
"machine_nozzle_cool_down_speed": {
|
||||
"default_value": 2
|
||||
},
|
||||
"machine_head_with_fans_polygon": {
|
||||
"default_value": [
|
||||
[
|
||||
-68.18,
|
||||
64.63
|
||||
],
|
||||
[
|
||||
-68.18,
|
||||
-47.38
|
||||
],
|
||||
[
|
||||
35.18,
|
||||
64.63
|
||||
],
|
||||
[
|
||||
35.18,
|
||||
-47.38
|
||||
]
|
||||
]
|
||||
},
|
||||
"gantry_height": {
|
||||
"default_value": 12
|
||||
},
|
||||
"machine_use_extruder_offset_to_offset_coords": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\nG90 ;absolute positioning\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z2.0 F400 ;move the platform down 15mm\nT0\nG92 E0\nG28\nG1 Y0 F1200 E0\nG92 E0\nM117 BIBO Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": ";End GCode\nM104 T0 S0 ;extruder heater off\nM104 T1 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91\nG1 Z1 F100 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-2 X-20 Y-20 F300 ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning"
|
||||
},
|
||||
"machine_extruder_count": {
|
||||
"default_value": 2
|
||||
},
|
||||
"prime_tower_position_x": {
|
||||
"default_value": 50
|
||||
},
|
||||
"prime_tower_position_y": {
|
||||
"default_value": 50
|
||||
}
|
||||
}
|
||||
}
|
||||
|
96
resources/definitions/cocoon_create_modelmaker.def.json
Normal file
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"name": "Cocoon Create ModelMaker & Wanhao Duplicator i3 Mini",
|
||||
"version": 2,
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "Samuel Pinches",
|
||||
"manufacturer": "Cocoon Create / Wanhao",
|
||||
"file_formats": "text/x-gcode",
|
||||
"preferred_quality_type": "fine",
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "cocoon_create_modelmaker_extruder_0"
|
||||
}
|
||||
},
|
||||
"overrides": {
|
||||
"machine_name": {
|
||||
"default_value": "Cocoon Create ModelMaker & Wanhao Duplicator i3 Mini"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 ;home all axis\nG92 E0 ;zero the extruded length\nG1 Z1 F1000 ;move up slightly\nG1 X60.0 Z0 E9.0 F1000.0;intro line\nG1 X100.0 E21.5 F1000.0 ;continue line\nG92 E0 ;zero the extruded length again\n; -- end of START GCODE --"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "; -- END GCODE --\nM104 S0 ;turn off nozzle heater\nG91 ;set to relative positioning\nG1 E-10 F300 ;retract the filament slightly\nG90 ;set to absolute positioning\nG28 X0 Y0 ;move to the XY-axis origin (Home)\nM84 ;turn off stepper motors\n; -- end of END GCODE --"
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 120
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 100
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 135
|
||||
},
|
||||
"machine_heated_bed": {
|
||||
"default_value": false
|
||||
},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"gantry_height": {
|
||||
"default_value": 10
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"material_print_temperature": {
|
||||
"default_value": 220
|
||||
},
|
||||
"layer_height": {
|
||||
"default_value": 0.10
|
||||
},
|
||||
"layer_height_0": {
|
||||
"default_value": 0.2
|
||||
},
|
||||
"wall_thickness": {
|
||||
"default_value": 1.2
|
||||
},
|
||||
"top_bottom_thickness": {
|
||||
"default_value": 0.6
|
||||
},
|
||||
"speed_print": {
|
||||
"default_value": 40
|
||||
},
|
||||
"speed_infill": {
|
||||
"default_value": 40
|
||||
},
|
||||
"speed_wall": {
|
||||
"default_value": 35
|
||||
},
|
||||
"speed_topbottom": {
|
||||
"default_value": 35
|
||||
},
|
||||
"speed_travel": {
|
||||
"default_value": 70
|
||||
},
|
||||
"speed_layer_0": {
|
||||
"default_value": 20
|
||||
},
|
||||
"support_enable": {
|
||||
"default_value": true
|
||||
},
|
||||
"retraction_enable": {
|
||||
"default_value": true
|
||||
},
|
||||
"retraction_amount": {
|
||||
"default_value": 7
|
||||
},
|
||||
"retraction_speed": {
|
||||
"default_value": 40
|
||||
}
|
||||
}
|
||||
}
|
96
resources/definitions/jgaurora_a1.def.json
Normal file
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"name": "JGAurora A1",
|
||||
"version": 2,
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "Samuel Pinches",
|
||||
"manufacturer": "JGAurora",
|
||||
"file_formats": "text/x-gcode",
|
||||
"preferred_quality_type": "fine",
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "jgaurora_a1_extruder_0"
|
||||
}
|
||||
},
|
||||
"overrides": {
|
||||
"machine_name": {
|
||||
"default_value": "JGAurora A1"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 ;home all axis\nM420 S1 ;turn on mesh bed levelling if enabled in firmware\nG92 E0 ;zero the extruded length\nG1 Z1 F1000 ;move up slightly\nG1 X60.0 Z0 E9.0 F1000.0;intro line\nG1 X100.0 E21.5 F1000.0 ;continue line\nG92 E0 ;zero the extruded length again\n; -- end of START GCODE --"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "; -- END GCODE --\nM104 S0 ;turn off nozzle heater\nM140 S0 ;turn off bed heater\nG91 ;set to relative positioning\nG1 E-10 F300 ;retract the filament slightly\nG90 ;set to absolute positioning\nG28 X0 ;move to the X-axis origin (Home)\nG0 Y280 F600 ;bring the bed to the front for easy print removal\nM84 ;turn off stepper motors\n; -- end of END GCODE --"
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_heated_bed": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"gantry_height": {
|
||||
"default_value": 10
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"material_print_temperature": {
|
||||
"default_value": 215
|
||||
},
|
||||
"material_bed_temperature": {
|
||||
"default_value": 67
|
||||
},
|
||||
"layer_height": {
|
||||
"default_value": 0.15
|
||||
},
|
||||
"layer_height_0": {
|
||||
"default_value": 0.12
|
||||
},
|
||||
"wall_thickness": {
|
||||
"default_value": 1.2
|
||||
},
|
||||
"speed_print": {
|
||||
"default_value": 40
|
||||
},
|
||||
"speed_infill": {
|
||||
"default_value": 40
|
||||
},
|
||||
"speed_wall": {
|
||||
"default_value": 35
|
||||
},
|
||||
"speed_topbottom": {
|
||||
"default_value": 35
|
||||
},
|
||||
"speed_travel": {
|
||||
"default_value": 120
|
||||
},
|
||||
"speed_layer_0": {
|
||||
"default_value": 12
|
||||
},
|
||||
"support_enable": {
|
||||
"default_value": true
|
||||
},
|
||||
"retraction_enable": {
|
||||
"default_value": true
|
||||
},
|
||||
"retraction_amount": {
|
||||
"default_value": 6
|
||||
},
|
||||
"retraction_speed": {
|
||||
"default_value": 40
|
||||
}
|
||||
}
|
||||
}
|
98
resources/definitions/jgaurora_a5.def.json
Normal file
|
@ -0,0 +1,98 @@
|
|||
{
|
||||
"name": "JGAurora A5 & A5S",
|
||||
"version": 2,
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "Samuel Pinches",
|
||||
"manufacturer": "JGAurora",
|
||||
"file_formats": "text/x-gcode",
|
||||
"platform": "jgaurora_a5.stl",
|
||||
"platform_offset": [-242, -101, 273],
|
||||
"preferred_quality_type": "fine",
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "jgaurora_a5_extruder_0"
|
||||
}
|
||||
},
|
||||
"overrides": {
|
||||
"machine_name": {
|
||||
"default_value": "JGAurora A5 & A5S"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 ;home all axis\nM420 S1 ;turn on mesh bed levelling if enabled in firmware\nG92 E0 ;zero the extruded length\nG1 Z1 F1000 ;move up slightly\nG1 X60.0 Z0 E9.0 F1000.0;intro line\nG1 X100.0 E21.5 F1000.0 ;continue line\nG92 E0 ;zero the extruded length again\n; -- end of START GCODE --"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "; -- END GCODE --\nM104 S0 ;turn off nozzle heater\nM140 S0 ;turn off bed heater\nG91 ;set to relative positioning\nG1 E-10 F300 ;retract the filament slightly\nG90 ;set to absolute positioning\nG28 X0 ;move to the X-axis origin (Home)\nG0 Y280 F600 ;bring the bed to the front for easy print removal\nM84 ;turn off stepper motors\n; -- end of END GCODE --"
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 320
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 300
|
||||
},
|
||||
"machine_heated_bed": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"gantry_height": {
|
||||
"default_value": 10
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"material_print_temperature": {
|
||||
"default_value": 215
|
||||
},
|
||||
"material_bed_temperature": {
|
||||
"default_value": 67
|
||||
},
|
||||
"layer_height": {
|
||||
"default_value": 0.15
|
||||
},
|
||||
"layer_height_0": {
|
||||
"default_value": 0.12
|
||||
},
|
||||
"wall_thickness": {
|
||||
"default_value": 1.2
|
||||
},
|
||||
"speed_print": {
|
||||
"default_value": 40
|
||||
},
|
||||
"speed_infill": {
|
||||
"default_value": 40
|
||||
},
|
||||
"speed_wall": {
|
||||
"default_value": 35
|
||||
},
|
||||
"speed_topbottom": {
|
||||
"default_value": 35
|
||||
},
|
||||
"speed_travel": {
|
||||
"default_value": 120
|
||||
},
|
||||
"speed_layer_0": {
|
||||
"default_value": 12
|
||||
},
|
||||
"support_enable": {
|
||||
"default_value": true
|
||||
},
|
||||
"retraction_enable": {
|
||||
"default_value": true
|
||||
},
|
||||
"retraction_amount": {
|
||||
"default_value": 8
|
||||
},
|
||||
"retraction_speed": {
|
||||
"default_value": 45
|
||||
}
|
||||
}
|
||||
}
|
96
resources/definitions/jgaurora_z_603s.def.json
Normal file
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"name": "JGAurora Z-603S",
|
||||
"version": 2,
|
||||
"inherits": "fdmprinter",
|
||||
"metadata": {
|
||||
"visible": true,
|
||||
"author": "Samuel Pinches",
|
||||
"manufacturer": "JGAurora",
|
||||
"file_formats": "text/x-gcode",
|
||||
"preferred_quality_type": "fine",
|
||||
"machine_extruder_trains":
|
||||
{
|
||||
"0": "jgaurora_z_603s_extruder_0"
|
||||
}
|
||||
},
|
||||
"overrides": {
|
||||
"machine_name": {
|
||||
"default_value": "JGAurora Z-603S"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "; -- START GCODE --\nG21 ;set units to millimetres\nG90 ;set to absolute positioning\nM106 S0 ;set fan speed to zero (turned off)\nG28 ;home all axis\nM420 S1 ;turn on mesh bed levelling if enabled in firmware\nG92 E0 ;zero the extruded length\nG1 Z1 F1000 ;move up slightly\nG1 X60.0 Z0 E9.0 F1000.0;intro line\nG1 X100.0 E21.5 F1000.0 ;continue line\nG92 E0 ;zero the extruded length again\n; -- end of START GCODE --"
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "; -- END GCODE --\nM104 S0 ;turn off nozzle heater\nM140 S0 ;turn off bed heater\nG91 ;set to relative positioning\nG1 E-10 F300 ;retract the filament slightly\nG90 ;set to absolute positioning\nG28 X0 ;move to the X-axis origin (Home)\nG0 Y280 F600 ;bring the bed to the front for easy print removal\nM84 ;turn off stepper motors\n; -- end of END GCODE --"
|
||||
},
|
||||
"machine_width": {
|
||||
"default_value": 280
|
||||
},
|
||||
"machine_height": {
|
||||
"default_value": 175
|
||||
},
|
||||
"machine_depth": {
|
||||
"default_value": 180
|
||||
},
|
||||
"machine_heated_bed": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_center_is_zero": {
|
||||
"default_value": false
|
||||
},
|
||||
"gantry_height": {
|
||||
"default_value": 10
|
||||
},
|
||||
"machine_gcode_flavor": {
|
||||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"material_print_temperature": {
|
||||
"default_value": 210
|
||||
},
|
||||
"material_bed_temperature": {
|
||||
"default_value": 55
|
||||
},
|
||||
"layer_height": {
|
||||
"default_value": 0.15
|
||||
},
|
||||
"layer_height_0": {
|
||||
"default_value": 0.2
|
||||
},
|
||||
"wall_thickness": {
|
||||
"default_value": 1.2
|
||||
},
|
||||
"speed_print": {
|
||||
"default_value": 60
|
||||
},
|
||||
"speed_infill": {
|
||||
"default_value": 60
|
||||
},
|
||||
"speed_wall": {
|
||||
"default_value": 30
|
||||
},
|
||||
"speed_topbottom": {
|
||||
"default_value": 45
|
||||
},
|
||||
"speed_travel": {
|
||||
"default_value": 125
|
||||
},
|
||||
"speed_layer_0": {
|
||||
"default_value": 20
|
||||
},
|
||||
"support_enable": {
|
||||
"default_value": true
|
||||
},
|
||||
"retraction_enable": {
|
||||
"default_value": true
|
||||
},
|
||||
"retraction_amount": {
|
||||
"default_value": 5
|
||||
},
|
||||
"retraction_speed": {
|
||||
"default_value": 50
|
||||
}
|
||||
}
|
||||
}
|
|
@ -39,10 +39,10 @@
|
|||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{travel_speed} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{travel_speed} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{speed_travel} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{speed_travel} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,10 +42,10 @@
|
|||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{travel_speed} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{travel_speed} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{speed_travel} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{speed_travel} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,10 +39,10 @@
|
|||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{travel_speed} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{travel_speed} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{speed_travel} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{speed_travel} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,10 +42,10 @@
|
|||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{travel_speed} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{travel_speed} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{speed_travel} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{speed_travel} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,10 +39,10 @@
|
|||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{travel_speed} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{travel_speed} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{speed_travel} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{speed_travel} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,10 +39,10 @@
|
|||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{travel_speed} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{travel_speed} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{speed_travel} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{speed_travel} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,10 +39,10 @@
|
|||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{travel_speed} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{travel_speed} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{speed_travel} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{speed_travel} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,10 +39,10 @@
|
|||
"default_value": "RepRap (Marlin/Sprinter)"
|
||||
},
|
||||
"machine_start_gcode": {
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{travel_speed} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{travel_speed} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
"default_value": "G21 ;metric values\n G90 ;absolute positioning\n M82 ;set extruder to absolute mode\n M107 ;start with the fan off\n G28 X0 Y0 ;move X/Y to min endstops\n G28 Z0 ;move Z to min endstops\n G1 Z15.0 F{speed_travel} ;move the platform down 15mm\n G92 E0 ;zero the extruded length\n G1 F200 E6 ;extrude 6 mm of feed stock\n G92 E0 ;zero the extruded length again\n G1 F{speed_travel} \n ;Put printing message on LCD screen\n M117 Printing..."
|
||||
},
|
||||
"machine_end_gcode": {
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
"default_value": "M104 S0 ;extruder heater off \n G91 ;relative positioning\n G1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\n G1 Z+0.5 E-5 X-20 Y-20 F{speed_travel} ;move Z up a bit and retract filament even more\n G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\n M84 ;steppers off\n G90 ;absolute positioning"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
16
resources/extruders/alfawise_u20_extruder_0.def.json
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"id": "alfawise_u20_extruder_0",
|
||||
"version": 2,
|
||||
"name": "Extruder 1",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "alfawise_u20",
|
||||
"position": "0"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"extruder_nr": { "default_value": 0 },
|
||||
"machine_nozzle_size": { "default_value": 0.4 },
|
||||
"material_diameter": { "default_value": 1.75 }
|
||||
}
|
||||
}
|
46
resources/extruders/bibo2_dual_extruder_0.def.json
Normal file
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"id": "BIBO1",
|
||||
"version": 2,
|
||||
"name": "Extruder 1",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "BIBO2 dual",
|
||||
"position": "0"
|
||||
},
|
||||
"overrides": {
|
||||
"extruder_nr": {
|
||||
"default_value": 0,
|
||||
"maximum_value": "1"
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"machine_nozzle_size": {
|
||||
"default_value": 0.4
|
||||
},
|
||||
"machine_nozzle_offset_x": {
|
||||
"default_value": 0.0
|
||||
},
|
||||
"machine_nozzle_offset_y": {
|
||||
"default_value": 0.0
|
||||
},
|
||||
"machine_extruder_start_pos_abs": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_extruder_start_pos_x": {
|
||||
"value": "prime_tower_position_x"
|
||||
},
|
||||
"machine_extruder_start_pos_y": {
|
||||
"value": "prime_tower_position_y"
|
||||
},
|
||||
"machine_extruder_end_pos_abs": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_extruder_end_pos_x": {
|
||||
"value": "prime_tower_position_x"
|
||||
},
|
||||
"machine_extruder_end_pos_y": {
|
||||
"value": "prime_tower_position_y"
|
||||
}
|
||||
}
|
||||
}
|
46
resources/extruders/bibo2_dual_extruder_1.def.json
Normal file
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"id": "BIBO2",
|
||||
"version": 2,
|
||||
"name": "Extruder 2",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "BIBO2 dual",
|
||||
"position": "1"
|
||||
},
|
||||
"overrides": {
|
||||
"extruder_nr": {
|
||||
"default_value": 1,
|
||||
"maximum_value": "1"
|
||||
},
|
||||
"material_diameter": {
|
||||
"default_value": 1.75
|
||||
},
|
||||
"machine_nozzle_size": {
|
||||
"default_value": 0.4
|
||||
},
|
||||
"machine_nozzle_offset_x": {
|
||||
"default_value": 0.0
|
||||
},
|
||||
"machine_nozzle_offset_y": {
|
||||
"default_value": 0.0
|
||||
},
|
||||
"machine_extruder_start_pos_abs": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_extruder_start_pos_x": {
|
||||
"value": "prime_tower_position_x"
|
||||
},
|
||||
"machine_extruder_start_pos_y": {
|
||||
"value": "prime_tower_position_y"
|
||||
},
|
||||
"machine_extruder_end_pos_abs": {
|
||||
"default_value": true
|
||||
},
|
||||
"machine_extruder_end_pos_x": {
|
||||
"value": "prime_tower_position_x"
|
||||
},
|
||||
"machine_extruder_end_pos_y": {
|
||||
"value": "prime_tower_position_y"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"id": "cocoon_create_modelmaker_extruder_0",
|
||||
"version": 2,
|
||||
"name": "Extruder 1",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "cocoon_create_modelmaker",
|
||||
"position": "0"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"extruder_nr": { "default_value": 0 },
|
||||
"machine_nozzle_size": { "default_value": 0.4 },
|
||||
"material_diameter": { "default_value": 1.75 }
|
||||
}
|
||||
}
|
16
resources/extruders/jgaurora_a1_extruder_0.def.json
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"id": "jgaurora_a1_extruder_0",
|
||||
"version": 2,
|
||||
"name": "Extruder 1",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "jgaurora_a1",
|
||||
"position": "0"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"extruder_nr": { "default_value": 0 },
|
||||
"machine_nozzle_size": { "default_value": 0.4 },
|
||||
"material_diameter": { "default_value": 1.75 }
|
||||
}
|
||||
}
|
16
resources/extruders/jgaurora_a5_extruder_0.def.json
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"id": "jgaurora_a5_extruder_0",
|
||||
"version": 2,
|
||||
"name": "Extruder 1",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "jgaurora_a5",
|
||||
"position": "0"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"extruder_nr": { "default_value": 0 },
|
||||
"machine_nozzle_size": { "default_value": 0.4 },
|
||||
"material_diameter": { "default_value": 1.75 }
|
||||
}
|
||||
}
|
16
resources/extruders/jgaurora_z_603s_extruder_0.def.json
Normal file
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"id": "jgaurora_z_603s_extruder_0",
|
||||
"version": 2,
|
||||
"name": "Extruder 1",
|
||||
"inherits": "fdmextruder",
|
||||
"metadata": {
|
||||
"machine": "jgaurora_z_603s",
|
||||
"position": "0"
|
||||
},
|
||||
|
||||
"overrides": {
|
||||
"extruder_nr": { "default_value": 0 },
|
||||
"machine_nozzle_size": { "default_value": 0.4 },
|
||||
"material_diameter": { "default_value": 1.75 }
|
||||
}
|
||||
}
|
BIN
resources/meshes/jgaurora_a5.stl
Normal file
|
@ -11,20 +11,16 @@ Row
|
|||
{
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
|
||||
Cura.ActionButton
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
width: UM.Theme.getSize("account_button").width
|
||||
height: UM.Theme.getSize("account_button").height
|
||||
text: catalog.i18nc("@button", "Create account")
|
||||
color: UM.Theme.getColor("secondary")
|
||||
hoverColor: UM.Theme.getColor("secondary")
|
||||
textColor: UM.Theme.getColor("main_window_header_button_text_active")
|
||||
textHoverColor: UM.Theme.getColor("main_window_header_button_text_active")
|
||||
onClicked: Qt.openUrlExternally("https://account.ultimaker.com/app/create")
|
||||
fixedWidthMode: true
|
||||
}
|
||||
|
||||
Cura.ActionButton
|
||||
Cura.PrimaryButton
|
||||
{
|
||||
width: UM.Theme.getSize("account_button").width
|
||||
height: UM.Theme.getSize("account_button").height
|
||||
|
|
|
@ -11,20 +11,16 @@ Row
|
|||
{
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
|
||||
Cura.ActionButton
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
width: UM.Theme.getSize("account_button").width
|
||||
height: UM.Theme.getSize("account_button").height
|
||||
text: catalog.i18nc("@button", "Manage account")
|
||||
color: UM.Theme.getColor("secondary")
|
||||
hoverColor: UM.Theme.getColor("secondary")
|
||||
textColor: UM.Theme.getColor("main_window_header_button_text_active")
|
||||
textHoverColor: UM.Theme.getColor("main_window_header_button_text_active")
|
||||
onClicked: Qt.openUrlExternally("https://account.ultimaker.com")
|
||||
fixedWidthMode: true
|
||||
}
|
||||
|
||||
Cura.ActionButton
|
||||
Cura.PrimaryButton
|
||||
{
|
||||
width: UM.Theme.getSize("account_button").width
|
||||
height: UM.Theme.getSize("account_button").height
|
||||
|
|
|
@ -3,27 +3,34 @@
|
|||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.1
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
import QtGraphicalEffects 1.0 // For the dropshadow
|
||||
|
||||
import UM 1.1 as UM
|
||||
|
||||
Button
|
||||
{
|
||||
id: button
|
||||
property alias cursorShape: mouseArea.cursorShape
|
||||
property alias iconSource: buttonIcon.source
|
||||
property alias textFont: buttonText.font
|
||||
property alias cornerRadius: backgroundRect.radius
|
||||
property alias tooltip: tooltip.text
|
||||
property var color: UM.Theme.getColor("primary")
|
||||
property var hoverColor: UM.Theme.getColor("primary_hover")
|
||||
property var disabledColor: color
|
||||
property var textColor: UM.Theme.getColor("button_text")
|
||||
property var textHoverColor: UM.Theme.getColor("button_text_hover")
|
||||
property var textDisabledColor: textColor
|
||||
property var outlineColor: color
|
||||
property var outlineHoverColor: hoverColor
|
||||
property var outlineDisabledColor: outlineColor
|
||||
|
||||
property color color: UM.Theme.getColor("primary")
|
||||
property color hoverColor: UM.Theme.getColor("primary_hover")
|
||||
property color disabledColor: color
|
||||
property color textColor: UM.Theme.getColor("button_text")
|
||||
property color textHoverColor: textColor
|
||||
property color textDisabledColor: textColor
|
||||
property color outlineColor: color
|
||||
property color outlineHoverColor: hoverColor
|
||||
property color outlineDisabledColor: outlineColor
|
||||
|
||||
hoverEnabled: true
|
||||
|
||||
property alias shadowColor: shadow.color
|
||||
property alias shadowEnabled: shadow.visible
|
||||
|
||||
// This property is used to indicate whether the button has a fixed width or the width would depend on the contents
|
||||
// Be careful when using fixedWidthMode, the translated texts can be too long that they won't fit. In any case,
|
||||
// we elide the text to the right so the text will be cut off with the three dots at the end.
|
||||
|
@ -68,6 +75,19 @@ Button
|
|||
border.color: button.enabled ? (button.hovered ? button.outlineHoverColor : button.outlineColor) : button.outlineDisabledColor
|
||||
}
|
||||
|
||||
DropShadow
|
||||
{
|
||||
id: shadow
|
||||
// Don't blur the shadow
|
||||
radius: 0
|
||||
anchors.fill: backgroundRect
|
||||
source: backgroundRect
|
||||
verticalOffset: 2
|
||||
visible: false
|
||||
// Should always be drawn behind the background.
|
||||
z: backgroundRect.z - 1
|
||||
}
|
||||
|
||||
ToolTip
|
||||
{
|
||||
id: tooltip
|
||||
|
@ -75,12 +95,4 @@ Button
|
|||
delay: 500
|
||||
visible: text != "" && button.hovered
|
||||
}
|
||||
|
||||
MouseArea
|
||||
{
|
||||
id: mouseArea
|
||||
anchors.fill: parent
|
||||
onPressed: mouse.accepted = false
|
||||
hoverEnabled: true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@ Item
|
|||
{
|
||||
id: widget
|
||||
|
||||
Cura.ActionButton
|
||||
Cura.PrimaryButton
|
||||
{
|
||||
id: saveToButton
|
||||
height: parent.height
|
||||
|
@ -42,6 +42,9 @@ Item
|
|||
id: deviceSelectionMenu
|
||||
height: parent.height
|
||||
|
||||
shadowEnabled: true
|
||||
shadowColor: UM.Theme.getColor("primary_shadow")
|
||||
|
||||
anchors
|
||||
{
|
||||
top: parent.top
|
||||
|
@ -65,7 +68,7 @@ Item
|
|||
|
||||
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
|
||||
|
||||
contentItem: Column
|
||||
contentItem: ColumnLayout
|
||||
{
|
||||
Repeater
|
||||
{
|
||||
|
@ -77,7 +80,7 @@ Item
|
|||
color: "transparent"
|
||||
cornerRadius: 0
|
||||
hoverColor: UM.Theme.getColor("primary")
|
||||
|
||||
Layout.fillWidth: true
|
||||
onClicked:
|
||||
{
|
||||
UM.OutputDeviceManager.setActiveDevice(model.id)
|
||||
|
@ -91,10 +94,7 @@ Item
|
|||
{
|
||||
opacity: visible ? 1 : 0
|
||||
Behavior on opacity { NumberAnimation { duration: 100 } }
|
||||
radius: UM.Theme.getSize("default_radius").width
|
||||
color: UM.Theme.getColor("action_panel_secondary")
|
||||
border.color: UM.Theme.getColor("lining")
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -18,6 +18,7 @@ Column
|
|||
id: widget
|
||||
|
||||
spacing: UM.Theme.getSize("thin_margin").height
|
||||
property bool preSlicedData: PrintInformation.preSliced
|
||||
|
||||
UM.I18nCatalog
|
||||
{
|
||||
|
@ -48,7 +49,7 @@ Column
|
|||
id: estimatedTime
|
||||
width: parent.width
|
||||
|
||||
text: PrintInformation.currentPrintTime.getDisplayString(UM.DurationFormat.Long)
|
||||
text: preSlicedData ? catalog.i18nc("@label", "No time estimation available") : PrintInformation.currentPrintTime.getDisplayString(UM.DurationFormat.Long)
|
||||
source: UM.Theme.getIcon("clock")
|
||||
font: UM.Theme.getFont("small")
|
||||
}
|
||||
|
@ -63,6 +64,10 @@ Column
|
|||
|
||||
text:
|
||||
{
|
||||
if (preSlicedData)
|
||||
{
|
||||
return catalog.i18nc("@label", "No cost estimation available")
|
||||
}
|
||||
var totalLengths = 0
|
||||
var totalWeights = 0
|
||||
if (printMaterialLengths)
|
||||
|
@ -86,6 +91,7 @@ Column
|
|||
PrintInformationWidget
|
||||
{
|
||||
id: printInformationPanel
|
||||
visible: !preSlicedData
|
||||
|
||||
anchors
|
||||
{
|
||||
|
@ -101,20 +107,18 @@ Column
|
|||
spacing: UM.Theme.getSize("default_margin").width
|
||||
width: parent.width
|
||||
|
||||
Cura.ActionButton
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
id: previewStageShortcut
|
||||
|
||||
leftPadding: UM.Theme.getSize("default_margin").width
|
||||
rightPadding: UM.Theme.getSize("default_margin").width
|
||||
height: UM.Theme.getSize("action_panel_button").height
|
||||
text: catalog.i18nc("@button", "Preview")
|
||||
color: UM.Theme.getColor("secondary")
|
||||
hoverColor: UM.Theme.getColor("secondary")
|
||||
textColor: UM.Theme.getColor("primary")
|
||||
textHoverColor: UM.Theme.getColor("text")
|
||||
|
||||
onClicked: UM.Controller.setActiveStage("PreviewStage")
|
||||
visible: UM.Controller.activeStage != null && UM.Controller.activeStage.stageId != "PreviewStage"
|
||||
|
||||
shadowEnabled: true
|
||||
shadowColor: UM.Theme.getColor("action_button_disabled_shadow")
|
||||
}
|
||||
|
||||
Cura.OutputDevicesActionButton
|
||||
|
|
|
@ -40,9 +40,21 @@ Column
|
|||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
id: autoSlicingLabel
|
||||
width: parent.width
|
||||
visible: prepareButtons.autoSlice && widget.backendState == UM.Backend.Processing
|
||||
|
||||
text: catalog.i18nc("@label:PrintjobStatus", "Auto slicing...")
|
||||
color: UM.Theme.getColor("text")
|
||||
font: UM.Theme.getFont("very_small")
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
Cura.IconLabel
|
||||
{
|
||||
id: message
|
||||
id: unableToSliceMessage
|
||||
width: parent.width
|
||||
visible: widget.backendState == UM.Backend.Error
|
||||
|
||||
|
@ -81,38 +93,41 @@ Column
|
|||
}
|
||||
}
|
||||
|
||||
Cura.ActionButton
|
||||
{
|
||||
id: prepareButton
|
||||
width: parent.width
|
||||
height: UM.Theme.getSize("action_panel_button").height
|
||||
fixedWidthMode: true
|
||||
text:
|
||||
{
|
||||
if ([UM.Backend.NotStarted, UM.Backend.Error].indexOf(widget.backendState) != -1)
|
||||
{
|
||||
return catalog.i18nc("@button", "Slice")
|
||||
}
|
||||
if (autoSlice)
|
||||
{
|
||||
return catalog.i18nc("@button", "Auto slicing...")
|
||||
}
|
||||
return catalog.i18nc("@button", "Cancel")
|
||||
}
|
||||
enabled: !autoSlice && !disabledSlice
|
||||
|
||||
Item
|
||||
{
|
||||
id: prepareButtons
|
||||
// Get the current value from the preferences
|
||||
property bool autoSlice: UM.Preferences.getValue("general/auto_slice")
|
||||
// Disable the slice process when
|
||||
property bool disabledSlice: [UM.Backend.Done, UM.Backend.Error].indexOf(widget.backendState) != -1
|
||||
|
||||
disabledColor: disabledSlice ? UM.Theme.getColor("action_button_disabled") : "transparent"
|
||||
textDisabledColor: disabledSlice ? UM.Theme.getColor("action_button_disabled_text") : UM.Theme.getColor("primary")
|
||||
outlineDisabledColor: disabledSlice ? UM.Theme.getColor("action_button_disabled_border") : "transparent"
|
||||
width: parent.width
|
||||
height: UM.Theme.getSize("action_panel_button").height
|
||||
visible: !autoSlice
|
||||
Cura.PrimaryButton
|
||||
{
|
||||
id: sliceButton
|
||||
fixedWidthMode: true
|
||||
anchors.fill: parent
|
||||
text: catalog.i18nc("@button", "Slice")
|
||||
enabled: widget.backendState != UM.Backend.Error
|
||||
visible: widget.backendState == UM.Backend.NotStarted || widget.backendState == UM.Backend.Error
|
||||
onClicked: sliceOrStopSlicing()
|
||||
}
|
||||
|
||||
onClicked: sliceOrStopSlicing()
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
id: cancelButton
|
||||
fixedWidthMode: true
|
||||
anchors.fill: parent
|
||||
text: catalog.i18nc("@button", "Cancel")
|
||||
enabled: sliceButton.enabled
|
||||
visible: !sliceButton.visible
|
||||
onClicked: sliceOrStopSlicing()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// React when the user changes the preference of having the auto slice enabled
|
||||
Connections
|
||||
{
|
||||
|
@ -120,7 +135,7 @@ Column
|
|||
onPreferenceChanged:
|
||||
{
|
||||
var autoSlice = UM.Preferences.getValue("general/auto_slice")
|
||||
prepareButton.autoSlice = autoSlice
|
||||
prepareButtons.autoSlice = autoSlice
|
||||
}
|
||||
}
|
||||
|
||||
|
|
10
resources/qml/BorderGroup.qml
Normal file
|
@ -0,0 +1,10 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.0
|
||||
|
||||
QtObject
|
||||
{
|
||||
property real width: 0
|
||||
property color color: "black"
|
||||
}
|
|
@ -6,6 +6,7 @@ import QtQuick.Controls 1.4
|
|||
import QtQuick.Controls.Styles 1.4
|
||||
import QtQuick.Layouts 1.1
|
||||
import QtQuick.Dialogs 1.2
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import UM 1.3 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
@ -153,7 +154,31 @@ UM.MainWindow
|
|||
}
|
||||
visible: stageMenu.source != ""
|
||||
height: Math.round(UM.Theme.getSize("stage_menu").height / 2)
|
||||
color: UM.Theme.getColor("main_window_header_background")
|
||||
|
||||
LinearGradient
|
||||
{
|
||||
anchors.fill: parent
|
||||
start: Qt.point(0, 0)
|
||||
end: Qt.point(parent.width, 0)
|
||||
gradient: Gradient
|
||||
{
|
||||
GradientStop
|
||||
{
|
||||
position: 0.0
|
||||
color: UM.Theme.getColor("main_window_header_background")
|
||||
}
|
||||
GradientStop
|
||||
{
|
||||
position: 0.5
|
||||
color: UM.Theme.getColor("main_window_header_background_gradient")
|
||||
}
|
||||
GradientStop
|
||||
{
|
||||
position: 1.0
|
||||
color: UM.Theme.getColor("main_window_header_background")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Connections
|
||||
|
@ -187,7 +212,7 @@ UM.MainWindow
|
|||
verticalCenter: parent.verticalCenter
|
||||
left: parent.left
|
||||
}
|
||||
visible: CuraApplication.platformActivity
|
||||
visible: CuraApplication.platformActivity && !PrintInformation.preSliced
|
||||
}
|
||||
|
||||
ObjectsList
|
||||
|
|
|
@ -298,7 +298,6 @@ UM.Dialog
|
|||
id: machineName
|
||||
text: getMachineName()
|
||||
width: Math.floor(parent.width * 0.75)
|
||||
implicitWidth: UM.Theme.getSize("standard_list_input").width
|
||||
maximumLength: 40
|
||||
//validator: Cura.MachineNameValidator { } //TODO: Gives a segfault in PyQt5.6. For now, we must use a signal on text changed.
|
||||
validator: RegExpValidator
|
||||
|
|
|
@ -2,6 +2,9 @@ import QtQuick 2.7
|
|||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
import QtGraphicalEffects 1.0 // For the dropshadow
|
||||
|
||||
// The expandable component has 3 major sub components:
|
||||
// * The headerItem; Always visible and should hold some info about what happens if the component is expanded
|
||||
|
@ -10,6 +13,14 @@ import UM 1.2 as UM
|
|||
Item
|
||||
{
|
||||
id: base
|
||||
|
||||
// Enumeration with the different possible alignments of the popup with respect of the headerItem
|
||||
enum PopupAlignment
|
||||
{
|
||||
AlignLeft,
|
||||
AlignRight
|
||||
}
|
||||
|
||||
// The headerItem holds the QML item that is always displayed.
|
||||
property alias headerItem: headerItemLoader.sourceComponent
|
||||
|
||||
|
@ -21,6 +32,9 @@ Item
|
|||
property color headerBackgroundColor: UM.Theme.getColor("action_button")
|
||||
property color headerHoverColor: UM.Theme.getColor("action_button_hovered")
|
||||
|
||||
// Defines the alignment of the popup with respect of the headerItem, by default to the right
|
||||
property int popupAlignment: ExpandableComponent.PopupAlignment.AlignRight
|
||||
|
||||
// How much spacing is needed around the popupItem
|
||||
property alias popupPadding: popup.padding
|
||||
|
||||
|
@ -46,6 +60,12 @@ Item
|
|||
// On what side should the header corners be shown? 1 is down, 2 is left, 3 is up and 4 is right.
|
||||
property alias headerCornerSide: background.cornerSide
|
||||
|
||||
property alias headerShadowColor: shadow.color
|
||||
|
||||
property alias enableHeaderShadow: shadow.visible
|
||||
|
||||
property int shadowOffset: 2
|
||||
|
||||
function togglePopup()
|
||||
{
|
||||
if(popup.visible)
|
||||
|
@ -123,8 +143,8 @@ Item
|
|||
sourceSize.height: height
|
||||
visible: source != ""
|
||||
width: height
|
||||
height: 0.2 * base.height
|
||||
color: "black"
|
||||
height: Math.round(0.2 * base.height)
|
||||
color: UM.Theme.getColor("text")
|
||||
}
|
||||
|
||||
MouseArea
|
||||
|
@ -137,23 +157,40 @@ Item
|
|||
onExited: background.color = headerBackgroundColor
|
||||
}
|
||||
}
|
||||
DropShadow
|
||||
{
|
||||
id: shadow
|
||||
// Don't blur the shadow
|
||||
radius: 0
|
||||
anchors.fill: background
|
||||
source: background
|
||||
verticalOffset: base.shadowOffset
|
||||
visible: true
|
||||
color: UM.Theme.getColor("action_button_shadow")
|
||||
// Should always be drawn behind the background.
|
||||
z: background.z - 1
|
||||
}
|
||||
|
||||
Popup
|
||||
{
|
||||
id: popup
|
||||
|
||||
// Ensure that the popup is located directly below the headerItem
|
||||
y: headerItemLoader.height + 2 * background.padding
|
||||
y: headerItemLoader.height + 2 * background.padding + base.shadowOffset
|
||||
|
||||
// Make the popup right aligned with the rest. The 3x padding is due to left, right and padding between
|
||||
// the button & text.
|
||||
x: -width + collapseButton.width + headerItemLoader.width + 3 * background.padding
|
||||
// Make the popup aligned with the rest, using the property popupAlignment to decide whether is right or left.
|
||||
// In case of right alignment, the 3x padding is due to left, right and padding between the button & text.
|
||||
x: popupAlignment == ExpandableComponent.PopupAlignment.AlignRight ? -width + collapseButton.width + headerItemLoader.width + 3 * background.padding : 0
|
||||
padding: UM.Theme.getSize("default_margin").width
|
||||
closePolicy: Popup.CloseOnPressOutsideParent
|
||||
|
||||
background: Rectangle
|
||||
background: Cura.RoundedRectangle
|
||||
{
|
||||
cornerSide: Cura.RoundedRectangle.Direction.Down
|
||||
color: popupBackgroundColor
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: UM.Theme.getColor("lining")
|
||||
radius: UM.Theme.getSize("default_radius").width
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ import QtQuick.Controls 2.0
|
|||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Button
|
||||
Cura.ToolbarButton
|
||||
{
|
||||
id: base
|
||||
|
||||
|
@ -18,11 +18,9 @@ Button
|
|||
checked: Cura.ExtruderManager.selectedObjectExtruders.indexOf(extruder.id) != -1
|
||||
enabled: UM.Selection.hasSelection && extruder.stack.isEnabled
|
||||
|
||||
background: Item {}
|
||||
contentItem: ExtruderIcon
|
||||
toolItem: ExtruderIcon
|
||||
{
|
||||
width: UM.Theme.getSize("button_icon").width
|
||||
materialColor: model.color
|
||||
materialColor: extruder.color
|
||||
extruderEnabled: extruder.stack.isEnabled
|
||||
property int index: extruder.index
|
||||
}
|
||||
|
@ -30,6 +28,6 @@ Button
|
|||
onClicked:
|
||||
{
|
||||
forceActiveFocus() //First grab focus, so all the text fields are updated
|
||||
CuraActions.setExtruderForSelection(extruder.id);
|
||||
CuraActions.setExtruderForSelection(extruder.id)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ Item
|
|||
property color materialColor
|
||||
property alias textColor: extruderNumberText.color
|
||||
property bool extruderEnabled: true
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: mainIcon
|
||||
|
@ -50,8 +51,6 @@ Item
|
|||
anchors.centerIn: parent
|
||||
text: index + 1
|
||||
font: UM.Theme.getFont("extruder_icon")
|
||||
width: contentWidth
|
||||
height: contentHeight
|
||||
visible: extruderEnabled
|
||||
renderType: Text.NativeRendering
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
|
|
|
@ -16,32 +16,37 @@ Item
|
|||
property alias source: icon.source
|
||||
property alias color: label.color
|
||||
property alias font: label.font
|
||||
property alias iconSize: icon.width
|
||||
|
||||
height: childrenRect.height
|
||||
implicitHeight: icon.height
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: icon
|
||||
|
||||
anchors.left: parent.left
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
source: UM.Theme.getIcon("dot")
|
||||
source: ""
|
||||
width: UM.Theme.getSize("section_icon").width
|
||||
height: UM.Theme.getSize("section_icon").height
|
||||
height: width
|
||||
|
||||
sourceSize.width: width
|
||||
sourceSize.height: height
|
||||
|
||||
color: label.color
|
||||
visible: source != ""
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
id: label
|
||||
anchors.left: icon.right
|
||||
anchors.left: icon.visible ? icon.right : parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.leftMargin: UM.Theme.getSize("thin_margin").width
|
||||
anchors.verticalCenter: icon.verticalCenter
|
||||
text: "Empty label"
|
||||
elide: Text.ElideRight
|
||||
color: UM.Theme.getColor("text")
|
||||
font: UM.Theme.getFont("very_small")
|
||||
renderType: Text.NativeRendering
|
||||
|
|
|
@ -1,140 +0,0 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
import "Menus"
|
||||
|
||||
|
||||
Cura.ExpandableComponent
|
||||
{
|
||||
id: machineSelector
|
||||
|
||||
property bool isNetworkPrinter: Cura.MachineManager.activeMachineNetworkKey != ""
|
||||
|
||||
iconSource: expanded ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_left")
|
||||
|
||||
UM.I18nCatalog
|
||||
{
|
||||
id: catalog
|
||||
name: "cura"
|
||||
}
|
||||
|
||||
headerItem: Label
|
||||
{
|
||||
text: isNetworkPrinter ? Cura.MachineManager.activeMachineNetworkGroupName : Cura.MachineManager.activeMachineName
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
height: parent.height
|
||||
elide: Text.ElideRight
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
popupItem: Item
|
||||
{
|
||||
id: popup
|
||||
width: machineSelector.width - 2 * UM.Theme.getSize("default_margin").width
|
||||
height: 200
|
||||
|
||||
ScrollView
|
||||
{
|
||||
anchors.fill: parent
|
||||
contentHeight: column.implicitHeight
|
||||
contentWidth: column.implicitWidth
|
||||
clip: true
|
||||
ScrollBar.horizontal.policy: ScrollBar.AlwaysOff
|
||||
|
||||
Column
|
||||
{
|
||||
id: column
|
||||
anchors.fill: parent
|
||||
Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Networked Printers")
|
||||
visible: networkedPrintersModel.items.length > 0
|
||||
height: visible ? contentHeight + 2 * UM.Theme.getSize("default_margin").height : 0
|
||||
font: UM.Theme.getFont("medium_bold")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
Repeater
|
||||
{
|
||||
id: networkedPrinters
|
||||
|
||||
model: UM.ContainerStacksModel
|
||||
{
|
||||
id: networkedPrintersModel
|
||||
filter: {"type": "machine", "um_network_key": "*", "hidden": "False"}
|
||||
}
|
||||
|
||||
delegate: RoundButton
|
||||
{
|
||||
text: name
|
||||
width: parent.width
|
||||
|
||||
checkable: true
|
||||
radius: UM.Theme.getSize("default_radius").width
|
||||
onClicked:
|
||||
{
|
||||
togglePopup()
|
||||
Cura.MachineManager.setActiveMachine(model.id)
|
||||
}
|
||||
|
||||
Connections
|
||||
{
|
||||
target: Cura.MachineManager
|
||||
onActiveMachineNetworkGroupNameChanged: checked = Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"]
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Virtual Printers")
|
||||
visible: virtualPrintersModel.items.length > 0
|
||||
height: visible ? contentHeight + 2 * UM.Theme.getSize("default_margin").height : 0
|
||||
font: UM.Theme.getFont("medium_bold")
|
||||
color: UM.Theme.getColor("text")
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
Repeater
|
||||
{
|
||||
id: virtualPrinters
|
||||
|
||||
model: UM.ContainerStacksModel
|
||||
{
|
||||
id: virtualPrintersModel
|
||||
filter: {"type": "machine", "um_network_key": null}
|
||||
}
|
||||
|
||||
delegate: RoundButton
|
||||
{
|
||||
text: name
|
||||
width: parent.width
|
||||
checked: Cura.MachineManager.activeMachineId == model.id
|
||||
checkable: true
|
||||
|
||||
radius: UM.Theme.getSize("default_radius").width
|
||||
onClicked:
|
||||
{
|
||||
togglePopup()
|
||||
Cura.MachineManager.setActiveMachine(model.id)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,11 +2,13 @@
|
|||
// 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 UM 1.4 as UM
|
||||
import Cura 1.0 as Cura
|
||||
import QtGraphicalEffects 1.0
|
||||
|
||||
import "../Account"
|
||||
|
||||
|
@ -16,7 +18,31 @@ Rectangle
|
|||
|
||||
implicitHeight: UM.Theme.getSize("main_window_header").height
|
||||
implicitWidth: UM.Theme.getSize("main_window_header").width
|
||||
color: UM.Theme.getColor("main_window_header_background")
|
||||
|
||||
LinearGradient
|
||||
{
|
||||
anchors.fill: parent
|
||||
start: Qt.point(0, 0)
|
||||
end: Qt.point(parent.width, 0)
|
||||
gradient: Gradient
|
||||
{
|
||||
GradientStop
|
||||
{
|
||||
position: 0.0
|
||||
color: UM.Theme.getColor("main_window_header_background")
|
||||
}
|
||||
GradientStop
|
||||
{
|
||||
position: 0.5
|
||||
color: UM.Theme.getColor("main_window_header_background_gradient")
|
||||
}
|
||||
GradientStop
|
||||
{
|
||||
position: 1.0
|
||||
color: UM.Theme.getColor("main_window_header_background")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Image
|
||||
{
|
||||
|
@ -73,25 +99,39 @@ Rectangle
|
|||
}
|
||||
|
||||
// Shortcut button to quick access the Toolbox
|
||||
Cura.ActionButton
|
||||
Controls2.Button
|
||||
{
|
||||
id: marketplaceButton
|
||||
text: catalog.i18nc("@action:button", "Marketplace")
|
||||
height: Math.round(0.5 * UM.Theme.getSize("main_window_header").height)
|
||||
onClicked: Cura.Actions.browsePackages.trigger()
|
||||
|
||||
hoverEnabled: true
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
radius: UM.Theme.getSize("action_button_radius").width
|
||||
color: marketplaceButton.hovered ? UM.Theme.getColor("primary_text") : UM.Theme.getColor("main_window_header_background")
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: UM.Theme.getColor("primary_text")
|
||||
}
|
||||
|
||||
contentItem: Label
|
||||
{
|
||||
id: label
|
||||
text: marketplaceButton.text
|
||||
color: marketplaceButton.hovered ? UM.Theme.getColor("main_window_header_background") : UM.Theme.getColor("primary_text")
|
||||
width: contentWidth
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
anchors
|
||||
{
|
||||
right: accountWidget.left
|
||||
rightMargin: UM.Theme.getSize("default_margin").width
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
leftPadding: UM.Theme.getSize("default_margin").width
|
||||
rightPadding: UM.Theme.getSize("default_margin").width
|
||||
text: catalog.i18nc("@action:button", "Marketplace")
|
||||
height: Math.round(0.5 * UM.Theme.getSize("main_window_header").height)
|
||||
color: UM.Theme.getColor("main_window_header_secondary_button_background_active")
|
||||
hoverColor: UM.Theme.getColor("main_window_header_secondary_button_background_hovered")
|
||||
outlineColor: UM.Theme.getColor("main_window_header_secondary_button_outline_active")
|
||||
outlineHoverColor: UM.Theme.getColor("main_window_header_secondary_button_outline_hovered")
|
||||
textColor: UM.Theme.getColor("main_window_header_secondary_button_text_active")
|
||||
textHoverColor: UM.Theme.getColor("main_window_header_secondary_button_text_hovered")
|
||||
onClicked: Cura.Actions.browsePackages.trigger()
|
||||
}
|
||||
|
||||
AccountWidget
|
||||
|
|
|
@ -21,7 +21,7 @@ Column
|
|||
{
|
||||
// FIXME For now the model should be removed and then created again, otherwise changes in the printer don't automatically update the UI
|
||||
configurationList.model = []
|
||||
if(outputDevice)
|
||||
if (outputDevice)
|
||||
{
|
||||
configurationList.model = outputDevice.uniqueConfigurations
|
||||
}
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
// Copyright (c) 2017 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Item
|
||||
{
|
||||
property var status: "disconnected"
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: statusIcon
|
||||
width: UM.Theme.getSize("printer_status_icon").width
|
||||
height: UM.Theme.getSize("printer_status_icon").height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
color: UM.Theme.getColor("tab_status_" + parent.status)
|
||||
source: UM.Theme.getIcon(parent.status)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -17,18 +17,21 @@ Menu
|
|||
|
||||
MenuItem
|
||||
{
|
||||
text: (model.layer_height != "") ? model.name + " - " + model.layer_height + model.layer_height_unit : model.name
|
||||
text:
|
||||
{
|
||||
var full_text = (model.layer_height != "") ? model.name + " - " + model.layer_height + model.layer_height_unit : model.name
|
||||
full_text += model.is_experimental ? " - Experimental" : ""
|
||||
return full_text
|
||||
}
|
||||
checkable: true
|
||||
checked: Cura.MachineManager.activeQualityOrQualityChangesName == model.name
|
||||
exclusiveGroup: group
|
||||
onTriggered: {
|
||||
Cura.MachineManager.setQualityGroup(model.quality_group)
|
||||
}
|
||||
onTriggered: Cura.MachineManager.setQualityGroup(model.quality_group)
|
||||
visible: model.available
|
||||
}
|
||||
|
||||
onObjectAdded: menu.insertItem(index, object);
|
||||
onObjectRemoved: menu.removeItem(object);
|
||||
onObjectAdded: menu.insertItem(index, object)
|
||||
onObjectRemoved: menu.removeItem(object)
|
||||
}
|
||||
|
||||
MenuSeparator
|
||||
|
|
20
resources/qml/PrimaryButton.qml
Normal file
|
@ -0,0 +1,20 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
|
||||
import UM 1.4 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
|
||||
Cura.ActionButton
|
||||
{
|
||||
shadowEnabled: true
|
||||
shadowColor: enabled ? UM.Theme.getColor("primary_button_shadow"): UM.Theme.getColor("action_button_disabled_shadow")
|
||||
color: UM.Theme.getColor("primary_button")
|
||||
textColor: UM.Theme.getColor("primary_button_text")
|
||||
outlineColor: "transparent"
|
||||
disabledColor: UM.Theme.getColor("action_button_disabled")
|
||||
textDisabledColor: UM.Theme.getColor("action_button_disabled_text")
|
||||
hoverColor: UM.Theme.getColor("primary_button_hover")
|
||||
}
|
|
@ -54,12 +54,12 @@ Cura.ExpandableComponent
|
|||
IconWithText
|
||||
{
|
||||
source: UM.Theme.getIcon("category_layer_height")
|
||||
text: Cura.MachineManager.activeQualityOrQualityChangesName + " " + layerHeight.properties.value + "mm"
|
||||
text: Cura.MachineManager.activeStack ? Cura.MachineManager.activeQualityOrQualityChangesName + " " + layerHeight.properties.value + "mm" : ""
|
||||
|
||||
UM.SettingPropertyProvider
|
||||
{
|
||||
id: layerHeight
|
||||
containerStackId: Cura.MachineManager.activeStackId
|
||||
containerStack: Cura.MachineManager.activeStack
|
||||
key: "layer_height"
|
||||
watchedProperties: ["value"]
|
||||
}
|
||||
|
@ -68,12 +68,12 @@ Cura.ExpandableComponent
|
|||
IconWithText
|
||||
{
|
||||
source: UM.Theme.getIcon("category_infill")
|
||||
text: parseInt(infillDensity.properties.value) + "%"
|
||||
text: Cura.MachineManager.activeStack ? parseInt(infillDensity.properties.value) + "%" : "0%"
|
||||
|
||||
UM.SettingPropertyProvider
|
||||
{
|
||||
id: infillDensity
|
||||
containerStackId: Cura.MachineManager.activeStackId
|
||||
containerStack: Cura.MachineManager.activeStack
|
||||
key: "infill_sparse_density"
|
||||
watchedProperties: ["value"]
|
||||
}
|
||||
|
|
155
resources/qml/PrinterSelector/MachineSelector.qml
Normal file
|
@ -0,0 +1,155 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Cura.ExpandableComponent
|
||||
{
|
||||
id: machineSelector
|
||||
|
||||
property bool isNetworkPrinter: Cura.MachineManager.activeMachineNetworkKey != ""
|
||||
property bool isPrinterConnected: Cura.MachineManager.printerConnected
|
||||
property var outputDevice: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
|
||||
|
||||
popupPadding: UM.Theme.getSize("default_lining").width
|
||||
popupAlignment: Cura.ExpandableComponent.PopupAlignment.AlignLeft
|
||||
iconSource: expanded ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_left")
|
||||
|
||||
UM.I18nCatalog
|
||||
{
|
||||
id: catalog
|
||||
name: "cura"
|
||||
}
|
||||
|
||||
headerItem: Cura.IconLabel
|
||||
{
|
||||
text: isNetworkPrinter ? Cura.MachineManager.activeMachineNetworkGroupName : Cura.MachineManager.activeMachineName
|
||||
source:
|
||||
{
|
||||
if (isNetworkPrinter)
|
||||
{
|
||||
if (machineSelector.outputDevice != null && machineSelector.outputDevice.clusterSize > 1)
|
||||
{
|
||||
return UM.Theme.getIcon("printer_group")
|
||||
}
|
||||
return UM.Theme.getIcon("printer_single")
|
||||
}
|
||||
return ""
|
||||
}
|
||||
font: UM.Theme.getFont("medium")
|
||||
color: UM.Theme.getColor("text")
|
||||
iconSize: UM.Theme.getSize("machine_selector_icon").width
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: icon
|
||||
|
||||
anchors
|
||||
{
|
||||
bottom: parent.bottom
|
||||
left: parent.left
|
||||
leftMargin: UM.Theme.getSize("thick_margin").width
|
||||
}
|
||||
|
||||
source: UM.Theme.getIcon("printer_connected")
|
||||
width: UM.Theme.getSize("printer_status_icon").width
|
||||
height: UM.Theme.getSize("printer_status_icon").height
|
||||
|
||||
sourceSize.width: width
|
||||
sourceSize.height: height
|
||||
|
||||
color: UM.Theme.getColor("primary")
|
||||
visible: isNetworkPrinter && isPrinterConnected
|
||||
|
||||
// Make a themable circle in the background so we can change it in other themes
|
||||
Rectangle
|
||||
{
|
||||
id: iconBackground
|
||||
anchors.centerIn: parent
|
||||
// Make it a bit bigger so there is an outline
|
||||
width: parent.width + 2 * UM.Theme.getSize("default_lining").width
|
||||
height: parent.height + 2 * UM.Theme.getSize("default_lining").height
|
||||
radius: Math.round(width / 2)
|
||||
color: UM.Theme.getColor("main_background")
|
||||
z: parent.z - 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
popupItem: Item
|
||||
{
|
||||
id: popup
|
||||
width: UM.Theme.getSize("machine_selector_widget_content").width
|
||||
|
||||
ScrollView
|
||||
{
|
||||
id: scroll
|
||||
width: parent.width
|
||||
clip: true
|
||||
leftPadding: UM.Theme.getSize("default_lining").width
|
||||
rightPadding: UM.Theme.getSize("default_lining").width
|
||||
|
||||
MachineSelectorList
|
||||
{
|
||||
// Can't use parent.width since the parent is the flickable component and not the ScrollView
|
||||
width: scroll.width - scroll.leftPadding - scroll.rightPadding
|
||||
property real maximumHeight: UM.Theme.getSize("machine_selector_widget_content").height - buttonRow.height
|
||||
|
||||
onHeightChanged:
|
||||
{
|
||||
scroll.height = Math.min(height, maximumHeight)
|
||||
popup.height = scroll.height + buttonRow.height
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: separator
|
||||
|
||||
anchors.top: scroll.bottom
|
||||
width: parent.width
|
||||
height: UM.Theme.getSize("default_lining").height
|
||||
color: UM.Theme.getColor("lining")
|
||||
}
|
||||
|
||||
Row
|
||||
{
|
||||
id: buttonRow
|
||||
|
||||
// The separator is inside the buttonRow. This is to avoid some weird behaviours with the scroll bar.
|
||||
anchors.top: separator.top
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
padding: UM.Theme.getSize("default_margin").width
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
leftPadding: UM.Theme.getSize("default_margin").width
|
||||
rightPadding: UM.Theme.getSize("default_margin").width
|
||||
text: catalog.i18nc("@button", "Add printer")
|
||||
onClicked:
|
||||
{
|
||||
togglePopup()
|
||||
Cura.Actions.addMachine.trigger()
|
||||
}
|
||||
}
|
||||
|
||||
Cura.SecondaryButton
|
||||
{
|
||||
leftPadding: UM.Theme.getSize("default_margin").width
|
||||
rightPadding: UM.Theme.getSize("default_margin").width
|
||||
text: catalog.i18nc("@button", "Manage printers")
|
||||
onClicked:
|
||||
{
|
||||
togglePopup()
|
||||
Cura.Actions.configureMachines.trigger()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
103
resources/qml/PrinterSelector/MachineSelectorButton.qml
Normal file
|
@ -0,0 +1,103 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Button
|
||||
{
|
||||
id: machineSelectorButton
|
||||
|
||||
width: parent.width
|
||||
height: UM.Theme.getSize("action_button").height
|
||||
leftPadding: UM.Theme.getSize("thick_margin").width
|
||||
rightPadding: UM.Theme.getSize("thick_margin").width
|
||||
checkable: true
|
||||
hoverEnabled: true
|
||||
|
||||
property var outputDevice: null
|
||||
property var printerTypesList: []
|
||||
|
||||
function updatePrinterTypesList()
|
||||
{
|
||||
printerTypesList = (checked && (outputDevice != null)) ? outputDevice.uniquePrinterTypes : []
|
||||
}
|
||||
|
||||
contentItem: Item
|
||||
{
|
||||
width: machineSelectorButton.width - machineSelectorButton.leftPadding
|
||||
height: UM.Theme.getSize("action_button").height
|
||||
|
||||
Label
|
||||
{
|
||||
id: buttonText
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
right: printerTypes.left
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
text: machineSelectorButton.text
|
||||
color: UM.Theme.getColor("text")
|
||||
font: UM.Theme.getFont("action_button")
|
||||
visible: text != ""
|
||||
renderType: Text.NativeRendering
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
Row
|
||||
{
|
||||
id: printerTypes
|
||||
width: childrenRect.width
|
||||
|
||||
anchors
|
||||
{
|
||||
right: parent.right
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
spacing: UM.Theme.getSize("narrow_margin").width
|
||||
|
||||
Repeater
|
||||
{
|
||||
model: printerTypesList
|
||||
delegate: Cura.PrinterTypeLabel
|
||||
{
|
||||
text: Cura.MachineManager.getAbbreviatedMachineName(modelData)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
id: backgroundRect
|
||||
color: machineSelectorButton.hovered ? UM.Theme.getColor("action_button_hovered") : "transparent"
|
||||
radius: UM.Theme.getSize("action_button_radius").width
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: machineSelectorButton.checked ? UM.Theme.getColor("primary") : "transparent"
|
||||
}
|
||||
|
||||
onClicked:
|
||||
{
|
||||
togglePopup()
|
||||
Cura.MachineManager.setActiveMachine(model.id)
|
||||
}
|
||||
|
||||
Connections
|
||||
{
|
||||
target: outputDevice
|
||||
onUniqueConfigurationsChanged: updatePrinterTypesList()
|
||||
}
|
||||
|
||||
Connections
|
||||
{
|
||||
target: Cura.MachineManager
|
||||
onOutputDevicesChanged: updatePrinterTypesList()
|
||||
}
|
||||
|
||||
Component.onCompleted: updatePrinterTypesList()
|
||||
}
|
84
resources/qml/PrinterSelector/MachineSelectorList.qml
Normal file
|
@ -0,0 +1,84 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Column
|
||||
{
|
||||
id: machineSelectorList
|
||||
|
||||
Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Network connected printers")
|
||||
visible: networkedPrintersModel.items.length > 0
|
||||
leftPadding: UM.Theme.getSize("default_margin").width
|
||||
height: visible ? contentHeight + 2 * UM.Theme.getSize("default_margin").height : 0
|
||||
renderType: Text.NativeRendering
|
||||
font: UM.Theme.getFont("medium")
|
||||
color: UM.Theme.getColor("text_medium")
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
Repeater
|
||||
{
|
||||
id: networkedPrinters
|
||||
|
||||
model: UM.ContainerStacksModel
|
||||
{
|
||||
id: networkedPrintersModel
|
||||
filter:
|
||||
{
|
||||
"type": "machine", "um_network_key": "*", "hidden": "False"
|
||||
}
|
||||
}
|
||||
|
||||
delegate: MachineSelectorButton
|
||||
{
|
||||
text: model.metadata["connect_group_name"]
|
||||
checked: Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"]
|
||||
outputDevice: Cura.MachineManager.printerOutputDevices.length >= 1 ? Cura.MachineManager.printerOutputDevices[0] : null
|
||||
|
||||
Connections
|
||||
{
|
||||
target: Cura.MachineManager
|
||||
onActiveMachineNetworkGroupNameChanged: checked = Cura.MachineManager.activeMachineNetworkGroupName == model.metadata["connect_group_name"]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: catalog.i18nc("@label", "Preset printers")
|
||||
visible: virtualPrintersModel.items.length > 0
|
||||
leftPadding: UM.Theme.getSize("default_margin").width
|
||||
height: visible ? contentHeight + 2 * UM.Theme.getSize("default_margin").height : 0
|
||||
renderType: Text.NativeRendering
|
||||
font: UM.Theme.getFont("medium")
|
||||
color: UM.Theme.getColor("text_medium")
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
}
|
||||
|
||||
Repeater
|
||||
{
|
||||
id: virtualPrinters
|
||||
|
||||
model: UM.ContainerStacksModel
|
||||
{
|
||||
id: virtualPrintersModel
|
||||
filter:
|
||||
{
|
||||
"type": "machine", "um_network_key": null
|
||||
}
|
||||
}
|
||||
|
||||
delegate: MachineSelectorButton
|
||||
{
|
||||
text: model.name
|
||||
checked: Cura.MachineManager.activeMachineId == model.id
|
||||
}
|
||||
}
|
||||
}
|
34
resources/qml/PrinterSelector/PrinterTypeLabel.qml
Normal file
|
@ -0,0 +1,34 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
|
||||
// This component creates a label with the abbreviated name of a printer, with a rectangle surrounding the label.
|
||||
// It is created in a separated place in order to be reused whenever needed.
|
||||
Item
|
||||
{
|
||||
property alias text: printerTypeLabel.text
|
||||
|
||||
width: UM.Theme.getSize("printer_type_label").width
|
||||
height: UM.Theme.getSize("printer_type_label").height
|
||||
|
||||
Rectangle
|
||||
{
|
||||
anchors.fill: parent
|
||||
color: UM.Theme.getColor("printer_type_label_background")
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
id: printerTypeLabel
|
||||
text: "CFFFP" // As an abbreviated name of the Custom FFF Printer
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
renderType: Text.NativeRendering
|
||||
font: UM.Theme.getFont("very_small")
|
||||
color: UM.Theme.getColor("text")
|
||||
}
|
||||
}
|
|
@ -5,6 +5,7 @@ import UM 1.2 as UM
|
|||
// The rounded rectangle works mostly like a regular rectangle, but provides the option to have rounded corners on only one side of the rectangle.
|
||||
Item
|
||||
{
|
||||
id: roundedRectangle
|
||||
// As per the regular rectangle
|
||||
property color color: "transparent"
|
||||
|
||||
|
@ -15,6 +16,9 @@ Item
|
|||
// 1 is down, 2 is left, 3 is up and 4 is right.
|
||||
property int cornerSide: RoundedRectangle.Direction.None
|
||||
|
||||
// Simple object to ensure that border.width and border.color work
|
||||
property BorderGroup border: BorderGroup {}
|
||||
|
||||
enum Direction
|
||||
{
|
||||
None = 0,
|
||||
|
@ -31,6 +35,8 @@ Item
|
|||
anchors.fill: parent
|
||||
radius: cornerSide != RoundedRectangle.Direction.None ? parent.radius : 0
|
||||
color: parent.color
|
||||
border.width: parent.border.width
|
||||
border.color: parent.border.color
|
||||
}
|
||||
|
||||
// The item that covers 2 of the corners to make them not rounded.
|
||||
|
@ -45,5 +51,22 @@ Item
|
|||
right: cornerSide == RoundedRectangle.Direction.Left ? parent.right: undefined
|
||||
bottom: cornerSide == RoundedRectangle.Direction.Up ? parent.bottom: undefined
|
||||
}
|
||||
|
||||
border.width: parent.border.width
|
||||
border.color: parent.border.color
|
||||
|
||||
Rectangle
|
||||
{
|
||||
color: roundedRectangle.color
|
||||
height: cornerSide % 2 ? roundedRectangle.border.width: roundedRectangle.height - 2 * roundedRectangle.border.width
|
||||
width: cornerSide % 2 ? roundedRectangle.width - 2 * roundedRectangle.border.width: roundedRectangle.border.width
|
||||
anchors
|
||||
{
|
||||
right: cornerSide == RoundedRectangle.Direction.Right ? parent.right : undefined
|
||||
bottom: cornerSide == RoundedRectangle.Direction.Down ? parent.bottom: undefined
|
||||
horizontalCenter: cornerSide % 2 ? parent.horizontalCenter: undefined
|
||||
verticalCenter: cornerSide % 2 ? undefined: parent.verticalCenter
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,478 +0,0 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 1.1
|
||||
import QtQuick.Controls.Styles 1.1
|
||||
import QtQuick.Layouts 1.1
|
||||
|
||||
import UM 1.1 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
// This widget does so much more than "just" being a save button, so it should be refactored at some point in time.
|
||||
Item
|
||||
{
|
||||
id: base;
|
||||
UM.I18nCatalog { id: catalog; name: "cura"}
|
||||
|
||||
property real progress: UM.Backend.progress
|
||||
property int backendState: UM.Backend.state
|
||||
property bool activity: CuraApplication.platformActivity
|
||||
|
||||
property alias buttonRowWidth: saveRow.width
|
||||
|
||||
property string fileBaseName
|
||||
property string statusText:
|
||||
{
|
||||
if(!activity)
|
||||
{
|
||||
return catalog.i18nc("@label:PrintjobStatus", "Please load a 3D model");
|
||||
}
|
||||
|
||||
switch(base.backendState)
|
||||
{
|
||||
case 1:
|
||||
return catalog.i18nc("@label:PrintjobStatus", "Ready to slice");
|
||||
case 2:
|
||||
return catalog.i18nc("@label:PrintjobStatus", "Slicing...");
|
||||
case 3:
|
||||
return catalog.i18nc("@label:PrintjobStatus %1 is target operation", "Ready to %1").arg(UM.OutputDeviceManager.activeDeviceShortDescription);
|
||||
case 4:
|
||||
return catalog.i18nc("@label:PrintjobStatus", "Unable to Slice");
|
||||
case 5:
|
||||
return catalog.i18nc("@label:PrintjobStatus", "Slicing unavailable");
|
||||
default:
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
function sliceOrStopSlicing()
|
||||
{
|
||||
try
|
||||
{
|
||||
if ([1, 5].indexOf(base.backendState) != -1)
|
||||
{
|
||||
CuraApplication.backend.forceSlice();
|
||||
}
|
||||
else
|
||||
{
|
||||
CuraApplication.backend.stopSlicing();
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
console.log("Could not start or stop slicing.", e)
|
||||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
id: statusLabel
|
||||
width: parent.width - 2 * UM.Theme.getSize("thick_margin").width
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("thick_margin").width
|
||||
|
||||
color: UM.Theme.getColor("text")
|
||||
font: UM.Theme.getFont("default_bold")
|
||||
text: statusText;
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: progressBar
|
||||
width: parent.width - 2 * UM.Theme.getSize("thick_margin").width
|
||||
height: UM.Theme.getSize("progressbar").height
|
||||
anchors.top: statusLabel.bottom
|
||||
anchors.topMargin: Math.round(UM.Theme.getSize("thick_margin").height / 4)
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: UM.Theme.getSize("thick_margin").width
|
||||
radius: UM.Theme.getSize("progressbar_radius").width
|
||||
color: UM.Theme.getColor("progressbar_background")
|
||||
|
||||
Rectangle
|
||||
{
|
||||
width: Math.max(parent.width * base.progress)
|
||||
height: parent.height
|
||||
color: UM.Theme.getColor("progressbar_control")
|
||||
radius: UM.Theme.getSize("progressbar_radius").width
|
||||
visible: base.backendState == 2
|
||||
}
|
||||
}
|
||||
|
||||
// Shortcut for "save as/print/..."
|
||||
Action
|
||||
{
|
||||
shortcut: "Ctrl+P"
|
||||
onTriggered:
|
||||
{
|
||||
// only work when the button is enabled
|
||||
if (saveToButton.enabled)
|
||||
{
|
||||
saveToButton.clicked();
|
||||
}
|
||||
// prepare button
|
||||
if (prepareButton.enabled)
|
||||
{
|
||||
sliceOrStopSlicing();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
id: saveRow
|
||||
width: {
|
||||
// using childrenRect.width directly causes a binding loop, because setting the width affects the childrenRect
|
||||
var children_width = UM.Theme.getSize("default_margin").width;
|
||||
for (var index in children)
|
||||
{
|
||||
var child = children[index];
|
||||
if(child.visible)
|
||||
{
|
||||
children_width += child.width + child.anchors.rightMargin;
|
||||
}
|
||||
}
|
||||
return Math.min(children_width, base.width - UM.Theme.getSize("thick_margin").width);
|
||||
}
|
||||
height: saveToButton.height
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.bottomMargin: UM.Theme.getSize("thick_margin").height
|
||||
anchors.right: parent.right
|
||||
clip: true
|
||||
|
||||
Row
|
||||
{
|
||||
id: additionalComponentsRow
|
||||
anchors.top: parent.top
|
||||
anchors.right: saveToButton.visible ? saveToButton.left : (prepareButton.visible ? prepareButton.left : parent.right)
|
||||
anchors.rightMargin: UM.Theme.getSize("default_margin").width
|
||||
|
||||
spacing: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
|
||||
Component.onCompleted:
|
||||
{
|
||||
saveRow.addAdditionalComponents("saveButton")
|
||||
}
|
||||
|
||||
Connections
|
||||
{
|
||||
target: CuraApplication
|
||||
onAdditionalComponentsChanged: saveRow.addAdditionalComponents("saveButton")
|
||||
}
|
||||
|
||||
function addAdditionalComponents (areaId)
|
||||
{
|
||||
if(areaId == "saveButton")
|
||||
{
|
||||
for (var component in CuraApplication.additionalComponents["saveButton"])
|
||||
{
|
||||
CuraApplication.additionalComponents["saveButton"][component].parent = additionalComponentsRow
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Connections
|
||||
{
|
||||
target: UM.Preferences
|
||||
onPreferenceChanged:
|
||||
{
|
||||
var autoSlice = UM.Preferences.getValue("general/auto_slice");
|
||||
prepareButton.autoSlice = autoSlice;
|
||||
saveToButton.autoSlice = autoSlice;
|
||||
}
|
||||
}
|
||||
|
||||
// Prepare button, only shows if auto_slice is off
|
||||
Button
|
||||
{
|
||||
id: prepareButton
|
||||
|
||||
tooltip: [1, 5].indexOf(base.backendState) != -1 ? catalog.i18nc("@info:tooltip","Slice current printjob") : catalog.i18nc("@info:tooltip","Cancel slicing process")
|
||||
// 1 = not started, 2 = Processing
|
||||
enabled: ([1, 2].indexOf(base.backendState) != -1) && base.activity
|
||||
visible: !autoSlice && ([1, 2, 4].indexOf(base.backendState) != -1) && base.activity
|
||||
property bool autoSlice
|
||||
height: UM.Theme.getSize("save_button_save_to_button").height
|
||||
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: UM.Theme.getSize("thick_margin").width
|
||||
|
||||
// 1 = not started, 4 = error, 5 = disabled
|
||||
text: [1, 4, 5].indexOf(base.backendState) != -1 ? catalog.i18nc("@label:Printjob", "Prepare") : catalog.i18nc("@label:Printjob", "Cancel")
|
||||
onClicked:
|
||||
{
|
||||
sliceOrStopSlicing();
|
||||
}
|
||||
|
||||
style: ButtonStyle
|
||||
{
|
||||
background: Rectangle
|
||||
{
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_disabled_border");
|
||||
}
|
||||
else if(control.pressed)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_active_border");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_hovered_border");
|
||||
}
|
||||
else
|
||||
{
|
||||
return UM.Theme.getColor("action_button_border");
|
||||
}
|
||||
}
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_disabled");
|
||||
}
|
||||
else if(control.pressed)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_active");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_hovered");
|
||||
}
|
||||
else
|
||||
{
|
||||
return UM.Theme.getColor("action_button");
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
|
||||
implicitWidth: actualLabel.contentWidth + (UM.Theme.getSize("thick_margin").width * 2)
|
||||
|
||||
Label
|
||||
{
|
||||
id: actualLabel
|
||||
anchors.centerIn: parent
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_disabled_text");
|
||||
}
|
||||
else if(control.pressed)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_active_text");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_hovered_text");
|
||||
}
|
||||
else
|
||||
{
|
||||
return UM.Theme.getColor("action_button_text");
|
||||
}
|
||||
}
|
||||
font: UM.Theme.getFont("action_button")
|
||||
text: control.text;
|
||||
}
|
||||
}
|
||||
label: Item {}
|
||||
}
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
id: saveToButton
|
||||
|
||||
tooltip: UM.OutputDeviceManager.activeDeviceDescription;
|
||||
// 3 = done, 5 = disabled
|
||||
enabled: base.backendState != "undefined" && (base.backendState == 3 || base.backendState == 5) && base.activity == true
|
||||
visible: base.backendState != "undefined" && autoSlice || ((base.backendState == 3 || base.backendState == 5) && base.activity == true)
|
||||
property bool autoSlice
|
||||
height: UM.Theme.getSize("save_button_save_to_button").height
|
||||
|
||||
anchors.top: parent.top
|
||||
anchors.right: deviceSelectionMenu.visible ? deviceSelectionMenu.left : parent.right
|
||||
anchors.rightMargin: deviceSelectionMenu.visible ? -3 * UM.Theme.getSize("default_lining").width : UM.Theme.getSize("thick_margin").width
|
||||
|
||||
text: UM.OutputDeviceManager.activeDeviceShortDescription
|
||||
onClicked:
|
||||
{
|
||||
forceActiveFocus();
|
||||
UM.OutputDeviceManager.requestWriteToDevice(UM.OutputDeviceManager.activeDevice, PrintInformation.jobName,
|
||||
{ "filter_by_machine": true, "preferred_mimetypes": Cura.MachineManager.activeMachine.preferred_output_file_formats });
|
||||
}
|
||||
|
||||
style: ButtonStyle
|
||||
{
|
||||
background: Rectangle
|
||||
{
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_disabled_border");
|
||||
}
|
||||
else if(control.pressed)
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready_pressed_border");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready_hovered_border");
|
||||
}
|
||||
else
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready_border");
|
||||
}
|
||||
}
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_disabled");
|
||||
}
|
||||
else if(control.pressed)
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready_pressed");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready_hovered");
|
||||
}
|
||||
else
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready");
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
|
||||
implicitWidth: actualLabel.contentWidth + (UM.Theme.getSize("thick_margin").width * 2)
|
||||
|
||||
Label
|
||||
{
|
||||
id: actualLabel
|
||||
anchors.centerIn: parent
|
||||
color: control.enabled ? UM.Theme.getColor("print_button_ready_text") : UM.Theme.getColor("action_button_disabled_text")
|
||||
font: UM.Theme.getFont("action_button")
|
||||
text: control.text
|
||||
}
|
||||
}
|
||||
label: Item { }
|
||||
}
|
||||
}
|
||||
|
||||
Button
|
||||
{
|
||||
id: deviceSelectionMenu
|
||||
tooltip: catalog.i18nc("@info:tooltip","Select the active output device");
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
|
||||
anchors.rightMargin: UM.Theme.getSize("thick_margin").width
|
||||
width: UM.Theme.getSize("save_button_save_to_button").height
|
||||
height: UM.Theme.getSize("save_button_save_to_button").height
|
||||
|
||||
// 3 = Done, 5 = Disabled
|
||||
enabled: (base.backendState == 3 || base.backendState == 5) && base.activity == true
|
||||
visible: (devicesModel.deviceCount > 1) && (base.backendState == 3 || base.backendState == 5) && base.activity == true
|
||||
|
||||
|
||||
style: ButtonStyle
|
||||
{
|
||||
background: Rectangle
|
||||
{
|
||||
id: deviceSelectionIcon
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_disabled_border")
|
||||
}
|
||||
else if(control.pressed)
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready_pressed_border")
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready_hovered_border")
|
||||
}
|
||||
else
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready_border")
|
||||
}
|
||||
}
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("action_button_disabled")
|
||||
}
|
||||
else if(control.pressed)
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready_pressed")
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready_hovered")
|
||||
}
|
||||
else
|
||||
{
|
||||
return UM.Theme.getColor("print_button_ready")
|
||||
}
|
||||
}
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Math.round(UM.Theme.getSize("save_button_text_margin").width / 2);
|
||||
width: parent.height
|
||||
height: parent.height
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
width: UM.Theme.getSize("standard_arrow").width
|
||||
height: UM.Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: height
|
||||
color: control.enabled ? UM.Theme.getColor("print_button_ready_text") : UM.Theme.getColor("action_button_disabled_text")
|
||||
source: UM.Theme.getIcon("arrow_bottom")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
menu: Menu
|
||||
{
|
||||
id: devicesMenu;
|
||||
Instantiator
|
||||
{
|
||||
model: devicesModel;
|
||||
MenuItem
|
||||
{
|
||||
text: model.description
|
||||
checkable: true;
|
||||
checked: model.id == UM.OutputDeviceManager.activeDevice
|
||||
exclusiveGroup: devicesMenuGroup
|
||||
onTriggered:
|
||||
{
|
||||
UM.OutputDeviceManager.setActiveDevice(model.id);
|
||||
}
|
||||
}
|
||||
onObjectAdded: devicesMenu.insertItem(index, object)
|
||||
onObjectRemoved: devicesMenu.removeItem(object)
|
||||
}
|
||||
ExclusiveGroup { id: devicesMenuGroup }
|
||||
}
|
||||
}
|
||||
UM.OutputDevicesModel { id: devicesModel }
|
||||
}
|
||||
}
|
20
resources/qml/SecondaryButton.qml
Normal file
|
@ -0,0 +1,20 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
|
||||
import UM 1.4 as UM
|
||||
import Cura 1.1 as Cura
|
||||
|
||||
|
||||
Cura.ActionButton
|
||||
{
|
||||
shadowEnabled: true
|
||||
shadowColor: enabled ? UM.Theme.getColor("secondary_button_shadow"): UM.Theme.getColor("action_button_disabled_shadow")
|
||||
color: UM.Theme.getColor("secondary_button")
|
||||
textColor: UM.Theme.getColor("secondary_button_text")
|
||||
outlineColor: "transparent"
|
||||
disabledColor: UM.Theme.getColor("action_button_disabled")
|
||||
textDisabledColor: UM.Theme.getColor("action_button_disabled_text")
|
||||
hoverColor: UM.Theme.getColor("secondary_button_hover")
|
||||
}
|
|
@ -14,23 +14,32 @@ Button
|
|||
anchors.right: parent.right
|
||||
anchors.leftMargin: UM.Theme.getSize("thick_margin").width
|
||||
anchors.rightMargin: UM.Theme.getSize("thick_margin").width
|
||||
hoverEnabled: true
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
id: backgroundRectangle
|
||||
implicitHeight: UM.Theme.getSize("section").height
|
||||
color: {
|
||||
if (base.color) {
|
||||
return base.color;
|
||||
} else if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled");
|
||||
} else if (base.hovered && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active");
|
||||
} else if (base.hovered) {
|
||||
return UM.Theme.getColor("setting_category_hover");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category");
|
||||
color:
|
||||
{
|
||||
if (base.color)
|
||||
{
|
||||
return base.color
|
||||
} else if (!base.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_disabled")
|
||||
} else if (base.hovered && base.checkable && base.checked)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_active_hover")
|
||||
} else if (base.pressed || (base.checkable && base.checked))
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_active")
|
||||
} else if (base.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_hover")
|
||||
} else
|
||||
{
|
||||
return UM.Theme.getColor("setting_category")
|
||||
}
|
||||
}
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
|
@ -40,17 +49,23 @@ Button
|
|||
height: UM.Theme.getSize("default_lining").height
|
||||
width: parent.width
|
||||
anchors.bottom: parent.bottom
|
||||
color: {
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_border");
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_border");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_border");
|
||||
} else if (base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_border");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_border");
|
||||
color:
|
||||
{
|
||||
if (!base.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_disabled_border")
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_active_hover_border")
|
||||
} else if (base.pressed || (base.checkable && base.checked))
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_active_border")
|
||||
} else if (base.hovered || base.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_hover_border")
|
||||
} else
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_border")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -65,18 +80,19 @@ Button
|
|||
|
||||
property var focusItem: base
|
||||
|
||||
contentItem: Item {
|
||||
contentItem: Item
|
||||
{
|
||||
anchors.fill: parent
|
||||
anchors.left: parent.left
|
||||
|
||||
Label {
|
||||
Label
|
||||
{
|
||||
id: settingNameLabel
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
leftMargin: 2 * UM.Theme.getSize("default_margin").width + UM.Theme.getSize("section_icon").width
|
||||
right: parent.right;
|
||||
verticalCenter: parent.verticalCenter;
|
||||
right: parent.right
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
text: definition.label
|
||||
textFormat: Text.PlainText
|
||||
|
@ -84,21 +100,27 @@ Button
|
|||
font: UM.Theme.getFont("setting_category")
|
||||
color:
|
||||
{
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_text");
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_text");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_text");
|
||||
} else if (base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_text");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_text");
|
||||
if (!base.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_disabled_text")
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_active_hover_text")
|
||||
} else if (base.pressed || (base.checkable && base.checked))
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_active_text")
|
||||
} else if (base.hovered || base.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_hover_text")
|
||||
} else
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_text")
|
||||
}
|
||||
}
|
||||
fontSizeMode: Text.HorizontalFit
|
||||
minimumPointSize: 8
|
||||
}
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: category_arrow
|
||||
|
@ -111,16 +133,21 @@ Button
|
|||
sourceSize.height: width
|
||||
color:
|
||||
{
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_text");
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_text");
|
||||
} else if (base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_text");
|
||||
} else if (base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_text");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_text");
|
||||
if (!base.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_disabled_text")
|
||||
} else if ((base.hovered || base.activeFocus) && base.checkable && base.checked)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_active_hover_text")
|
||||
} else if (base.pressed || (base.checkable && base.checked))
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_active_text")
|
||||
} else if (base.hovered || base.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_hover_text")
|
||||
} else
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_text")
|
||||
}
|
||||
}
|
||||
source: base.checked ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_left")
|
||||
|
@ -135,21 +162,26 @@ Button
|
|||
anchors.leftMargin: UM.Theme.getSize("default_margin").width
|
||||
color:
|
||||
{
|
||||
if (!base.enabled) {
|
||||
return UM.Theme.getColor("setting_category_disabled_text");
|
||||
} else if((base.hovered || base.activeFocus) && base.checkable && base.checked) {
|
||||
return UM.Theme.getColor("setting_category_active_hover_text");
|
||||
} else if(base.pressed || (base.checkable && base.checked)) {
|
||||
return UM.Theme.getColor("setting_category_active_text");
|
||||
} else if(base.hovered || base.activeFocus) {
|
||||
return UM.Theme.getColor("setting_category_hover_text");
|
||||
} else {
|
||||
return UM.Theme.getColor("setting_category_text");
|
||||
if (!base.enabled)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_disabled_text")
|
||||
} else if((base.hovered || base.activeFocus) && base.checkable && base.checked)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_active_hover_text")
|
||||
} else if(base.pressed || (base.checkable && base.checked))
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_active_text")
|
||||
} else if(base.hovered || base.activeFocus)
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_hover_text")
|
||||
} else
|
||||
{
|
||||
return UM.Theme.getColor("setting_category_text")
|
||||
}
|
||||
}
|
||||
source: UM.Theme.getIcon(definition.icon)
|
||||
width: UM.Theme.getSize("section_icon").width;
|
||||
height: UM.Theme.getSize("section_icon").height;
|
||||
width: UM.Theme.getSize("section_icon").width
|
||||
height: UM.Theme.getSize("section_icon").height
|
||||
sourceSize.width: width + 15 * screenScaleFactor
|
||||
sourceSize.height: width + 15 * screenScaleFactor
|
||||
}
|
||||
|
@ -159,31 +191,26 @@ Button
|
|||
|
||||
onClicked:
|
||||
{
|
||||
if (definition.expanded) {
|
||||
settingDefinitionsModel.collapse(definition.key);
|
||||
if (definition.expanded)
|
||||
{
|
||||
settingDefinitionsModel.collapse(definition.key)
|
||||
} else {
|
||||
settingDefinitionsModel.expandRecursive(definition.key);
|
||||
settingDefinitionsModel.expandRecursive(definition.key)
|
||||
}
|
||||
//Set focus so that tab navigation continues from this point on.
|
||||
//NB: This must be set AFTER collapsing/expanding the category so that the scroll position is correct.
|
||||
forceActiveFocus();
|
||||
forceActiveFocus()
|
||||
}
|
||||
onActiveFocusChanged:
|
||||
{
|
||||
if(activeFocus)
|
||||
{
|
||||
base.focusReceived();
|
||||
base.focusReceived()
|
||||
}
|
||||
}
|
||||
|
||||
Keys.onTabPressed:
|
||||
{
|
||||
base.setActiveFocusToNextSetting(true)
|
||||
}
|
||||
Keys.onBacktabPressed:
|
||||
{
|
||||
base.setActiveFocusToNextSetting(false)
|
||||
}
|
||||
Keys.onTabPressed: base.setActiveFocusToNextSetting(true)
|
||||
Keys.onBacktabPressed: base.setActiveFocusToNextSetting(false)
|
||||
|
||||
UM.SimpleButton
|
||||
{
|
||||
|
@ -193,9 +220,10 @@ Button
|
|||
height: Math.round(base.height * 0.6)
|
||||
width: Math.round(base.height * 0.6)
|
||||
|
||||
anchors {
|
||||
anchors
|
||||
{
|
||||
right: inheritButton.visible ? inheritButton.left : parent.right
|
||||
// use 1.9 as the factor because there is a 0.1 difference between the settings and inheritance warning icons
|
||||
// Use 1.9 as the factor because there is a 0.1 difference between the settings and inheritance warning icons
|
||||
rightMargin: inheritButton.visible ? Math.round(UM.Theme.getSize("default_margin").width / 2) : category_arrow.width + Math.round(UM.Theme.getSize("default_margin").width * 1.9)
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
|
@ -204,9 +232,7 @@ Button
|
|||
hoverColor: UM.Theme.getColor("setting_control_button_hover")
|
||||
iconSource: UM.Theme.getIcon("settings")
|
||||
|
||||
onClicked: {
|
||||
Cura.Actions.configureSettingVisibility.trigger(definition)
|
||||
}
|
||||
onClicked: Cura.Actions.configureSettingVisibility.trigger(definition)
|
||||
}
|
||||
|
||||
UM.SimpleButton
|
||||
|
@ -239,24 +265,18 @@ Button
|
|||
|
||||
onClicked:
|
||||
{
|
||||
settingDefinitionsModel.expandRecursive(definition.key);
|
||||
base.checked = true;
|
||||
base.showAllHiddenInheritedSettings(definition.key);
|
||||
settingDefinitionsModel.expandRecursive(definition.key)
|
||||
base.checked = true
|
||||
base.showAllHiddenInheritedSettings(definition.key)
|
||||
}
|
||||
|
||||
color: UM.Theme.getColor("setting_control_button")
|
||||
hoverColor: UM.Theme.getColor("setting_control_button_hover")
|
||||
iconSource: UM.Theme.getIcon("notice")
|
||||
|
||||
onEntered:
|
||||
{
|
||||
base.showTooltip(catalog.i18nc("@label","Some hidden settings use values different from their normal calculated value.\n\nClick to make these settings visible."))
|
||||
}
|
||||
onEntered: base.showTooltip(catalog.i18nc("@label","Some hidden settings use values different from their normal calculated value.\n\nClick to make these settings visible."))
|
||||
|
||||
onExited:
|
||||
{
|
||||
base.hideTooltip();
|
||||
}
|
||||
onExited: base.hideTooltip()
|
||||
|
||||
UM.I18nCatalog { id: catalog; name: "cura" }
|
||||
}
|
||||
|
|
|
@ -62,11 +62,18 @@ Item
|
|||
activeFocusOnPress: true
|
||||
menu: ProfileMenu { }
|
||||
|
||||
function generateActiveQualityText () {
|
||||
var result = Cura.MachineManager.activeQualityOrQualityChangesName;
|
||||
function generateActiveQualityText ()
|
||||
{
|
||||
var result = Cura.MachineManager.activeQualityOrQualityChangesName
|
||||
if (Cura.MachineManager.isActiveQualityExperimental)
|
||||
{
|
||||
result += " (Experimental)"
|
||||
}
|
||||
|
||||
if (Cura.MachineManager.isActiveQualitySupported) {
|
||||
if (Cura.MachineManager.activeQualityLayerHeight > 0) {
|
||||
if (Cura.MachineManager.isActiveQualitySupported)
|
||||
{
|
||||
if (Cura.MachineManager.activeQualityLayerHeight > 0)
|
||||
{
|
||||
result += " <font color=\"" + UM.Theme.getColor("text_detail") + "\">"
|
||||
result += " - "
|
||||
result += Cura.MachineManager.activeQualityLayerHeight + "mm"
|
||||
|
|
|
@ -2,9 +2,7 @@
|
|||
// 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.Layouts 1.1
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
@ -55,17 +53,24 @@ Item
|
|||
model: UM.ToolModel { id: toolsModel }
|
||||
width: childrenRect.width
|
||||
height: childrenRect.height
|
||||
Button
|
||||
|
||||
delegate: ToolbarButton
|
||||
{
|
||||
text: model.name + (model.shortcut ? (" (" + model.shortcut + ")") : "")
|
||||
iconSource: (UM.Theme.getIcon(model.icon) != "") ? UM.Theme.getIcon(model.icon) : "file:///" + model.location + "/" + model.icon
|
||||
checkable: true
|
||||
checked: model.active
|
||||
enabled: model.enabled && UM.Selection.hasSelection && UM.Controller.toolsEnabled
|
||||
style: UM.Theme.styles.toolbar_button
|
||||
|
||||
property bool isFirstElement: toolsModel.getItem(0).id == model.id
|
||||
property bool isLastElement: toolsModel.getItem(toolsModel.rowCount() - 1).id == model.id
|
||||
isTopElement: toolsModel.getItem(0).id == model.id
|
||||
isBottomElement: toolsModel.getItem(toolsModel.rowCount() - 1).id == model.id
|
||||
|
||||
toolItem: UM.RecolorImage
|
||||
{
|
||||
source: UM.Theme.getIcon(model.icon) != "" ? UM.Theme.getIcon(model.icon) : "file:///" + model.location + "/" + model.icon
|
||||
color: UM.Theme.getColor("toolbar_button_text")
|
||||
|
||||
sourceSize: UM.Theme.getSize("button_icon")
|
||||
}
|
||||
|
||||
onCheckedChanged:
|
||||
{
|
||||
|
@ -128,11 +133,12 @@ Item
|
|||
height: childrenRect.height
|
||||
property var _model: Cura.ExtrudersModel { id: extrudersModel }
|
||||
model: _model.items.length > 1 ? _model : 0
|
||||
ExtruderButton
|
||||
|
||||
delegate: ExtruderButton
|
||||
{
|
||||
extruder: model
|
||||
height: UM.Theme.getSize("button").width
|
||||
width: UM.Theme.getSize("button").width
|
||||
isTopElement: extrudersModel.getItem(0).id == model.id
|
||||
isBottomElement: extrudersModel.getItem(extrudersModel.rowCount() - 1).id == model.id
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
99
resources/qml/ToolbarButton.qml
Normal file
|
@ -0,0 +1,99 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Button
|
||||
{
|
||||
id: base
|
||||
|
||||
property alias toolItem: contentItemLoader.sourceComponent
|
||||
|
||||
// These two properties indicate whether the toolbar button is at the top of the toolbar column or at the bottom.
|
||||
// If it is somewhere in the middle, then both has to be false. If there is only one element in the column, then
|
||||
// both properties have to be set to true. This is used to create a rounded corner.
|
||||
property bool isTopElement: false
|
||||
property bool isBottomElement: false
|
||||
|
||||
hoverEnabled: true
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
implicitWidth: UM.Theme.getSize("button").width
|
||||
implicitHeight: UM.Theme.getSize("button").height
|
||||
color:
|
||||
{
|
||||
if (base.checked && base.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("toolbar_button_active_hover")
|
||||
}
|
||||
else if (base.checked)
|
||||
{
|
||||
return UM.Theme.getColor("toolbar_button_active")
|
||||
}
|
||||
else if(base.hovered)
|
||||
{
|
||||
return UM.Theme.getColor("toolbar_button_hover")
|
||||
}
|
||||
return UM.Theme.getColor("toolbar_background")
|
||||
}
|
||||
radius: UM.Theme.getSize("default_radius").width
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: topSquare
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
top: parent.top
|
||||
}
|
||||
height: parent.radius
|
||||
color: parent.color
|
||||
visible: !base.isTopElement
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: bottomSquare
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
}
|
||||
height: parent.radius
|
||||
color: parent.color
|
||||
visible: !base.isBottomElement
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: leftSquare
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
}
|
||||
width: parent.radius
|
||||
color: parent.color
|
||||
}
|
||||
}
|
||||
|
||||
contentItem: Item
|
||||
{
|
||||
opacity: parent.enabled ? 1.0 : 0.2
|
||||
Loader
|
||||
{
|
||||
id: contentItemLoader
|
||||
anchors.centerIn: parent
|
||||
width: UM.Theme.getSize("button_icon").width
|
||||
height: UM.Theme.getSize("button_icon").height
|
||||
}
|
||||
}
|
||||
}
|
16
resources/qml/ViewOrientationButton.qml
Normal file
|
@ -0,0 +1,16 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.2
|
||||
|
||||
import UM 1.4 as UM
|
||||
|
||||
UM.SimpleButton
|
||||
{
|
||||
width: UM.Theme.getSize("small_button").width
|
||||
height: UM.Theme.getSize("small_button").height
|
||||
hoverBackgroundColor: UM.Theme.getColor("small_button_hover")
|
||||
hoverColor: UM.Theme.getColor("small_button_text_hover")
|
||||
color: UM.Theme.getColor("small_button_text")
|
||||
iconMargin: 0.5 * UM.Theme.getSize("wide_lining").width
|
||||
}
|
|
@ -7,7 +7,7 @@ import QtQuick.Controls.Styles 1.1
|
|||
|
||||
import UM 1.4 as UM
|
||||
|
||||
// View orientation Item
|
||||
// A row of buttons that control the view direction
|
||||
Row
|
||||
{
|
||||
id: viewOrientationControl
|
||||
|
@ -16,43 +16,33 @@ Row
|
|||
height: childrenRect.height
|
||||
width: childrenRect.width
|
||||
|
||||
// #1 3d view
|
||||
Button
|
||||
ViewOrientationButton
|
||||
{
|
||||
iconSource: UM.Theme.getIcon("view_3d")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
onClicked:UM.Controller.rotateView("3d", 0)
|
||||
onClicked: UM.Controller.rotateView("3d", 0)
|
||||
}
|
||||
|
||||
// #2 Front view
|
||||
Button
|
||||
ViewOrientationButton
|
||||
{
|
||||
iconSource: UM.Theme.getIcon("view_front")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
onClicked: UM.Controller.rotateView("home", 0)
|
||||
}
|
||||
|
||||
// #3 Top view
|
||||
Button
|
||||
ViewOrientationButton
|
||||
{
|
||||
iconSource: UM.Theme.getIcon("view_top")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
onClicked: UM.Controller.rotateView("y", 90)
|
||||
}
|
||||
|
||||
// #4 Left view
|
||||
Button
|
||||
ViewOrientationButton
|
||||
{
|
||||
iconSource: UM.Theme.getIcon("view_left")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
onClicked: UM.Controller.rotateView("x", 90)
|
||||
}
|
||||
|
||||
// #5 Right view
|
||||
Button
|
||||
ViewOrientationButton
|
||||
{
|
||||
iconSource: UM.Theme.getIcon("view_right")
|
||||
style: UM.Theme.styles.small_tool_button
|
||||
onClicked: UM.Controller.rotateView("x", -90)
|
||||
}
|
||||
}
|
||||
|
|
129
resources/qml/ViewsSelector.qml
Normal file
|
@ -0,0 +1,129 @@
|
|||
// Copyright (c) 2018 Ultimaker B.V.
|
||||
// Cura is released under the terms of the LGPLv3 or higher.
|
||||
|
||||
import QtQuick 2.7
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
import UM 1.2 as UM
|
||||
import Cura 1.0 as Cura
|
||||
|
||||
Cura.ExpandableComponent
|
||||
{
|
||||
id: viewSelector
|
||||
|
||||
popupPadding: UM.Theme.getSize("default_lining").width
|
||||
popupAlignment: Cura.ExpandableComponent.PopupAlignment.AlignLeft
|
||||
iconSource: expanded ? UM.Theme.getIcon("arrow_bottom") : UM.Theme.getIcon("arrow_left")
|
||||
|
||||
property var viewModel: UM.ViewModel { }
|
||||
|
||||
property var activeView:
|
||||
{
|
||||
for (var i = 0; i < viewModel.rowCount(); i++)
|
||||
{
|
||||
if (viewModel.items[i].active)
|
||||
{
|
||||
return viewModel.items[i]
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
Component.onCompleted:
|
||||
{
|
||||
// Nothing was active, so just return the first one (the list is sorted by priority, so the most
|
||||
// important one should be returned)
|
||||
if (activeView == null)
|
||||
{
|
||||
UM.Controller.setActiveView(viewModel.getItem(0).id)
|
||||
}
|
||||
}
|
||||
|
||||
headerItem: Item
|
||||
{
|
||||
Label
|
||||
{
|
||||
id: title
|
||||
text: catalog.i18nc("@button", "View types")
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
height: parent.height
|
||||
elide: Text.ElideRight
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text_medium")
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: viewSelector.activeView ? viewSelector.activeView.name : ""
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
anchors
|
||||
{
|
||||
left: title.right
|
||||
leftMargin: UM.Theme.getSize("default_margin").width
|
||||
}
|
||||
height: parent.height
|
||||
elide: Text.ElideRight
|
||||
font: UM.Theme.getFont("default")
|
||||
color: UM.Theme.getColor("text")
|
||||
renderType: Text.NativeRendering
|
||||
}
|
||||
}
|
||||
|
||||
popupItem: Column
|
||||
{
|
||||
id: viewSelectorPopup
|
||||
width: viewSelector.width - 2 * viewSelector.popupPadding
|
||||
|
||||
// For some reason the height/width of the column gets set to 0 if this is not set...
|
||||
Component.onCompleted:
|
||||
{
|
||||
height = implicitHeight
|
||||
width = viewSelector.width - 2 * viewSelector.popupPadding
|
||||
}
|
||||
|
||||
Repeater
|
||||
{
|
||||
id: viewsList
|
||||
model: viewSelector.viewModel
|
||||
|
||||
delegate: Button
|
||||
{
|
||||
id: viewsSelectorButton
|
||||
text: model.name
|
||||
width: parent.width
|
||||
height: UM.Theme.getSize("action_button").height
|
||||
leftPadding: UM.Theme.getSize("default_margin").width
|
||||
rightPadding: UM.Theme.getSize("default_margin").width
|
||||
checkable: true
|
||||
checked: viewSelector.activeView != null ? viewSelector.activeView.id == id : false
|
||||
|
||||
contentItem: Label
|
||||
{
|
||||
id: buttonText
|
||||
text: viewsSelectorButton.text
|
||||
color: UM.Theme.getColor("text")
|
||||
font: UM.Theme.getFont("action_button")
|
||||
renderType: Text.NativeRendering
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
background: Rectangle
|
||||
{
|
||||
id: backgroundRect
|
||||
color: viewsSelectorButton.hovered ? UM.Theme.getColor("action_button_hovered") : "transparent"
|
||||
radius: UM.Theme.getSize("action_button_radius").width
|
||||
border.width: UM.Theme.getSize("default_lining").width
|
||||
border.color: viewsSelectorButton.checked ? UM.Theme.getColor("primary") : "transparent"
|
||||
}
|
||||
|
||||
onClicked:
|
||||
{
|
||||
viewSelector.togglePopup()
|
||||
UM.Controller.setActiveView(id)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -9,4 +9,8 @@ MaterialMenu 1.0 MaterialMenu.qml
|
|||
NozzleMenu 1.0 NozzleMenu.qml
|
||||
ActionPanelWidget 1.0 ActionPanelWidget.qml
|
||||
IconLabel 1.0 IconLabel.qml
|
||||
OutputDevicesActionButton 1.0 OutputDevicesActionButton.qml
|
||||
OutputDevicesActionButton 1.0 OutputDevicesActionButton.qml
|
||||
ExpandableComponent 1.0 ExpandableComponent.qml
|
||||
PrinterTypeLabel 1.0 PrinterTypeLabel.qml
|
||||
ViewsSelector 1.0 ViewsSelector.qml
|
||||
ToolbarButton 1.0 ToolbarButton.qml
|
|
@ -8,6 +8,7 @@ setting_version = 5
|
|||
type = quality
|
||||
quality_type = draft
|
||||
weight = 0
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
acceleration_enabled = True
|
||||
|
|
|
@ -8,6 +8,7 @@ setting_version = 5
|
|||
type = quality
|
||||
quality_type = high
|
||||
weight = 2
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
acceleration_enabled = True
|
||||
|
|
|
@ -8,6 +8,7 @@ setting_version = 5
|
|||
type = quality
|
||||
quality_type = normal
|
||||
weight = 1
|
||||
global_quality = True
|
||||
|
||||
[values]
|
||||
acceleration_enabled = True
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = normal
|
|||
weight = 0
|
||||
material = generic_pc
|
||||
variant = AA 0.25
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_enabled = True
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = normal
|
|||
weight = 0
|
||||
material = generic_pp
|
||||
variant = AA 0.25
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_enabled = True
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = draft
|
|||
weight = -2
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = superdraft
|
|||
weight = -4
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = verydraft
|
|||
weight = -3
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = draft
|
|||
weight = 0
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = superdraft
|
|||
weight = -2
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = verydraft
|
|||
weight = -1
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = normal
|
|||
weight = 0
|
||||
material = generic_pc
|
||||
variant = AA 0.25
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_enabled = True
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = normal
|
|||
weight = 0
|
||||
material = generic_pp
|
||||
variant = AA 0.25
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
acceleration_enabled = True
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = draft
|
|||
weight = -2
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = superdraft
|
|||
weight = -4
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = verydraft
|
|||
weight = -3
|
||||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = draft
|
|||
weight = 0
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = superdraft
|
|||
weight = -2
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -10,6 +10,7 @@ quality_type = verydraft
|
|||
weight = -1
|
||||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -11,6 +11,7 @@ weight = -2
|
|||
material = generic_cpe_plus
|
||||
variant = AA 0.8
|
||||
buildplate = Aluminum
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 14
|
||||
|
|
|
@ -11,6 +11,7 @@ weight = 0
|
|||
material = generic_pc
|
||||
variant = AA 0.8
|
||||
buildplate = Aluminum
|
||||
is_experimental = True
|
||||
|
||||
[values]
|
||||
brim_width = 10
|
||||
|
|
|
@ -133,7 +133,6 @@
|
|||
"slider_groove_border": [127, 127, 127, 255],
|
||||
"slider_groove_fill": [245, 245, 245, 255],
|
||||
"slider_handle": [255, 255, 255, 255],
|
||||
"slider_handle_hover": [77, 182, 226, 255],
|
||||
"slider_handle_active": [68, 192, 255, 255],
|
||||
"slider_text_background": [255, 255, 255, 255],
|
||||
|
||||
|
@ -209,9 +208,6 @@
|
|||
|
||||
"quality_slider_unavailable": [179, 179, 179, 255],
|
||||
"quality_slider_available": [255, 255, 255, 255],
|
||||
"quality_slider_handle": [255, 255, 255, 255],
|
||||
"quality_slider_handle_hover": [127, 127, 127, 255],
|
||||
"quality_slider_text": [255, 255, 255, 255],
|
||||
|
||||
"toolbox_header_button_text_active": [255, 255, 255, 255],
|
||||
"toolbox_header_button_text_inactive": [128, 128, 128, 255],
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<polygon id="Polygon" points="15 8 16 9 9 16 8 15"></polygon>
|
||||
<circle id="Oval-2" cx="6" cy="18" r="4"></circle>
|
||||
<circle id="Oval-2-Copy" cx="18" cy="6" r="4"></circle>
|
||||
</svg>
|
Before Width: | Height: | Size: 332 B |
|
@ -1,6 +0,0 @@
|
|||
<svg width="24px" height="24px" viewBox="0 0 24 24" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<circle id="Oval-2" stroke="#FFFFFF" cx="4" cy="20" r="3.5"></circle>
|
||||
<circle id="Oval-2-Copy" stroke="#FFFFFF" cx="20" cy="4" r="3.5"></circle>
|
||||
<polygon id="Polygon" fill="#FFFFFF" points="11 12 12 13 9 16 8 15"></polygon>
|
||||
<polygon id="Polygon-Copy" fill="#FFFFFF" points="15 8 16 9 13 12 12 11"></polygon>
|
||||
</svg>
|
Before Width: | Height: | Size: 475 B |
Before Width: | Height: | Size: 878 B After Width: | Height: | Size: 878 B |
|
@ -1,12 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="32px" height="16px" viewBox="0 0 32 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>icn_groupPrinters</title>
|
||||
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Icon/ group printer/ disconnected</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Visual" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Printer-status-icon" transform="translate(-24.000000, -176.000000)" fill="#000000">
|
||||
<path d="M48,188 L54,188 L54,190 L48,190 L48,188 L48,188 Z M48,180 L54,180 L54,182 L48,182 L48,180 L48,180 Z M54,189 L56,189 L56,191 L54,191 L54,189 L54,189 Z M54,177 L56,177 L56,189 L54,189 L54,177 L54,177 Z M48,182 L51,182 L51,183 L48,183 L48,182 L48,182 Z M49,183 L50,183 L50,185 L49,185 L49,183 L49,183 Z M48,177 L54,177 L54,179 L48,179 L48,177 L48,177 Z M34,176 L46,176 L48,176 L48,187 L53,187 L53,188 L48,188 L48,190 L48,192 L46,192 L46,191 L34,191 L34,192 L32,192 L32,190 L26,190 L26,191 L24,191 L24,189 L24,177 L26,177 L32,177 L32,176 L34,176 Z M34,178 L34,179 L46,179 L46,178 L34,178 Z M41,182 L41,184 L39,184 L39,182 L38,182 L38,181 L42,181 L42,182 L41,182 Z M46,189 L46,181 L34,181 L34,189 L46,189 Z M32,179 L26,179 L26,180 L32,180 L32,179 Z M32,183 L31,183 L31,185 L30,185 L30,183 L29,183 L29,182 L26,182 L26,188 L27,188 L27,187 L32,187 L32,183 Z M35,188 L45,188 L45,189 L35,189 L35,188 Z" id="icn_groupPrinters"></path>
|
||||
<g id="Icon/-group-printer/-disconnected" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Icon/-group-printer/-connected" transform="translate(0.000000, 6.000000)">
|
||||
<g id="printer-group">
|
||||
<path d="M8,16.9319728 L2.15026455,16.9319728 C1.96402116,16.9492063 1.77777778,17.0181406 1.64232804,17.1387755 L1.54074074,17.2421769 C1.43915344,17.4145125 1.23597884,17.4489796 1.03280423,17.4489796 L0.118518519,17.4489796 C0.0677248677,17.4489796 0.0169312169,17.3972789 0.0169312169,17.3455782 L0.0169312169,1.09433107 C0.0169312169,1.04263039 0.0677248677,0.990929705 0.118518519,0.990929705 L8,0.990929705 L8,2.47301587 L1.86243386,2.47301587 C1.67619048,2.47301587 1.54074074,2.62811791 1.54074074,2.80045351 L1.54074074,13.4680272 C1.54074074,13.9505669 1.93015873,14.3469388 2.4042328,14.3469388 L8,14.3469388 L8,16.9319728 Z" id="Combined-Shape" fill="#08073F" fill-rule="nonzero"></path>
|
||||
<g id="UM3" transform="translate(23.777778, 0.904762)"></g>
|
||||
<path d="M24,0.990929705 L31.8814815,0.990929705 C31.9322751,0.990929705 31.9830688,1.04263039 31.9830688,1.09433107 L31.9830688,17.3455782 C31.9830688,17.3972789 31.9322751,17.4489796 31.8814815,17.4489796 L30.9671958,17.4489796 C30.7809524,17.431746 30.594709,17.3628118 30.4592593,17.2421769 L30.357672,17.1387755 C30.2560847,16.9664399 30.0529101,16.9319728 29.8497354,16.9319728 L24,16.9319728 L24,14.3469388 L29.5619048,14.3469388 C30.0359788,14.3469388 30.4253968,13.9505669 30.4253968,13.4680272 L30.442328,13.4680272 L30.442328,2.80045351 C30.442328,2.61088435 30.2899471,2.47301587 30.1206349,2.47301587 L24,2.47301587 L24,0.990929705 Z" id="Combined-Shape" fill="#08073F" fill-rule="nonzero"></path>
|
||||
<g id="Group-Copy-2" transform="translate(8.000000, 0.000000)" fill="#08073F" fill-rule="nonzero">
|
||||
<g id="UM3" transform="translate(0.000000, 0.000000)">
|
||||
<path d="M15.8666667,0.0969387755 L0.133333333,0.0969387755 C0.0761904762,0.0969387755 0.019047619,0.155102041 0.019047619,0.213265306 L0.019047619,18.4959184 C0.019047619,18.5540816 0.0761904762,18.6122449 0.133333333,18.6122449 L1.16190476,18.6122449 C1.39047619,18.6122449 1.61904762,18.5734694 1.73333333,18.3795918 L1.84761905,18.2632653 C2,18.127551 2.20952381,18.05 2.41904762,18.0306122 L13.5809524,18.0306122 C13.8095238,18.0306122 14.0380952,18.0693878 14.152381,18.2632653 L14.2666667,18.3795918 C14.4190476,18.5153061 14.6285714,18.5928571 14.8380952,18.6122449 L15.8666667,18.6122449 C15.9238095,18.6122449 15.9809524,18.5540816 15.9809524,18.4959184 L15.9809524,0.213265306 C15.9809524,0.155102041 15.9238095,0.0969387755 15.8666667,0.0969387755 Z M14.2285714,14.1336735 C14.2285714,14.6765306 13.7904762,15.122449 13.2571429,15.122449 L2.7047619,15.122449 C2.17142857,15.122449 1.73333333,14.6765306 1.73333333,14.1336735 L1.73333333,2.13265306 C1.73333333,1.93877551 1.88571429,1.76428571 2.0952381,1.76428571 L13.8857143,1.76428571 C14.0761905,1.76428571 14.247619,1.91938776 14.247619,2.13265306 L14.247619,14.1336735 L14.2285714,14.1336735 Z" id="Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
@ -1,13 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 49 (51002) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>icn_singlePrinter</title>
|
||||
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 52.2 (67145) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Icon/ single printer/ disconnected</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Visual" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Printer-status-icon" transform="translate(-217.000000, -176.000000)" fill="#000000">
|
||||
<g id="icn_singlePrinter" transform="translate(217.000000, 176.000000)">
|
||||
<path d="M2,13 L14,13 L14,15 L2,15 L2,13 L2,13 Z M2,3 L14,3 L14,5 L2,5 L2,3 L2,3 Z M0,14 L2,14 L2,16 L0,16 L0,14 L0,14 Z M14,14 L16,14 L16,16 L14,16 L14,14 L14,14 Z M0,0 L2,0 L2,14 L0,14 L0,0 L0,0 Z M14,0 L16,0 L16,14 L14,14 L14,0 L14,0 Z M6,5 L10,5 L10,6 L6,6 L6,5 L6,5 Z M7,6 L9,6 L9,8 L7,8 L7,6 L7,6 Z M2,0 L14,0 L14,2 L2,2 L2,0 L2,0 Z M3,12 L13,12 L13,13 L3,13 L3,12 L3,12 Z" id="Rectangle-185-Copy-5-Copy-4"></path>
|
||||
<g id="Icon/-single-printer/-disconnected" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Group-Copy-7" transform="translate(6.000000, 5.000000)" fill="#08073F" fill-rule="nonzero">
|
||||
<g id="UM3" transform="translate(0.000000, 0.000000)">
|
||||
<path d="M19.8333333,0.119047619 L0.166666667,0.119047619 C0.0952380952,0.119047619 0.0238095238,0.19047619 0.0238095238,0.261904762 L0.0238095238,22.7142857 C0.0238095238,22.7857143 0.0952380952,22.8571429 0.166666667,22.8571429 L1.45238095,22.8571429 C1.73809524,22.8571429 2.02380952,22.8095238 2.16666667,22.5714286 L2.30952381,22.4285714 C2.5,22.2619048 2.76190476,22.1666667 3.02380952,22.1428571 L16.9761905,22.1428571 C17.2619048,22.1428571 17.547619,22.1904762 17.6904762,22.4285714 L17.8333333,22.5714286 C18.0238095,22.7380952 18.2857143,22.8333333 18.547619,22.8571429 L19.8333333,22.8571429 C19.9047619,22.8571429 19.9761905,22.7857143 19.9761905,22.7142857 L19.9761905,0.261904762 C19.9761905,0.19047619 19.9047619,0.119047619 19.8333333,0.119047619 Z M17.7857143,17.3571429 C17.7857143,18.0238095 17.2380952,18.5714286 16.5714286,18.5714286 L3.38095238,18.5714286 C2.71428571,18.5714286 2.16666667,18.0238095 2.16666667,17.3571429 L2.16666667,2.61904762 C2.16666667,2.38095238 2.35714286,2.16666667 2.61904762,2.16666667 L17.3571429,2.16666667 C17.5952381,2.16666667 17.8095238,2.35714286 17.8095238,2.61904762 L17.8095238,17.3571429 L17.7857143,17.3571429 Z" id="Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
|
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.9 KiB |
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Busy</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="00-printer-status-overview" transform="translate(-17.000000, -22.000000)"></g>
|
||||
<g id="Busy" fill="#D8D8D8">
|
||||
<path d="M7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,10.8659932 10.8659932,14 7,14 Z M9.5,7 C9.5,7.83420277 10.1715729,8.5 11,8.5 C11.8342028,8.5 12.5,7.82842712 12.5,7 C12.5,6.16579723 11.8284271,5.5 11,5.5 C10.1657972,5.5 9.5,6.17157288 9.5,7 Z M1.5,7 C1.5,7.83420277 2.17157288,8.5 3,8.5 C3.83420277,8.5 4.5,7.82842712 4.5,7 C4.5,6.16579723 3.82842712,5.5 3,5.5 C2.16579723,5.5 1.5,6.17157288 1.5,7 Z M5.5,7 C5.5,7.83420277 6.17157288,8.5 7,8.5 C7.83420277,8.5 8.5,7.82842712 8.5,7 C8.5,6.16579723 7.82842712,5.5 7,5.5 C6.16579723,5.5 5.5,6.17157288 5.5,7 Z" id="Combined-Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.2 KiB |
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Wait cleanup</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="00-printer-status-overview" transform="translate(-84.000000, -22.000000)"></g>
|
||||
<g id="Wait-cleanup" fill="#7FDB16">
|
||||
<path d="M7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,10.8659932 10.8659932,14 7,14 Z M8.07520384,11.2263517 L8.07520384,10.7137766 C8.07520384,10.2581543 7.84739269,10.0018668 7.36329399,10.0018668 L6.73681332,10.0018668 C6.28119101,10.0018668 6.02490346,10.2296779 6.02490346,10.7137766 L6.02490346,11.2263517 C6.02490346,11.681974 6.25271461,11.9382616 6.73681332,11.9382616 L7.36329399,11.9382616 C7.8189163,11.9382616 8.07520384,11.7104504 8.07520384,11.2263517 Z M8.04672745,7.78070802 L8.21758581,2.74038625 C8.21758581,2.25628755 7.98977466,2 7.50567596,2 L6.59443134,2 C6.11033264,2 5.88252149,2.25628755 5.88252149,2.74038625 L6.05337986,7.78070802 C6.08185625,8.23633033 6.3381438,8.49261788 6.7937661,8.49261788 L7.3063412,8.49261788 C7.76196351,8.49261788 8.04672745,8.23633033 8.04672745,7.78070802 Z" id="Combined-Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.5 KiB |
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>paused</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="00-printer-status-overview" transform="translate(-246.000000, -22.000000)"></g>
|
||||
<g id="paused" fill="#F5A623">
|
||||
<path d="M7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,10.8659932 10.8659932,14 7,14 Z M4.33333333,4.11111111 L4.33333333,9.88888889 L6.11111111,9.88888889 L6.11111111,4.11111111 L4.33333333,4.11111111 Z M7.88888889,4.11111111 L7.88888889,9.88888889 L9.66666667,9.88888889 L9.66666667,4.11111111 L7.88888889,4.11111111 Z" id="Combined-Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1,016 B |
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Aborted</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="00-printer-status-overview" transform="translate(-303.000000, -22.000000)"></g>
|
||||
<g id="Aborted" fill="#D0021B">
|
||||
<path d="M7.006431,8.15087791 L8.99372277,9.86752475 L10.1369901,8.54194059 L8.1500273,6.82616116 L9.86540931,4.83910045 L8.54098909,3.69576014 L6.82576597,5.68263681 L4.8380396,3.96619802 L3.69512871,5.29053465 L5.6823619,7.00713089 L3.96564795,8.9957345 L5.29006817,10.1390748 L7.006431,8.15087791 Z M7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,10.8659932 10.8659932,14 7,14 Z" id="Combined-Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.1 KiB |
|
@ -1,13 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Unknown</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="00-printer-status-overview" transform="translate(-165.000000, -22.000000)"></g>
|
||||
<g id="Unknown" fill="#000000">
|
||||
<path d="M7,14 C3.13400675,14 0,10.8659932 0,7 C0,3.13400675 3.13400675,0 7,0 C10.8659932,0 14,3.13400675 14,7 C14,10.8659932 10.8659932,14 7,14 Z M6.78333984,11.3842884 C7.41672998,11.3842884 7.93020964,10.8704803 7.93020964,10.2374186 C7.93020964,9.60435702 7.41672998,9.09087736 6.78333984,9.09087736 C6.1499497,9.09087736 5.63647003,9.6040285 5.63647003,10.2374186 C5.63647003,10.8708088 6.1499497,11.3842884 6.78333984,11.3842884 Z M7.5343408,7.73605322 C8.81853274,7.61975648 9.82775188,6.53727696 9.82808041,5.22351806 C9.82808041,3.83222799 8.69632261,2.7004702 7.30503254,2.7004702 C5.91374248,2.7004702 4.78198468,3.83255652 4.78198468,5.22351806 L6.33589307,5.22351806 C6.33589307,4.68967004 6.77052748,4.25503562 7.30470402,4.25503562 C7.83920908,4.25503562 8.27351498,4.68967004 8.27351498,5.22351806 C8.27351498,5.75802312 7.83920908,6.19232901 7.30470402,6.19232901 L5.9801039,6.19232901 L5.9801039,8.54355994 L7.5343408,8.54355994 L7.5343408,7.73605322 Z" id="Combined-Shape"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 1.6 KiB |
1
resources/themes/cura-light/images/header_pattern.svg
Normal file
After Width: | Height: | Size: 310 KiB |
|
@ -171,123 +171,6 @@ QtObject
|
|||
}
|
||||
}
|
||||
|
||||
property Component toolbar_button: Component
|
||||
{
|
||||
ButtonStyle
|
||||
{
|
||||
background: Rectangle
|
||||
{
|
||||
implicitWidth: Theme.getSize("button").width
|
||||
implicitHeight: Theme.getSize("button").height
|
||||
color:
|
||||
{
|
||||
if (control.checked && control.hovered)
|
||||
{
|
||||
return Theme.getColor("toolbar_button_active_hover")
|
||||
}
|
||||
else if (control.checked)
|
||||
{
|
||||
return Theme.getColor("toolbar_button_active")
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return Theme.getColor("toolbar_button_hover")
|
||||
}
|
||||
return Theme.getColor("toolbar_background")
|
||||
}
|
||||
radius: UM.Theme.getSize("default_radius").width
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: topSquare
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
top: parent.top
|
||||
}
|
||||
height: parent.radius
|
||||
color: control.isFirstElement ? "transparent" : parent.color
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: bottomSquare
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
right: parent.right
|
||||
bottom: parent.bottom
|
||||
}
|
||||
height: parent.radius
|
||||
color: control.isLastElement ? "transparent" : parent.color
|
||||
}
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: leftSquare
|
||||
anchors
|
||||
{
|
||||
left: parent.left
|
||||
top: parent.top
|
||||
bottom: parent.bottom
|
||||
}
|
||||
width: parent.radius
|
||||
color: parent.color
|
||||
}
|
||||
|
||||
// This is the tooltip
|
||||
UM.PointingRectangle
|
||||
{
|
||||
id: button_tooltip
|
||||
|
||||
anchors.left: parent.right
|
||||
anchors.leftMargin: Theme.getSize("button_tooltip_arrow").width * 2
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
|
||||
target: Qt.point(parent.x, y + Math.round(height/2))
|
||||
arrowSize: Theme.getSize("button_tooltip_arrow").width
|
||||
color: Theme.getColor("button_tooltip")
|
||||
opacity: control.hovered ? 1.0 : 0.0;
|
||||
visible: control.text != ""
|
||||
|
||||
width: control.hovered ? button_tip.width + Theme.getSize("button_tooltip").width : 0
|
||||
height: Theme.getSize("button_tooltip").height
|
||||
|
||||
Behavior on width { NumberAnimation { duration: 100; } }
|
||||
Behavior on opacity { NumberAnimation { duration: 100; } }
|
||||
|
||||
Label
|
||||
{
|
||||
id: button_tip
|
||||
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter;
|
||||
|
||||
text: control.text;
|
||||
font: Theme.getFont("button_tooltip");
|
||||
color: Theme.getColor("tooltip_text");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
label: Item
|
||||
{
|
||||
UM.RecolorImage
|
||||
{
|
||||
anchors.centerIn: parent;
|
||||
opacity: !control.enabled ? 0.2 : 1.0
|
||||
source: control.iconSource;
|
||||
width: Theme.getSize("button_icon").width;
|
||||
height: Theme.getSize("button_icon").height;
|
||||
color: Theme.getColor("toolbar_button_text");
|
||||
|
||||
sourceSize: Theme.getSize("button_icon")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
property Component tool_button: Component
|
||||
{
|
||||
ButtonStyle
|
||||
|
@ -436,118 +319,6 @@ QtObject
|
|||
}
|
||||
}
|
||||
|
||||
property Component small_tool_button: Component
|
||||
{
|
||||
ButtonStyle
|
||||
{
|
||||
background: Item
|
||||
{
|
||||
implicitWidth: Theme.getSize("small_button").width;
|
||||
implicitHeight: Theme.getSize("small_button").height;
|
||||
|
||||
Rectangle
|
||||
{
|
||||
id: smallButtonFace;
|
||||
|
||||
anchors.fill: parent;
|
||||
property bool down: control.pressed || (control.checkable && control.checked);
|
||||
|
||||
color:
|
||||
{
|
||||
if(control.customColor !== undefined && control.customColor !== null)
|
||||
{
|
||||
return control.customColor
|
||||
}
|
||||
else if(control.checkable && control.checked && control.hovered)
|
||||
{
|
||||
return Theme.getColor("small_button_active_hover");
|
||||
}
|
||||
else if(control.pressed || (control.checkable && control.checked))
|
||||
{
|
||||
return Theme.getColor("small_button_active");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return Theme.getColor("small_button_hover");
|
||||
}
|
||||
else
|
||||
{
|
||||
return Theme.getColor("small_button");
|
||||
}
|
||||
}
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
|
||||
border.width: (control.hasOwnProperty("needBorder") && control.needBorder) ? 2 * screenScaleFactor : 0
|
||||
border.color: Theme.getColor("tool_button_border")
|
||||
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: smallToolButtonArrow
|
||||
|
||||
width: 5
|
||||
height: 5
|
||||
sourceSize.width: 5
|
||||
sourceSize.height: 5
|
||||
visible: control.menu != null;
|
||||
color:
|
||||
{
|
||||
if(control.checkable && control.checked && control.hovered)
|
||||
{
|
||||
return Theme.getColor("small_button_text_active_hover");
|
||||
}
|
||||
else if(control.pressed || (control.checkable && control.checked))
|
||||
{
|
||||
return Theme.getColor("small_button_text_active");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return Theme.getColor("small_button_text_hover");
|
||||
}
|
||||
else
|
||||
{
|
||||
return Theme.getColor("small_button_text");
|
||||
}
|
||||
}
|
||||
source: Theme.getIcon("arrow_bottom")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
label: Item
|
||||
{
|
||||
UM.RecolorImage
|
||||
{
|
||||
anchors.centerIn: parent
|
||||
opacity: !control.enabled ? 0.2 : 1.0
|
||||
source: control.iconSource;
|
||||
width: Theme.getSize("small_button_icon").width
|
||||
height: Theme.getSize("small_button_icon").height
|
||||
color:
|
||||
{
|
||||
if(control.checkable && control.checked && control.hovered)
|
||||
{
|
||||
return Theme.getColor("small_button_text_active_hover");
|
||||
}
|
||||
else if(control.pressed || (control.checkable && control.checked))
|
||||
{
|
||||
return Theme.getColor("small_button_text_active");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return Theme.getColor("small_button_text_hover");
|
||||
}
|
||||
else
|
||||
{
|
||||
return Theme.getColor("small_button_text");
|
||||
}
|
||||
}
|
||||
|
||||
sourceSize: Theme.getSize("small_button_icon")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
property Component progressbar: Component
|
||||
{
|
||||
ProgressBarStyle
|
||||
|
@ -599,198 +370,6 @@ QtObject
|
|||
}
|
||||
}
|
||||
|
||||
property Component sidebar_category: Component
|
||||
{
|
||||
ButtonStyle
|
||||
{
|
||||
background: Rectangle
|
||||
{
|
||||
anchors.fill: parent
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Theme.getSize("thick_margin").width
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Theme.getSize("thick_margin").width
|
||||
implicitHeight: Theme.getSize("section").height
|
||||
color:
|
||||
{
|
||||
if(control.color)
|
||||
{
|
||||
return control.color;
|
||||
}
|
||||
else if(!control.enabled)
|
||||
{
|
||||
return Theme.getColor("setting_category_disabled");
|
||||
}
|
||||
else if(control.hovered && control.checkable && control.checked)
|
||||
{
|
||||
return Theme.getColor("setting_category_active_hover");
|
||||
}
|
||||
else if(control.pressed || (control.checkable && control.checked))
|
||||
{
|
||||
return Theme.getColor("setting_category_active");
|
||||
}
|
||||
else if(control.hovered)
|
||||
{
|
||||
return Theme.getColor("setting_category_hover");
|
||||
}
|
||||
else
|
||||
{
|
||||
return Theme.getColor("setting_category");
|
||||
}
|
||||
}
|
||||
Behavior on color { ColorAnimation { duration: 50; } }
|
||||
Rectangle
|
||||
{
|
||||
height: Theme.getSize("default_lining").height
|
||||
width: parent.width
|
||||
anchors.bottom: parent.bottom
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return Theme.getColor("setting_category_disabled_border");
|
||||
}
|
||||
else if((control.hovered || control.activeFocus) && control.checkable && control.checked)
|
||||
{
|
||||
return Theme.getColor("setting_category_active_hover_border");
|
||||
}
|
||||
else if(control.pressed || (control.checkable && control.checked))
|
||||
{
|
||||
return Theme.getColor("setting_category_active_border");
|
||||
}
|
||||
else if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return Theme.getColor("setting_category_hover_border");
|
||||
}
|
||||
else
|
||||
{
|
||||
return Theme.getColor("setting_category_border");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
label: Item
|
||||
{
|
||||
anchors.fill: parent
|
||||
anchors.left: parent.left
|
||||
Item
|
||||
{
|
||||
id: icon
|
||||
anchors.left: parent.left
|
||||
height: parent.height
|
||||
width: Theme.getSize("section_icon_column").width
|
||||
UM.RecolorImage
|
||||
{
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: Theme.getSize("thick_margin").width
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return Theme.getColor("setting_category_disabled_text");
|
||||
}
|
||||
else if((control.hovered || control.activeFocus) && control.checkable && control.checked)
|
||||
{
|
||||
return Theme.getColor("setting_category_active_hover_text");
|
||||
}
|
||||
else if(control.pressed || (control.checkable && control.checked))
|
||||
{
|
||||
return Theme.getColor("setting_category_active_text");
|
||||
}
|
||||
else if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return Theme.getColor("setting_category_hover_text");
|
||||
}
|
||||
else
|
||||
{
|
||||
return Theme.getColor("setting_category_text");
|
||||
}
|
||||
}
|
||||
source: control.iconSource;
|
||||
width: Theme.getSize("section_icon").width;
|
||||
height: Theme.getSize("section_icon").height;
|
||||
sourceSize.width: width + 15 * screenScaleFactor
|
||||
sourceSize.height: width + 15 * screenScaleFactor
|
||||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
anchors
|
||||
{
|
||||
left: icon.right
|
||||
leftMargin: Theme.getSize("default_margin").width
|
||||
right: parent.right
|
||||
verticalCenter: parent.verticalCenter
|
||||
}
|
||||
text: control.text
|
||||
font: Theme.getFont("setting_category")
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return Theme.getColor("setting_category_disabled_text");
|
||||
}
|
||||
else if((control.hovered || control.activeFocus) && control.checkable && control.checked)
|
||||
{
|
||||
return Theme.getColor("setting_category_active_hover_text");
|
||||
}
|
||||
else if(control.pressed || (control.checkable && control.checked))
|
||||
{
|
||||
return Theme.getColor("setting_category_active_text");
|
||||
}
|
||||
else if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return Theme.getColor("setting_category_hover_text");
|
||||
}
|
||||
else
|
||||
{
|
||||
return Theme.getColor("setting_category_text");
|
||||
}
|
||||
}
|
||||
fontSizeMode: Text.HorizontalFit
|
||||
minimumPointSize: 8
|
||||
}
|
||||
UM.RecolorImage
|
||||
{
|
||||
id: category_arrow
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: Theme.getSize("default_margin").width * 3 - Math.round(width / 2)
|
||||
width: Theme.getSize("standard_arrow").width
|
||||
height: Theme.getSize("standard_arrow").height
|
||||
sourceSize.width: width
|
||||
sourceSize.height: width
|
||||
color:
|
||||
{
|
||||
if(!control.enabled)
|
||||
{
|
||||
return Theme.getColor("setting_category_disabled_text");
|
||||
}
|
||||
else if((control.hovered || control.activeFocus) && control.checkable && control.checked)
|
||||
{
|
||||
return Theme.getColor("setting_category_active_hover_text");
|
||||
}
|
||||
else if(control.pressed || (control.checkable && control.checked))
|
||||
{
|
||||
return Theme.getColor("setting_category_active_text");
|
||||
}
|
||||
else if(control.hovered || control.activeFocus)
|
||||
{
|
||||
return Theme.getColor("setting_category_hover_text");
|
||||
}
|
||||
else
|
||||
{
|
||||
return Theme.getColor("setting_category_text");
|
||||
}
|
||||
}
|
||||
source: control.checked ? Theme.getIcon("arrow_bottom") : Theme.getIcon("arrow_left")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
property Component scrollview: Component
|
||||
{
|
||||
ScrollViewStyle
|
||||
|
|
|
@ -81,14 +81,26 @@
|
|||
"lining": [192, 193, 194, 255],
|
||||
"viewport_overlay": [0, 0, 0, 192],
|
||||
|
||||
|
||||
"primary": [50, 130, 255, 255],
|
||||
"primary_shadow": [64, 47, 205, 255],
|
||||
"primary_hover": [48, 182, 231, 255],
|
||||
"primary_text": [255, 255, 255, 255],
|
||||
"border": [127, 127, 127, 255],
|
||||
"secondary": [245, 245, 245, 255],
|
||||
"secondary": [240, 240, 240, 255],
|
||||
"secondary_shadow": [216, 216, 216, 255],
|
||||
|
||||
"primary_button": [38, 113, 231, 255],
|
||||
"primary_button_shadow": [27, 95, 202, 255],
|
||||
"primary_button_hover": [81, 145, 247, 255],
|
||||
"primary_button_text": [255, 255, 255, 255],
|
||||
|
||||
"secondary_button": [240, 240, 240, 255],
|
||||
"secondary_button_shadow": [216, 216, 216, 255],
|
||||
"secondary_button_hover": [228, 228, 228, 255],
|
||||
"secondary_button_text": [30, 102, 215, 255],
|
||||
|
||||
"main_window_header_background": [10, 8, 80, 255],
|
||||
"main_window_header_background_gradient": [25, 23, 91, 255],
|
||||
"main_window_header_button_text_active": [10, 8, 80, 255],
|
||||
"main_window_header_button_text_inactive": [255, 255, 255, 255],
|
||||
"main_window_header_button_text_hovered": [255, 255, 255, 255],
|
||||
|
@ -96,13 +108,6 @@
|
|||
"main_window_header_button_background_inactive": [255, 255, 255, 0],
|
||||
"main_window_header_button_background_hovered": [255, 255, 255, 102],
|
||||
|
||||
"main_window_header_secondary_button_text_active": [255, 255, 255, 255],
|
||||
"main_window_header_secondary_button_text_hovered": [10, 8, 80, 255],
|
||||
"main_window_header_secondary_button_background_active": [255, 255, 255, 0],
|
||||
"main_window_header_secondary_button_background_hovered": [255, 255, 255, 255],
|
||||
"main_window_header_secondary_button_outline_active": [255, 255, 255, 255],
|
||||
"main_window_header_secondary_button_outline_hovered": [255, 255, 255, 255],
|
||||
|
||||
"account_widget_outline_active": [70, 66, 126, 255],
|
||||
|
||||
"machine_selector_bar": [31, 36, 39, 255],
|
||||
|
@ -114,11 +119,12 @@
|
|||
|
||||
"toolbar_background": [255, 255, 255, 255],
|
||||
|
||||
"printer_type_label_background": [171, 171, 191, 255],
|
||||
|
||||
"text": [0, 0, 0, 255],
|
||||
"text_detail": [174, 174, 174, 128],
|
||||
"text_link": [50, 130, 255, 255],
|
||||
"text_inactive": [174, 174, 174, 255],
|
||||
"text_hover": [70, 84, 113, 255],
|
||||
"text_pressed": [50, 130, 255, 255],
|
||||
"text_subtext": [0, 0, 0, 255],
|
||||
"text_medium": [128, 128, 128, 255],
|
||||
|
@ -173,14 +179,8 @@
|
|||
"action_button_disabled": [245, 245, 245, 255],
|
||||
"action_button_disabled_text": [127, 127, 127, 255],
|
||||
"action_button_disabled_border": [245, 245, 245, 255],
|
||||
|
||||
"print_button_ready": [50, 130, 255, 255],
|
||||
"print_button_ready_border": [50, 130, 255, 255],
|
||||
"print_button_ready_text": [255, 255, 255, 255],
|
||||
"print_button_ready_hovered": [30, 186, 245, 243],
|
||||
"print_button_ready_hovered_border": [30, 186, 245, 243],
|
||||
"print_button_ready_pressed": [30, 186, 245, 243],
|
||||
"print_button_ready_pressed_border": [30, 186, 245, 243],
|
||||
"action_button_shadow": [223, 223, 223, 255],
|
||||
"action_button_disabled_shadow": [228, 228, 228, 255],
|
||||
|
||||
"scrollbar_background": [255, 255, 255, 255],
|
||||
"scrollbar_handle": [31, 36, 39, 255],
|
||||
|
@ -230,15 +230,11 @@
|
|||
"slider_groove": [223, 223, 223, 255],
|
||||
"slider_groove_fill": [10, 8, 80, 255],
|
||||
"slider_handle": [10, 8, 80, 255],
|
||||
"slider_handle_hover": [77, 182, 226, 255],
|
||||
"slider_handle_active": [50, 130, 255, 255],
|
||||
"slider_text_background": [255, 255, 255, 255],
|
||||
|
||||
"quality_slider_unavailable": [179, 179, 179, 255],
|
||||
"quality_slider_available": [0, 0, 0, 255],
|
||||
"quality_slider_handle": [0, 0, 0, 255],
|
||||
"quality_slider_handle_hover": [127, 127, 127, 255],
|
||||
"quality_slider_text": [0, 0, 0, 255],
|
||||
|
||||
"checkbox": [255, 255, 255, 255],
|
||||
"checkbox_hover": [255, 255, 255, 255],
|
||||
|
@ -247,15 +243,6 @@
|
|||
"checkbox_mark": [119, 122, 124, 255],
|
||||
"checkbox_text": [27, 27, 27, 255],
|
||||
|
||||
"mode_switch": [255, 255, 255, 255],
|
||||
"mode_switch_hover": [255, 255, 255, 255],
|
||||
"mode_switch_border": [127, 127, 127, 255],
|
||||
"mode_switch_border_hover": [50, 130, 255, 255],
|
||||
"mode_switch_handle": [31, 36, 39, 255],
|
||||
"mode_switch_text": [31, 36, 39, 255],
|
||||
"mode_switch_text_hover": [31, 36, 39, 255],
|
||||
"mode_switch_text_checked": [50, 130, 255, 255],
|
||||
|
||||
"tooltip": [68, 192, 255, 255],
|
||||
"tooltip_text": [255, 255, 255, 255],
|
||||
|
||||
|
@ -373,11 +360,11 @@
|
|||
"sizes": {
|
||||
"window_minimum_size": [106, 66],
|
||||
|
||||
"main_window_header": [0.0, 4.5],
|
||||
"main_window_header": [0.0, 4.0],
|
||||
"main_window_header_button": [8, 2.35],
|
||||
"main_window_header_button_icon": [1.2, 1.2],
|
||||
|
||||
"stage_menu": [0.0, 4.5],
|
||||
"stage_menu": [0.0, 4.0],
|
||||
|
||||
"account_button": [12, 3],
|
||||
|
||||
|
@ -386,17 +373,20 @@
|
|||
"print_setup_item": [0.0, 2.0],
|
||||
"print_setup_extruder_box": [0.0, 6.0],
|
||||
|
||||
"configuration_selector_widget": [35.0, 4.5],
|
||||
"configuration_selector_mode_tabs": [0.0, 3.0],
|
||||
|
||||
"action_panel_widget": [25.0, 0.0],
|
||||
"action_panel_information_widget": [20.0, 0.0],
|
||||
"action_panel_button": [15.0, 3.0],
|
||||
|
||||
"machine_selector_widget": [16.0, 4.5],
|
||||
"machine_selector_widget": [20.0, 4.0],
|
||||
"machine_selector_widget_content": [25.0, 32.0],
|
||||
"machine_selector_icon": [2.66, 2.66],
|
||||
|
||||
"views_selector": [16.0, 4.5],
|
||||
|
||||
"printer_type_label": [3.5, 1.5],
|
||||
|
||||
"default_radius": [0.25, 0.25],
|
||||
|
||||
"wide_lining": [0.5, 0.5],
|
||||
|
@ -412,10 +402,7 @@
|
|||
"thin_margin": [0.71, 0.71],
|
||||
"narrow_margin": [0.5, 0.5],
|
||||
|
||||
"extruder_icon": [1.8, 1.8],
|
||||
|
||||
"simple_mode_infill_caption": [0.0, 5.0],
|
||||
"simple_mode_infill_height": [0.0, 8.0],
|
||||
"extruder_icon": [2.33, 2.33],
|
||||
|
||||
"section": [0.0, 2.2],
|
||||
"section_icon": [1.6, 1.6],
|
||||
|
@ -430,7 +417,6 @@
|
|||
"setting_text_maxwidth": [40.0, 0.0],
|
||||
|
||||
"standard_list_lineheight": [1.5, 1.5],
|
||||
"standard_list_input": [20.0, 25.0],
|
||||
"standard_arrow": [0.8, 0.8],
|
||||
|
||||
"button": [4, 4],
|
||||
|
@ -444,7 +430,7 @@
|
|||
"favorites_button": [2, 2],
|
||||
"favorites_button_icon": [1.2, 1.2],
|
||||
|
||||
"printer_status_icon": [1.8, 1.8],
|
||||
"printer_status_icon": [1.0, 1.0],
|
||||
"printer_sync_icon": [1.2, 1.2],
|
||||
|
||||
"button_tooltip": [1.0, 1.3],
|
||||
|
@ -525,6 +511,7 @@
|
|||
|
||||
"avatar_image": [6.8, 6.8],
|
||||
|
||||
"action_button": [15.0, 3.0],
|
||||
"action_button_radius": [0.15, 0.15],
|
||||
|
||||
"monitor_config_override_box": [1.0, 14.0],
|
||||
|
|