mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-21 16:02:37 +00:00
Merge branch 'main' into fix/run-profiles-ci-after-bot-merge
This commit is contained in:
@@ -551,7 +551,7 @@ jobs:
|
||||
&& github.event_name == 'pull_request_target'
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: read
|
||||
pull-requests: write
|
||||
issues: write
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
@@ -658,7 +658,7 @@ jobs:
|
||||
&& github.event_name == 'pull_request_target'
|
||||
permissions:
|
||||
contents: read # delegatable subtree, for file modes
|
||||
pull-requests: read
|
||||
pull-requests: write
|
||||
issues: write # label + comment
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "Cubicon",
|
||||
"version": "02.04.00.05",
|
||||
"version": "02.04.00.06",
|
||||
"force_update": "0",
|
||||
"description": "Cubicon configurations",
|
||||
"machine_model_list": [
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"115"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"115"
|
||||
"120"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"3"
|
||||
@@ -24,13 +24,13 @@
|
||||
"30"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
"1.04"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.99"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"23"
|
||||
"14"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"240"
|
||||
@@ -39,19 +39,19 @@
|
||||
"80"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"70"
|
||||
"15"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"30"
|
||||
"20"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"3"
|
||||
"10"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"245"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"78"
|
||||
"105"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"220"
|
||||
@@ -61,5 +61,14 @@
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"1"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"255"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -12,10 +12,10 @@
|
||||
"Cubicon"
|
||||
],
|
||||
"hot_plate_temp": [
|
||||
"100"
|
||||
"105"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"100"
|
||||
"115"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"3"
|
||||
@@ -24,13 +24,13 @@
|
||||
"30"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
"1.04"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.99"
|
||||
"1.04"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"23"
|
||||
"8"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"225"
|
||||
@@ -39,19 +39,19 @@
|
||||
"80"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"70"
|
||||
"15"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"30"
|
||||
"20"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"3"
|
||||
"10"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"230"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"78"
|
||||
"105"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"220"
|
||||
@@ -61,5 +61,32 @@
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.04"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"1.2"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"0"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"40"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"25"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"1"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"70%"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"115"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"115"
|
||||
"120"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"3"
|
||||
@@ -24,13 +24,13 @@
|
||||
"30"
|
||||
],
|
||||
"filament_density": [
|
||||
"1.24"
|
||||
"1.04"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.99"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"23"
|
||||
"14"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"240"
|
||||
@@ -39,19 +39,19 @@
|
||||
"80"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"70"
|
||||
"15"
|
||||
],
|
||||
"slow_down_min_speed": [
|
||||
"30"
|
||||
"20"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"3"
|
||||
"10"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"240"
|
||||
],
|
||||
"temperature_vitrification": [
|
||||
"85"
|
||||
"105"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"220"
|
||||
|
||||
@@ -10,5 +10,77 @@
|
||||
],
|
||||
"filament_vendor": [
|
||||
"Cubicon"
|
||||
],
|
||||
"fan_max_speed": [
|
||||
"25"
|
||||
],
|
||||
"fan_min_speed": [
|
||||
"0"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.01"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"5"
|
||||
],
|
||||
"overhang_fan_threshold": [
|
||||
"50%"
|
||||
],
|
||||
"overhang_fan_speed": [
|
||||
"25"
|
||||
],
|
||||
"slow_down_layer_time": [
|
||||
"8"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"4"
|
||||
],
|
||||
"filament_flow_ratio": [
|
||||
"0.94"
|
||||
],
|
||||
"nozzle_temperature_initial_layer": [
|
||||
"245"
|
||||
],
|
||||
"nozzle_temperature": [
|
||||
"250"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"240"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"280"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"0.8"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"0"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"40"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"25"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"1"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"70%"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"1"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"255"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"80"
|
||||
],
|
||||
"hot_plate_temp_initial_layer": [
|
||||
"80"
|
||||
"85"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"3"
|
||||
@@ -54,12 +54,45 @@
|
||||
"70"
|
||||
],
|
||||
"nozzle_temperature_range_low": [
|
||||
"230"
|
||||
"220"
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"250"
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"0"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.08"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"2.0"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"0"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"40"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"25"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"1"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"70%"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"1"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"255"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -53,5 +53,38 @@
|
||||
],
|
||||
"additional_cooling_fan_speed": [
|
||||
"80"
|
||||
],
|
||||
"close_fan_the_first_x_layers": [
|
||||
"1"
|
||||
],
|
||||
"filament_retraction_length": [
|
||||
"2.0"
|
||||
],
|
||||
"filament_z_hop": [
|
||||
"0"
|
||||
],
|
||||
"filament_retraction_speed": [
|
||||
"40"
|
||||
],
|
||||
"filament_deretraction_speed": [
|
||||
"25"
|
||||
],
|
||||
"filament_wipe": [
|
||||
"1"
|
||||
],
|
||||
"filament_wipe_distance": [
|
||||
"2"
|
||||
],
|
||||
"filament_retract_before_wipe": [
|
||||
"70%"
|
||||
],
|
||||
"activate_air_filtration": [
|
||||
"1"
|
||||
],
|
||||
"during_print_exhaust_fan_speed": [
|
||||
"255"
|
||||
],
|
||||
"complete_print_exhaust_fan_speed": [
|
||||
"255"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -18,5 +18,14 @@
|
||||
],
|
||||
"nozzle_temperature_range_high": [
|
||||
"220"
|
||||
],
|
||||
"filament_max_volumetric_speed": [
|
||||
"8"
|
||||
],
|
||||
"enable_pressure_advance": [
|
||||
"1"
|
||||
],
|
||||
"pressure_advance": [
|
||||
"0.025"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -73,12 +73,12 @@
|
||||
"20000"
|
||||
],
|
||||
"machine_max_acceleration_z": [
|
||||
"250",
|
||||
"500"
|
||||
"50",
|
||||
"100"
|
||||
],
|
||||
"machine_max_speed_z": [
|
||||
"25",
|
||||
"12"
|
||||
"5",
|
||||
"10"
|
||||
],
|
||||
"machine_max_acceleration_retracting": [
|
||||
"5000",
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
"instantiation": "false",
|
||||
"compatible_printers": [
|
||||
"Cubicon xCeler-I 0.4 nozzle",
|
||||
"Cubicon xCeler-Plus 0.4 nozzle"
|
||||
"Cubicon xCeler-Plus 0.4 nozzle",
|
||||
"Cubicon xCeler-Mini 0.4 nozzle"
|
||||
],
|
||||
"print_settings_id": "cubicon common @base",
|
||||
"accel_to_decel_enable": "1",
|
||||
@@ -14,26 +15,24 @@
|
||||
"bridge_flow": "0.9",
|
||||
"internal_bridge_flow": "0.9",
|
||||
"brim_type": "no_brim",
|
||||
"detect_overhang_wall": "1",
|
||||
"detect_overhang_wall": "0",
|
||||
"resolution": "0.012",
|
||||
"elefant_foot_compensation": "0.15",
|
||||
"percise_outer_wall": "1",
|
||||
"percise_z_height": "0.2",
|
||||
"enable_overhang_speed": "1",
|
||||
"enable_prime_tower": "1",
|
||||
"enable_prime_tower": "0",
|
||||
"enable_support": "0",
|
||||
"exclude_object": "0",
|
||||
"filename_format": "{input_filename_base}_{layer_height}mm_{filament_type[initial_tool]}_{printer_model}_{print_time}.gcode",
|
||||
"gap_infill_speed": "250",
|
||||
"infill_combination": "1",
|
||||
"infill_combination": "0",
|
||||
"infill_direction": "45",
|
||||
"infill_wall_overlap": "15",
|
||||
"infill_anchor": "400%",
|
||||
"infill_anchor_max": "20",
|
||||
"initial_layer_line_width": "0.5",
|
||||
"initial_layer_print_height": "0.25",
|
||||
"initial_layer_speed": "60",
|
||||
"initial_layer_infill_speed": "60",
|
||||
"initial_layer_print_height": "0.2",
|
||||
"initial_layer_speed": "50",
|
||||
"initial_layer_infill_speed": "100",
|
||||
"initial_layer_travel_speed": "500",
|
||||
"slow_down_layers": "1",
|
||||
"only_one_wall_top": "1",
|
||||
@@ -47,9 +46,9 @@
|
||||
"outer_wall_speed": "200",
|
||||
"print_sequence": "by layer",
|
||||
"raft_layers": "0",
|
||||
"reduce_crossing_wall": "0",
|
||||
"reduce_crossing_wall": "1",
|
||||
"reduce_infill_retraction": "1",
|
||||
"seam_position": "back",
|
||||
"seam_position": "aligned",
|
||||
"seam_gap": "10%",
|
||||
"enable_arc_fitting": "0",
|
||||
"staggered_inner_seams": "1",
|
||||
@@ -57,7 +56,7 @@
|
||||
"skirt_distance": "2.5",
|
||||
"skirt_height": "1",
|
||||
"skirt_speed": "50",
|
||||
"skirt_start_angle": "-45",
|
||||
"skirt_start_angle": "-135",
|
||||
"sparse_infill_density": "15",
|
||||
"sparse_infill_speed": "270",
|
||||
"sparse_infill_pattern": "grid",
|
||||
@@ -84,7 +83,7 @@
|
||||
"support_threshold_angle": "15",
|
||||
"wall_loops": "2",
|
||||
"thick_bridges": "0",
|
||||
"extra_perimeters_on_overhangs": "1",
|
||||
"extra_perimeters_on_overhangs": "0",
|
||||
"top_shell_layers": "5",
|
||||
"top_shell_thickness": "1",
|
||||
"slow_down_curled_perimeters": "0",
|
||||
@@ -93,18 +92,18 @@
|
||||
"travel_jerk": "12",
|
||||
"infill_jerk": "12",
|
||||
"initial_layer_jerk": "9",
|
||||
"inner_wall_jerk": "7",
|
||||
"outer_wall_jerk": "7",
|
||||
"default_acceleration": "13000",
|
||||
"travel_acceleration": "13000",
|
||||
"outer_wall_acceleration": "5000",
|
||||
"inner_wall_acceleration": "5000",
|
||||
"initial_layer_acceleration": "1000",
|
||||
"inner_wall_jerk": "3.5",
|
||||
"outer_wall_jerk": "3",
|
||||
"default_acceleration": "10000",
|
||||
"travel_acceleration": "10000",
|
||||
"outer_wall_acceleration": "2000",
|
||||
"inner_wall_acceleration": "6000",
|
||||
"initial_layer_acceleration": "500",
|
||||
"top_surface_acceleration": "2000",
|
||||
"raft_first_layer_density": "90",
|
||||
"raft_first_layer_expansion": "2",
|
||||
"precise_outer_wall": "1",
|
||||
"precise_z_height": "0",
|
||||
"precise_z_height": "1",
|
||||
"slowdown_for_curled_perimeters": "0",
|
||||
"bridge_speed": "50",
|
||||
"internal_bridge_speed": "150%",
|
||||
@@ -112,5 +111,7 @@
|
||||
"overhang_2_4_speed": "50",
|
||||
"overhang_3_4_speed": "30",
|
||||
"overhang_4_4_speed": "10",
|
||||
"independent_support_layer_height": "1"
|
||||
"independent_support_layer_height": "1",
|
||||
"solid_infill_direction": "90",
|
||||
"max_travel_detour_distance": "80%"
|
||||
}
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"top_surface_line_width": "0.4",
|
||||
"top_surface_speed": "30",
|
||||
"travel_speed": "400",
|
||||
"enable_prime_tower": "1",
|
||||
"enable_prime_tower": "0",
|
||||
"prime_tower_width": "60",
|
||||
"xy_hole_compensation": "0",
|
||||
"xy_contour_compensation": "0"
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
"enable_arc_fitting": "1",
|
||||
"enable_extra_bridge_layer": "disabled",
|
||||
"enable_overhang_speed": "1",
|
||||
"enable_prime_tower": "1",
|
||||
"enable_prime_tower": "0",
|
||||
"enable_support": "0",
|
||||
"enforce_support_layers": "0",
|
||||
"ensure_vertical_shell_thickness": "ensure_all",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "Orca Arena Printer",
|
||||
"url": "",
|
||||
"version": "02.04.00.05",
|
||||
"version": "02.04.00.06",
|
||||
"force_update": "0",
|
||||
"description": "Orca Arena configuration files",
|
||||
"machine_model_list": [
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"type": "machine_model",
|
||||
"name": "Orca Arena X1 Carbon",
|
||||
"model_id": "orca_arena_x1c",
|
||||
"url": "",
|
||||
"url": "https://www.orcaslicer.com",
|
||||
"nozzle_diameter": "0.4;0.2;0.6;0.8",
|
||||
"machine_tech": "FFF",
|
||||
"family": "ARENA-3DP",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "OrcaFilamentLibrary",
|
||||
"version": "02.04.00.08",
|
||||
"version": "02.04.00.09",
|
||||
"force_update": "0",
|
||||
"description": "Orca Filament Library",
|
||||
"filament_list": [
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"name": "DREMC ABS @System",
|
||||
"inherits": "DREMC ABS @base",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"setting_id": "gNjISMxTLwQzDrV9",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": []
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
"name": "DREMC ABS+ @System",
|
||||
"inherits": "DREMC ABS+ @base",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"setting_id": "M73sIwcpWv6zpFrb",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": []
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"name": "DREMC ASA @System",
|
||||
"inherits": "DREMC ASA @base",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"setting_id": "PMulSQ0tYbNyvOYw",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": []
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"name": "DREMC ASA CF @System",
|
||||
"inherits": "DREMC ASA CF @base",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"setting_id": "ZcipEKAqtBcAm6vR",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": []
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"name": "DREMC ASA GF @System",
|
||||
"inherits": "DREMC ASA GF @base",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"setting_id": "8J3lt7KlQWcx0VUS",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": []
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
"name": "DREMC PA12-CF @System",
|
||||
"inherits": "DREMC PA12-CF @base",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"setting_id": "jVlZ1KPsA5i8RIED",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": []
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
"name": "DREMC PET-CF @System",
|
||||
"inherits": "DREMC PET-CF @base",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"setting_id": "hal1nPyBF13UL9qB",
|
||||
"instantiation": "true",
|
||||
"compatible_printers": []
|
||||
}
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
"name": "DREMC PETG @System",
|
||||
"inherits": "DREMC PETG @base",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"setting_id": "gTGiaBYfymmtlyfG",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"20"
|
||||
],
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
{
|
||||
"type": "filament",
|
||||
"name": "DREMC PLA+ HS @System",
|
||||
"inherits": "DREMC PLA+ @base",
|
||||
"inherits": "DREMC PLA+ HS @base",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"setting_id": "I0HWhYAZ3ppq91Gx",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"22"
|
||||
],
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
"name": "DREMC PLA+ @System",
|
||||
"inherits": "DREMC PLA+ @base",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"setting_id": "fIjHIsFmdDWIM1bf",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"18"
|
||||
],
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
"name": "DREMC TPU 95A @System",
|
||||
"inherits": "DREMC TPU 95A @base",
|
||||
"from": "system",
|
||||
"instantiation": "false",
|
||||
"setting_id": "AfnFh14wKZsNEaZ1",
|
||||
"instantiation": "true",
|
||||
"filament_max_volumetric_speed": [
|
||||
"6"
|
||||
],
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include <boost/filesystem.hpp>
|
||||
|
||||
#include <wx/event.h>
|
||||
#include <wx/uri.h>
|
||||
|
||||
#include <utility>
|
||||
|
||||
@@ -55,6 +56,14 @@ wxString web_base_url()
|
||||
return wxString("file://") + from_u8(dir) + "/";
|
||||
}
|
||||
|
||||
// Whether a loaded document is the plugin HTML's own base URL. The web view reports the URL it
|
||||
// parsed, so any fragment the page navigated to is ignored and the escaping it applies to what the
|
||||
// resources path holds (a space, a non-ASCII character) is undone first.
|
||||
bool is_content_url(const wxString& url)
|
||||
{
|
||||
return wxURI::Unescape(url.BeforeFirst('#')) == web_base_url();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
PluginWebDialog::PluginWebDialog(wxWindow* parent,
|
||||
@@ -89,6 +98,7 @@ PluginWebDialog::PluginWebDialog(wxWindow* parent,
|
||||
// missing/blocked bootstrap resource (e.g. a packaged build) still triggers it.
|
||||
Bind(wxEVT_WEBVIEW_LOADED, &PluginWebDialog::on_bootstrap_event, this, wv->GetId());
|
||||
Bind(wxEVT_WEBVIEW_ERROR, &PluginWebDialog::on_bootstrap_event, this, wv->GetId());
|
||||
Bind(wxEVT_WEBVIEW_NAVIGATED, &PluginWebDialog::on_navigated, this, wv->GetId());
|
||||
}
|
||||
Bind(wxEVT_CLOSE_WINDOW, &PluginWebDialog::on_close_window, this);
|
||||
}
|
||||
@@ -139,19 +149,37 @@ void PluginWebDialog::destroy_for_plugin(PluginWebDialog* dialog)
|
||||
|
||||
void PluginWebDialog::on_bootstrap_event(wxWebViewEvent& event)
|
||||
{
|
||||
// The first bootstrap load (or its error) triggers the swap to plugin HTML;
|
||||
// the resulting plugin-page load is ignored (guarded by m_content_loaded).
|
||||
load_plugin_content();
|
||||
const bool loaded = event.GetEventType() == wxEVT_WEBVIEW_LOADED;
|
||||
// The first bootstrap load (or its error) triggers the swap to plugin HTML.
|
||||
if (!m_content_loaded)
|
||||
load_plugin_content();
|
||||
// WebKit reloads the SetPage base URL, so a committed load of it that we did not start is a reload.
|
||||
// A failed navigation is reported against the page that stayed but never commits. Edge ignores the
|
||||
// base URL and restores SetPage content itself, so nothing matches there.
|
||||
else if (is_content_url(event.GetURL())) {
|
||||
if (m_own_page_load)
|
||||
m_own_page_load = false;
|
||||
else if (loaded && m_content_navigated)
|
||||
load_plugin_content();
|
||||
}
|
||||
if (loaded)
|
||||
m_content_navigated = false;
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void PluginWebDialog::on_navigated(wxWebViewEvent& event)
|
||||
{
|
||||
m_content_navigated = is_content_url(event.GetURL());
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void PluginWebDialog::load_plugin_content()
|
||||
{
|
||||
if (m_content_loaded)
|
||||
return;
|
||||
m_content_loaded = true;
|
||||
if (wxWebView* wv = browser())
|
||||
if (wxWebView* wv = browser()) {
|
||||
m_own_page_load = true;
|
||||
wv->SetPage(wxString::FromUTF8(m_html), web_base_url());
|
||||
}
|
||||
}
|
||||
|
||||
void PluginWebDialog::on_script_message(const nlohmann::json& payload)
|
||||
|
||||
@@ -64,6 +64,7 @@ protected:
|
||||
|
||||
private:
|
||||
void on_bootstrap_event(wxWebViewEvent& event);
|
||||
void on_navigated(wxWebViewEvent& event);
|
||||
void load_plugin_content();
|
||||
void on_close_window(wxCloseEvent& event);
|
||||
void fire_submit(const nlohmann::json& data);
|
||||
@@ -72,6 +73,8 @@ private:
|
||||
|
||||
std::string m_html;
|
||||
bool m_content_loaded{false};
|
||||
bool m_own_page_load{false}; // a SetPage of the plugin HTML is in flight
|
||||
bool m_content_navigated{false}; // a navigation to the base URL has committed
|
||||
bool m_open{true};
|
||||
bool m_close_fired{false};
|
||||
std::optional<nlohmann::json> m_result;
|
||||
|
||||
Reference in New Issue
Block a user