fix file parsing

This commit is contained in:
Stewart Allen 2022-02-19 14:13:35 -05:00
commit b45fb78c1b
3 changed files with 23 additions and 17 deletions

View file

@ -188,7 +188,7 @@ function prepareSlices(callback, scale = 1, offset = 0) {
view.update_slider_max(true);
show.layer(-1, 0);
if (scale === 1) {
updateStackLabelState();
view.update_stack_labels();
}
if (!isBelt && controller.lineType === 'line' && !process.xray) {
$('render-ghost').onclick();
@ -337,7 +337,7 @@ function preparePreview(callback, scale = 1, offset = 0) {
} else {
view.update_speeds();
}
updateStackLabelState();
view.update_stack_labels();
let { controller, process } = settings;
if (!isBelt && controller.lineType === 'line' && !process.xray) {
@ -354,10 +354,12 @@ function preparePreview(callback, scale = 1, offset = 0) {
}
function prepareAnimation() {
const settings = api.conf.get();
api.event.emit("function.animate", {mode: settings.mode});
}
function prepareExport() {
const settings = api.conf.get();
const argsave = arguments;
if (!complete.preview) {
preparePreview(() => { prepareExport(...argsave) });
@ -374,12 +376,15 @@ function cancelWorker() {
}
}
function loadCode(code, type) {
const { event, show, widgets, view } = api;
function parseCode(code, type) {
const { conf, event, show, widgets, view } = api;
const { stacks } = kiri;
const settings = conf.get();
event.emit("code.load", {code, type});
view.set_preview();
widgets.opacity(0);
client.parse({code, type, settings}, progress => {
show.progress(progress, "parsing");
}, (layers, maxSpeed, minSpeed) => {
@ -390,22 +395,12 @@ function loadCode(code, type) {
view.update_slider_max(true);
view.update_speeds(maxSpeed, minSpeed);
show.slices();
updateStackLabelState();
view.update_stack_labels();
space.update();
event.emit("code.loaded", {code, type});
});
}
function updateStackLabelState() {
const settings = api.conf.get();
const { stacks } = kiri;
// match label checkboxes to preference
for (let label of stacks.getLabels()) {
let check = `${settings.mode}-${api.view.get()}-${label}`;
stacks.setVisible(label, settings.labels[check] !== false);
}
}
const functions = api.function = {
slice: prepareSlices,
print: preparePreview,
@ -413,7 +408,7 @@ const functions = api.function = {
animate: prepareAnimation,
export: prepareExport,
cancel: cancelWorker,
parse: loadCode,
parse: parseCode,
clear: client.clear,
clear_progress() { complete = {} }
};

View file

@ -166,6 +166,7 @@
is_arrange() { return viewMode === VIEWS.ARRANGE },
is_slice() { return viewMode === VIEWS.SLICE },
is_preview() { return viewMode === VIEWS.PREVIEW },
update_stack_labels: updateStackLabelState,
update_slider_max: updateSliderMax,
update_slider: updateSlider,
update_speeds: updateSpeeds,
@ -177,6 +178,16 @@
work: kiri.work
});
function updateStackLabelState() {
const settings = api.conf.get();
const { stacks } = kiri;
// match label checkboxes to preference
for (let label of stacks.getLabels()) {
let check = `${settings.mode}-${api.view.get()}-${label}`;
stacks.setVisible(label, settings.labels[check] !== false);
}
}
function setFocus(sel, point) {
if (point) {
SPACE.platform.setCenter(point.x, point.z, point.y);

View file

@ -716,7 +716,7 @@ function platformLoadFiles(files, group) {
}
});
} else if (isgcode) {
loadCode(e.target.result, 'gcode');
api.function.parse(e.target.result, 'gcode');
load_dec();
} else if (issvg) {
let name = e.target.file.name;