From 8ab7956c26c95c2d90b7f651fda50d7c0d65fdcb Mon Sep 17 00:00:00 2001 From: YuSanka <yusanka@gmail.com> Date: Wed, 8 Apr 2020 09:47:33 +0200 Subject: [PATCH] Search: Added shortkey Ctrl+F on Plater --- src/slic3r/GUI/GLCanvas3D.cpp | 23 ++++++++++++++++++++++- src/slic3r/GUI/GLCanvas3D.hpp | 1 + src/slic3r/GUI/Search.cpp | 5 ++++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 0f9d49281..22f5670c0 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -3032,6 +3032,16 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) break; +#ifdef __APPLE__ + case 'f': + case 'F': +#else /* __APPLE__ */ + case WXK_CONTROL_F: +#endif /* __APPLE__ */ + _activate_search_toolbar_item(); + break; + + #ifdef __APPLE__ case 'y': case 'Y': @@ -5029,7 +5039,7 @@ bool GLCanvas3D::_init_main_toolbar() item.name = "search"; item.icon_filename = "search_.svg"; - item.tooltip = _utf8(L("Search")); + item.tooltip = _utf8(L("Search")) + " [" + GUI::shortkey_ctrl_prefix() + "F]"; item.sprite_id = 11; item.left.render_callback = [this](float left, float right, float, float) { if (m_canvas != nullptr) @@ -7237,6 +7247,17 @@ bool GLCanvas3D::_deactivate_search_toolbar_item() return false; } +bool GLCanvas3D::_activate_search_toolbar_item() +{ + if (!m_main_toolbar.is_item_pressed("search")) + { + m_main_toolbar.force_left_action(m_main_toolbar.get_item_id("search"), *this); + return true; + } + + return false; +} + const Print* GLCanvas3D::fff_print() const { return (m_process == nullptr) ? nullptr : m_process->fff_print(); diff --git a/src/slic3r/GUI/GLCanvas3D.hpp b/src/slic3r/GUI/GLCanvas3D.hpp index 58fd628d4..60f62636d 100644 --- a/src/slic3r/GUI/GLCanvas3D.hpp +++ b/src/slic3r/GUI/GLCanvas3D.hpp @@ -838,6 +838,7 @@ private: bool _deactivate_undo_redo_toolbar_items(); bool _deactivate_search_toolbar_item(); + bool _activate_search_toolbar_item(); static std::vector<float> _parse_colors(const std::vector<std::string>& colors); diff --git a/src/slic3r/GUI/Search.cpp b/src/slic3r/GUI/Search.cpp index e1ca8865e..26ed60b21 100644 --- a/src/slic3r/GUI/Search.cpp +++ b/src/slic3r/GUI/Search.cpp @@ -219,7 +219,7 @@ const SearchOptions::Option& SearchOptions::get_option(size_t pos_in_filter) con //------------------------------------------ SearchCtrl::SearchCtrl(wxWindow* parent) : - wxComboCtrl(parent, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(25 * wxGetApp().em_unit(), -1), wxTE_PROCESS_ENTER) + wxComboCtrl(parent, wxID_ANY, _L("Type here to search"), wxDefaultPosition, wxSize(25 * wxGetApp().em_unit(), -1), wxTE_PROCESS_ENTER) { default_string = _L("Type here to search"); @@ -263,6 +263,9 @@ void SearchCtrl::OnInputText(wxCommandEvent& ) void SearchCtrl::PopupList(wxCommandEvent& e) { update_list(wxGetApp().sidebar().get_search_list().filters); + if (e.GetEventType() == wxEVT_TEXT_ENTER) + this->Popup(); + e.Skip(); }