summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
authorAaron Franke <arnfranke@yahoo.com>2022-02-20 02:04:58 -0600
committerAaron Franke <arnfranke@yahoo.com>2022-04-26 07:54:25 -0500
commit50495bcb082738404af3f831cc46fbb443c79b89 (patch)
treef13691b2abce5e93120578cb298d9015e793ef57 /editor
parent5c54770b7cd0be8ed6e9229fd253ae0d98f8b275 (diff)
Allow using other property hints without the range hint
Diffstat (limited to 'editor')
-rw-r--r--editor/editor_properties.cpp23
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";