From 3fdc48452e65290ccc40cb5b438ec8bbc35b573f Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Thu, 8 Oct 2020 12:50:29 +0200 Subject: [PATCH] Modified rendering of DoubleSlider::Control when disabled --- src/slic3r/GUI/DoubleSlider.cpp | 31 +++++++++++++++++-------------- src/slic3r/GUI/GUI_Preview.cpp | 4 +++- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/src/slic3r/GUI/DoubleSlider.cpp b/src/slic3r/GUI/DoubleSlider.cpp index 7add05d9d..8507e5ed2 100644 --- a/src/slic3r/GUI/DoubleSlider.cpp +++ b/src/slic3r/GUI/DoubleSlider.cpp @@ -447,26 +447,29 @@ void Control::render() // and only in a case of no-empty m_values draw_colored_band(dc); - // draw line - draw_scroll_line(dc, lower_pos, higher_pos); + if (this->IsEnabled()) { + // draw line + draw_scroll_line(dc, lower_pos, higher_pos); - // draw color print ticks - draw_ticks(dc); + // draw color print ticks + draw_ticks(dc); - // draw both sliders - draw_thumbs(dc, lower_pos, higher_pos); + // draw both sliders + draw_thumbs(dc, lower_pos, higher_pos); - // draw lock/unlock - draw_one_layer_icon(dc); - // draw revert bitmap (if it's shown) - draw_revert_icon(dc); + // draw lock/unlock + draw_one_layer_icon(dc); - // draw cog bitmap (if it's shown) - draw_cog_icon(dc); + // draw revert bitmap (if it's shown) + draw_revert_icon(dc); - // draw mouse position - draw_tick_on_mouse_position(dc); + // draw cog bitmap (if it's shown) + draw_cog_icon(dc); + + // draw mouse position + draw_tick_on_mouse_position(dc); + } } void Control::draw_action_icon(wxDC& dc, const wxPoint pt_beg, const wxPoint pt_end) diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index fd505ef80..c15686db6 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -1173,8 +1173,10 @@ void Preview::update_moves_slider() void Preview::enable_moves_slider(bool enable) { - if (m_moves_slider != nullptr) + if (m_moves_slider != nullptr && m_moves_slider->IsEnabled() != enable) { m_moves_slider->Enable(enable); + m_moves_slider->Refresh(); + } } #else void Preview::update_double_slider_from_canvas(wxKeyEvent & event)