Ctrl+C and Ctrl+V for Copy and Paste refactored in the same way as Ctrl+A for Select All
This commit is contained in:
parent
554176b97f
commit
dfa924e8eb
4 changed files with 24 additions and 2 deletions
|
@ -2240,6 +2240,22 @@ void GLCanvas3D::on_char(wxKeyEvent& evt)
|
||||||
#endif /* __APPLE__ */
|
#endif /* __APPLE__ */
|
||||||
post_event(SimpleEvent(EVT_GLCANVAS_SELECT_ALL));
|
post_event(SimpleEvent(EVT_GLCANVAS_SELECT_ALL));
|
||||||
break;
|
break;
|
||||||
|
#ifdef __APPLE__
|
||||||
|
case 'c':
|
||||||
|
case 'C':
|
||||||
|
#else /* __APPLE__ */
|
||||||
|
case WXK_CONTROL_C:
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
post_event(SimpleEvent(EVT_GLTOOLBAR_COPY));
|
||||||
|
break;
|
||||||
|
#ifdef __APPLE__
|
||||||
|
case 'v':
|
||||||
|
case 'V':
|
||||||
|
#else /* __APPLE__ */
|
||||||
|
case WXK_CONTROL_V:
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
post_event(SimpleEvent(EVT_GLTOOLBAR_PASTE));
|
||||||
|
break;
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
case WXK_BACK: // the low cost Apple solutions are not equipped with a Delete key, use Backspace instead.
|
case WXK_BACK: // the low cost Apple solutions are not equipped with a Delete key, use Backspace instead.
|
||||||
#else /* __APPLE__ */
|
#else /* __APPLE__ */
|
||||||
|
|
|
@ -589,6 +589,10 @@ void ObjectList::key_event(wxKeyEvent& event)
|
||||||
}
|
}
|
||||||
else if (wxGetKeyState(wxKeyCode('A')) && wxGetKeyState(WXK_CONTROL/*WXK_SHIFT*/))
|
else if (wxGetKeyState(wxKeyCode('A')) && wxGetKeyState(WXK_CONTROL/*WXK_SHIFT*/))
|
||||||
select_item_all_children();
|
select_item_all_children();
|
||||||
|
else if (wxGetKeyState(wxKeyCode('C')) && wxGetKeyState(WXK_CONTROL))
|
||||||
|
wxPostEvent((wxEvtHandler*)wxGetApp().plater()->canvas3D()->get_wxglcanvas(), SimpleEvent(EVT_GLTOOLBAR_COPY));
|
||||||
|
else if (wxGetKeyState(wxKeyCode('V')) && wxGetKeyState(WXK_CONTROL))
|
||||||
|
wxPostEvent((wxEvtHandler*)wxGetApp().plater()->canvas3D()->get_wxglcanvas(), SimpleEvent(EVT_GLTOOLBAR_PASTE));
|
||||||
else
|
else
|
||||||
event.Skip();
|
event.Skip();
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,6 +131,8 @@ void KBShortcutsDialog::fill_shortcuts()
|
||||||
plater_shortcuts.push_back(Shortcut(ctrl+"A", L("Select All objects")));
|
plater_shortcuts.push_back(Shortcut(ctrl+"A", L("Select All objects")));
|
||||||
plater_shortcuts.push_back(Shortcut("Del", L("Delete selected")));
|
plater_shortcuts.push_back(Shortcut("Del", L("Delete selected")));
|
||||||
plater_shortcuts.push_back(Shortcut(ctrl+"Del", L("Delete All")));
|
plater_shortcuts.push_back(Shortcut(ctrl+"Del", L("Delete All")));
|
||||||
|
plater_shortcuts.push_back(Shortcut(ctrl+"C", L("Copy to clipboard")));
|
||||||
|
plater_shortcuts.push_back(Shortcut(ctrl+"V", L("Paste from clipboard")));
|
||||||
plater_shortcuts.push_back(Shortcut("M", L("Gizmo move")));
|
plater_shortcuts.push_back(Shortcut("M", L("Gizmo move")));
|
||||||
plater_shortcuts.push_back(Shortcut("S", L("Gizmo scale")));
|
plater_shortcuts.push_back(Shortcut("S", L("Gizmo scale")));
|
||||||
plater_shortcuts.push_back(Shortcut("R", L("Gizmo rotate")));
|
plater_shortcuts.push_back(Shortcut("R", L("Gizmo rotate")));
|
||||||
|
|
|
@ -381,9 +381,9 @@ void MainFrame::init_menubar()
|
||||||
|
|
||||||
editMenu->AppendSeparator();
|
editMenu->AppendSeparator();
|
||||||
|
|
||||||
wxMenuItem* item_copy = append_menu_item(editMenu, wxID_ANY, _(L("&Copy")) + "\tCtrl+C", _(L("Copy selection to clipboard")),
|
wxMenuItem* item_copy = append_menu_item(editMenu, wxID_ANY, _(L("&Copy")) + sep + GUI::shortkey_ctrl_prefix() + sep_space + "C", _(L("Copy selection to clipboard")),
|
||||||
[this](wxCommandEvent&) { m_plater->copy_selection_to_clipboard(); }, "copy_menu");
|
[this](wxCommandEvent&) { m_plater->copy_selection_to_clipboard(); }, "copy_menu");
|
||||||
wxMenuItem* item_paste = append_menu_item(editMenu, wxID_ANY, _(L("&Paste")) + "\tCtrl+V", _(L("Paste clipboard")),
|
wxMenuItem* item_paste = append_menu_item(editMenu, wxID_ANY, _(L("&Paste")) + sep + GUI::shortkey_ctrl_prefix() + sep_space + "V", _(L("Paste clipboard")),
|
||||||
[this](wxCommandEvent&) { m_plater->paste_from_clipboard(); }, "paste_menu");
|
[this](wxCommandEvent&) { m_plater->paste_from_clipboard(); }, "paste_menu");
|
||||||
|
|
||||||
Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_select()); }, item_select_all->GetId());
|
Bind(wxEVT_UPDATE_UI, [this](wxUpdateUIEvent& evt) { evt.Enable(can_select()); }, item_select_all->GetId());
|
||||||
|
|
Loading…
Add table
Reference in a new issue