From 98686a708f5fce05be2bbf09e7ef37d65d11802f Mon Sep 17 00:00:00 2001 From: "yifan.wu" Date: Fri, 2 Dec 2022 22:14:44 +0800 Subject: [PATCH] FIX: cannot input hotkey chars in 3D Text tool Signed-off-by: yifan.wu Change-Id: Ie28fc3943ddcde1e2fa1f607fe9e8d0125399a74 --- src/slic3r/GUI/GLCanvas3D.cpp | 9 +++++++-- src/slic3r/GUI/Gizmos/GLGizmosManager.cpp | 8 ++++++++ src/slic3r/GUI/MainFrame.cpp | 4 +++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 3074fea77..14c2d6e39 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -2926,6 +2926,13 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) break; // BBS +#ifdef __APPLE__ + case 'E': + case 'e': +#else /* __APPLE__ */ + case WXK_CONTROL_E: +#endif /* __APPLE__ */ + { m_labels.show(!m_labels.is_shown()); m_dirty = true; break; } case '0': { select_view("plate"); zoom_to_bed(); @@ -3022,8 +3029,6 @@ void GLCanvas3D::on_char(wxKeyEvent& evt) case 'C': case 'c': { m_gcode_viewer.toggle_gcode_window_visibility(); m_dirty = true; request_extra_frame(); break; } #endif - case 'E': - case 'e': { m_labels.show(!m_labels.is_shown()); m_dirty = true; break; } //case 'G': //case 'g': { // if ((evt.GetModifiers() & shiftMask) != 0) { diff --git a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp index a0b8fb38f..d1b128ab4 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmosManager.cpp @@ -1029,6 +1029,14 @@ bool GLGizmosManager::on_char(wxKeyEvent& evt) //break; //} + // BBS: Skip all keys when in gizmo. This is necessary for 3D text tool. + default: + { + if (is_running() && m_current == EType::Text) { + processed = true; + } + break; + } } } diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 4a3ed1454..d55d07a42 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -2151,10 +2151,12 @@ void MainFrame::init_menubar_as_editor() append_menu_item(editMenu, wxID_ANY, _L("Paste") + "\tCtrl+V", _L("Paste clipboard"), [this](wxCommandEvent&) { m_plater->paste_from_clipboard(); }, "", nullptr, [this](){return m_plater->can_paste_from_clipboard(); }, this); +#if 0 // BBS Delete selected append_menu_item(editMenu, wxID_ANY, _L("Delete selected") + "\tBackSpace", _L("Deletes the current selection"),[this](wxCommandEvent&) { m_plater->remove_selected(); }, "", nullptr, [this](){return can_delete(); }, this); +#endif //BBS: delete all append_menu_item(editMenu, wxID_ANY, _L("Delete all") + "\tCtrl+D", _L("Deletes all objects"),[this](wxCommandEvent&) { m_plater->delete_all_objects_from_model(); }, @@ -2229,7 +2231,7 @@ void MainFrame::init_menubar_as_editor() viewMenu->Check(wxID_CAMERA_ORTHOGONAL + camera_id_base, true); viewMenu->AppendSeparator(); - append_menu_check_item(viewMenu, wxID_ANY, _L("Show &Labels") + "\tE", _L("Show object labels in 3D scene"), + append_menu_check_item(viewMenu, wxID_ANY, _L("Show &Labels") + "\tCtrl+E", _L("Show object labels in 3D scene"), [this](wxCommandEvent&) { m_plater->show_view3D_labels(!m_plater->are_view3D_labels_shown()); m_plater->get_current_canvas3D()->post_event(SimpleEvent(wxEVT_PAINT)); }, this, [this]() { return m_plater->is_view3D_shown(); }, [this]() { return m_plater->are_view3D_labels_shown(); }, this);