From 6c04bebc3d94bea24a0ad7b6b9a5bd1c3505a7df Mon Sep 17 00:00:00 2001 From: "liz.li" Date: Sat, 10 Dec 2022 12:58:40 +0800 Subject: [PATCH] FIX: Preview slider jump layer and inappropriate log Change-Id: I484c52087741a8f5ee4da6bc240c9897e3f94bd3 (cherry picked from commit a2862f87369f78a39caf427a924a756f7115e1b5) --- src/slic3r/GUI/GLCanvas3D.cpp | 11 ++++++----- src/slic3r/GUI/IMSlider.cpp | 6 +++--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 961320391d..2b5adbd60e 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -3476,12 +3476,13 @@ void GLCanvas3D::on_mouse_wheel(wxMouseEvent& evt) evt.SetY(evt.GetY() * scale); #endif - IMSlider* m_layers_slider = get_gcode_viewer().get_layers_slider(); - IMSlider* m_moves_slider = get_gcode_viewer().get_moves_slider(); - m_layers_slider->on_mouse_wheel(evt); - m_moves_slider->on_mouse_wheel(evt); - if (wxGetApp().imgui()->update_mouse_data(evt)) { + if (m_canvas_type == CanvasPreview) { + IMSlider* m_layers_slider = get_gcode_viewer().get_layers_slider(); + IMSlider* m_moves_slider = get_gcode_viewer().get_moves_slider(); + m_layers_slider->on_mouse_wheel(evt); + m_moves_slider->on_mouse_wheel(evt); + } render(); m_dirty = true; return; diff --git a/src/slic3r/GUI/IMSlider.cpp b/src/slic3r/GUI/IMSlider.cpp index defa2597a2..63f270e026 100644 --- a/src/slic3r/GUI/IMSlider.cpp +++ b/src/slic3r/GUI/IMSlider.cpp @@ -1366,7 +1366,7 @@ void IMSlider::render_go_to_layer_dialog(){ | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoScrollWithMouse; imgui.begin(_u8L("Jump to layer"), windows_flag); - imgui.text(_u8L("Please enter the layer number") + " (" + std::to_string(m_min_value) + " - " + std::to_string(m_max_value) + "):"); + imgui.text(_u8L("Please enter the layer number") + " (" + std::to_string(m_min_value + 1) + " - " + std::to_string(m_max_value + 1) + "):"); if (ImGui::IsMouseClicked(0)) { set_focus = false; } @@ -1385,7 +1385,7 @@ void IMSlider::render_go_to_layer_dialog(){ for (size_t i = 0; i< strlen(m_layer_number); i++) if (!isdigit(m_layer_number[i])) disable_button = true; - if (!disable_button && (m_min_value > atoi(m_layer_number) || atoi(m_layer_number) > m_max_value)) + if (!disable_button && (m_min_value > atoi(m_layer_number) - 1 || atoi(m_layer_number) - 1 > m_max_value)) disable_button = true; } if (disable_button) { @@ -1393,7 +1393,7 @@ void IMSlider::render_go_to_layer_dialog(){ imgui.push_button_disable_style(); } if (imgui.bbl_button(_L("OK")) || (!disable_button && ImGui::IsKeyDown(ImGui::GetKeyIndex(ImGuiKey_Enter)))) { - do_go_to_layer(atoi(m_layer_number)); + do_go_to_layer(atoi(m_layer_number) - 1); m_show_go_to_layer_dialog = false; move_to_center = true; set_focus = true;