From a4dee079666bf4f93e633464ff3f109f7f5b5974 Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Mon, 2 Aug 2021 18:48:16 +0800 Subject: [PATCH] Use Command+Drag in EditSpinSlider on macOS --- editor/editor_spin_slider.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/editor/editor_spin_slider.cpp b/editor/editor_spin_slider.cpp index 778d36556f4..874cf5541b2 100644 --- a/editor/editor_spin_slider.cpp +++ b/editor/editor_spin_slider.cpp @@ -31,12 +31,18 @@ #include "editor_spin_slider.h" #include "core/math/expression.h" #include "core/os/input.h" +#include "core/os/keyboard.h" #include "editor_node.h" #include "editor_scale.h" String EditorSpinSlider::get_tooltip(const Point2 &p_pos) const { if (grabber->is_visible()) { - return rtos(get_value()) + "\n\n" + TTR("Hold Ctrl to round to integers. Hold Shift for more precise changes."); +#ifdef OSX_ENABLED + const int key = KEY_META; +#else + const int key = KEY_CONTROL; +#endif + return rtos(get_value()) + "\n\n" + vformat(TTR("Hold %s to round to integers. Hold Shift for more precise changes."), find_keycode_name(key)); } return rtos(get_value()); } @@ -113,7 +119,7 @@ void EditorSpinSlider::_gui_input(const Ref &p_event) { pre_grab_value = get_max(); } - if (mm->get_control()) { + if (mm->get_command()) { // If control was just pressed, don't make the value do a huge jump in magnitude. if (grabbing_spinner_dist_cache != 0) { pre_grab_value += grabbing_spinner_dist_cache * get_step();