summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-02-09 18:08:55 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-02-09 18:08:55 +0100
commitd584ce0122263edb0cba14abc8ead248ff67cd91 (patch)
tree262aa2e597bf78cb68502c43f47614d36b0b49e4
parent94dbf69f5d6b7d2fd9561692df2e71557607fddc (diff)
parentfac939b7c33f333d0d36b830c2054886f0e0b0c5 (diff)
downloadredot-engine-d584ce0122263edb0cba14abc8ead248ff67cd91.tar.gz
Merge pull request #80544 from MewPurPur/buff-editorspinslider-2
Fix read-only EditorSpinSlider display
-rw-r--r--editor/gui/editor_spin_slider.cpp10
1 files changed, 3 insertions, 7 deletions
diff --git a/editor/gui/editor_spin_slider.cpp b/editor/gui/editor_spin_slider.cpp
index 8401f08391..dd1440fe0b 100644
--- a/editor/gui/editor_spin_slider.cpp
+++ b/editor/gui/editor_spin_slider.cpp
@@ -37,7 +37,7 @@
#include "editor/themes/editor_scale.h"
String EditorSpinSlider::get_tooltip(const Point2 &p_pos) const {
- if (grabber->is_visible()) {
+ if (!read_only && grabber->is_visible()) {
Key key = (OS::get_singleton()->has_feature("macos") || OS::get_singleton()->has_feature("web_macos") || OS::get_singleton()->has_feature("web_ios")) ? Key::META : Key::CTRL;
return TS->format_number(rtos(get_value())) + "\n\n" + vformat(TTR("Hold %s to round to integers.\nHold Shift for more precise changes."), find_keycode_name(key));
}
@@ -390,13 +390,9 @@ void EditorSpinSlider::_draw_spin_slider() {
grabbing_spinner_mouse_pos = get_global_position() + grabber_rect.get_center();
- bool display_grabber = (grabbing_grabber || mouse_over_spin || mouse_over_grabber) && !grabbing_spinner && !(value_input_popup && value_input_popup->is_visible());
+ bool display_grabber = !read_only && (grabbing_grabber || mouse_over_spin || mouse_over_grabber) && !grabbing_spinner && !(value_input_popup && value_input_popup->is_visible());
if (grabber->is_visible() != display_grabber) {
- if (display_grabber) {
- grabber->show();
- } else {
- grabber->hide();
- }
+ grabber->set_visible(display_grabber);
}
if (display_grabber) {