summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-10-31 14:06:16 +0000
committerrubidium <rubidium@openttd.org>2009-10-31 14:06:16 +0000
commita5d005dd53822b7ec3294d87d8a5255212b9ecb0 (patch)
tree8e3b6ccc8bcd9ae8a2282122d24ce68b063e6115
parent70ebe13ee8ef20ff0e5ae6dd917a7c6fe680f09b (diff)
downloadopenttd-a5d005dd53822b7ec3294d87d8a5255212b9ecb0.tar.xz
(svn r17920) -Codechange: add a 'filter' for numbers+spaces and use it for the NewGRF parameter list
-rw-r--r--src/newgrf_gui.cpp2
-rw-r--r--src/string.cpp7
-rw-r--r--src/string_type.h1
3 files changed, 6 insertions, 4 deletions
diff --git a/src/newgrf_gui.cpp b/src/newgrf_gui.cpp
index 1084e978d..c9ac27f3c 100644
--- a/src/newgrf_gui.cpp
+++ b/src/newgrf_gui.cpp
@@ -819,7 +819,7 @@ struct NewGRFWindow : public Window {
static char buff[512];
GRFBuildParamList(buff, this->sel, lastof(buff));
SetDParamStr(0, buff);
- ShowQueryString(STR_JUST_RAW_STRING, STR_NEWGRF_SETTINGS_PARAMETER_QUERY, 63, 250, this, CS_ALPHANUMERAL, QSF_NONE);
+ ShowQueryString(STR_JUST_RAW_STRING, STR_NEWGRF_SETTINGS_PARAMETER_QUERY, 63, 250, this, CS_NUMERAL_SPACE, QSF_NONE);
break;
}
diff --git a/src/string.cpp b/src/string.cpp
index 6503f8fd1..d9e27857d 100644
--- a/src/string.cpp
+++ b/src/string.cpp
@@ -194,9 +194,10 @@ void strtolower(char *str)
bool IsValidChar(WChar key, CharSetFilter afilter)
{
switch (afilter) {
- case CS_ALPHANUMERAL: return IsPrintable(key);
- case CS_NUMERAL: return (key >= '0' && key <= '9');
- case CS_ALPHA: return IsPrintable(key) && !(key >= '0' && key <= '9');
+ case CS_ALPHANUMERAL: return IsPrintable(key);
+ case CS_NUMERAL: return (key >= '0' && key <= '9');
+ case CS_NUMERAL_SPACE: return (key >= '0' && key <= '9') || key == ' ';
+ case CS_ALPHA: return IsPrintable(key) && !(key >= '0' && key <= '9');
}
return false;
diff --git a/src/string_type.h b/src/string_type.h
index 66b685ea3..40c1e2dc7 100644
--- a/src/string_type.h
+++ b/src/string_type.h
@@ -18,6 +18,7 @@
enum CharSetFilter {
CS_ALPHANUMERAL, ///< Both numeric and alphabetic and spaces and stuff
CS_NUMERAL, ///< Only numeric ones
+ CS_NUMERAL_SPACE, ///< Only numbers and spaces
CS_ALPHA, ///< Only alphabetic values
};