From 2c8bc7283ed0d8db16b62b2091e2bc9dbe123abe Mon Sep 17 00:00:00 2001 From: YuSanka Date: Thu, 13 Dec 2018 13:05:47 +0100 Subject: [PATCH] Scroll the Object List to selected item been visible in the list (after object/part selection from the 3DScene) --- src/slic3r/GUI/GUI_ObjectList.cpp | 8 ++++++-- src/slic3r/GUI/GUI_ObjectList.hpp | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 7ed6e5a28..b604e83f2 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -512,8 +512,6 @@ void ObjectList::OnDrop(wxDataViewEvent &event) parts_changed(m_selected_object_id); m_dragged_data.clear(); - -// m_prevent_list_events = false; } @@ -1453,6 +1451,12 @@ void ObjectList::update_selections() } select_items(sels); + + if (GetSelection()) { + const int sel_item_row = GetRowByItem(GetSelection()); + ScrollLines(sel_item_row - m_selected_row); + m_selected_row = sel_item_row; + } } void ObjectList::update_selections_on_canvas() diff --git a/src/slic3r/GUI/GUI_ObjectList.hpp b/src/slic3r/GUI/GUI_ObjectList.hpp index 3664e6fda..7631782df 100644 --- a/src/slic3r/GUI/GUI_ObjectList.hpp +++ b/src/slic3r/GUI/GUI_ObjectList.hpp @@ -108,6 +108,8 @@ class ObjectList : public wxDataViewCtrl bool m_parts_changed = false; bool m_part_settings_changed = false; + int m_selected_row = 0; + public: ObjectList(wxWindow* parent); ~ObjectList();