diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-04-26 18:44:55 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-26 18:44:55 +0200 |
commit | fce210c6e86759db5522a2b4c8730325a1894cbd (patch) | |
tree | 608b71b3f1d568d7b536334c158f479d10731df3 | |
parent | 81defea5990018e9c821774605a92ed20510f0b2 (diff) | |
parent | 50495bcb082738404af3f831cc46fbb443c79b89 (diff) |
Merge pull request #58346 from aaronfranke/hint-no-range
Allow using other property hints without the range hint
-rw-r--r-- | editor/editor_properties.cpp | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index 677d22cb62..581a807e27 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -3361,10 +3361,8 @@ struct EditorPropertyRangeHint { static EditorPropertyRangeHint _parse_range_hint(PropertyHint p_hint, const String &p_hint_text, double p_default_step) { EditorPropertyRangeHint hint; hint.step = p_default_step; - bool degrees = false; - + Vector<String> slices = p_hint_text.split(","); if (p_hint == PROPERTY_HINT_RANGE) { - Vector<String> slices = p_hint_text.split(","); ERR_FAIL_COND_V_MSG(slices.size() < 2, hint, vformat("Invalid PROPERTY_HINT_RANGE with hint \"%s\": Missing required min and/or max values.", p_hint_text)); @@ -3381,11 +3379,7 @@ static EditorPropertyRangeHint _parse_range_hint(PropertyHint p_hint, const Stri hint.hide_slider = false; for (int i = 2; i < slices.size(); i++) { String slice = slices[i].strip_edges(); - if (slice == "radians") { - hint.radians = true; - } else if (slice == "degrees") { - degrees = true; - } else if (slice == "or_greater") { + if (slice == "or_greater") { hint.greater = true; } else if (slice == "or_lesser") { hint.lesser = true; @@ -3393,11 +3387,20 @@ static EditorPropertyRangeHint _parse_range_hint(PropertyHint p_hint, const Stri hint.hide_slider = true; } else if (slice == "exp") { hint.exp_range = true; - } else if (slice.begins_with("suffix:")) { - hint.suffix = " " + slice.replace_first("suffix:", "").strip_edges(); } } } + bool degrees = false; + for (int i = 0; i < slices.size(); i++) { + String slice = slices[i].strip_edges(); + if (slice == "radians") { + hint.radians = true; + } else if (slice == "degrees") { + degrees = true; + } else if (slice.begins_with("suffix:")) { + hint.suffix = " " + slice.replace_first("suffix:", "").strip_edges(); + } + } if ((hint.radians || degrees) && hint.suffix.is_empty()) { hint.suffix = U"\u00B0"; |