summaryrefslogtreecommitdiff
path: root/src/misc_gui.cpp
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2008-09-15 19:02:50 +0000
committersmatz <smatz@openttd.org>2008-09-15 19:02:50 +0000
commite543181b120a4d0e80994166559b1ce7d7d45ce7 (patch)
tree9ea3e279046e9a622321db881df0c37605fde380 /src/misc_gui.cpp
parent17e208dc16a0be8ca929b75f45edb345cb70aad9 (diff)
downloadopenttd-e543181b120a4d0e80994166559b1ce7d7d45ce7.tar.xz
(svn r14334) -Feature: ability to reset name to default/automatic value (for vehicles, engines, towns, groups, stations, waypoints, managers and companies)
Diffstat (limited to 'src/misc_gui.cpp')
-rw-r--r--src/misc_gui.cpp20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp
index 2bafb7aac..75d774909 100644
--- a/src/misc_gui.cpp
+++ b/src/misc_gui.cpp
@@ -1049,6 +1049,7 @@ void QueryStringBaseWindow::DrawEditBox(int wid)
enum QueryStringWidgets {
QUERY_STR_WIDGET_TEXT = 3,
+ QUERY_STR_WIDGET_DEFAULT,
QUERY_STR_WIDGET_CANCEL,
QUERY_STR_WIDGET_OK
};
@@ -1093,6 +1094,9 @@ struct QueryStringWindow : public QueryStringBaseWindow
ShowOnScreenKeyboard(this, QUERY_STR_WIDGET_TEXT, QUERY_STR_WIDGET_CANCEL, QUERY_STR_WIDGET_OK);
break;
+ case QUERY_STR_WIDGET_DEFAULT:
+ this->text.buf[0] = '\0';
+ /* Fallthrough */
case QUERY_STR_WIDGET_OK:
this->OnOk();
/* Fallthrough */
@@ -1138,9 +1142,10 @@ static const Widget _query_string_widgets[] = {
{ WWT_CLOSEBOX, RESIZE_NONE, COLOUR_GREY, 0, 10, 0, 13, STR_00C5, STR_018B_CLOSE_WINDOW},
{ WWT_CAPTION, RESIZE_NONE, COLOUR_GREY, 11, 259, 0, 13, STR_012D, STR_NULL},
{ WWT_PANEL, RESIZE_NONE, COLOUR_GREY, 0, 259, 14, 29, 0x0, STR_NULL},
-{ WWT_EDITBOX, RESIZE_NONE, COLOUR_GREY, 2, 257, 16, 27, 0x0, STR_NULL},
-{ WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 0, 129, 30, 41, STR_012E_CANCEL, STR_NULL},
-{ WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 130, 259, 30, 41, STR_012F_OK, STR_NULL},
+{ WWT_EDITBOX, RESIZE_NONE, COLOUR_GREY, 2, 257, 16, 27, 0x0, STR_NULL}, // QUERY_STR_WIDGET_TEXT
+{ WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 0, 86, 30, 41, STR_DEFAULT, STR_NULL}, // QUERY_STR_WIDGET_DEFAULT
+{ WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 87, 172, 30, 41, STR_012E_CANCEL, STR_NULL}, // QUERY_STR_WIDGET_CANCEL
+{ WWT_TEXTBTN, RESIZE_NONE, COLOUR_GREY, 173, 259, 30, 41, STR_012F_OK, STR_NULL}, // QUERY_STR_WIDGET_OK
{ WIDGETS_END},
};
@@ -1173,6 +1178,15 @@ void ShowQueryString(StringID str, StringID caption, uint maxlen, uint maxwidth,
if ((flags & QSF_ACCEPT_UNCHANGED) == 0) w->orig = strdup(w->edit_str_buf);
+ if ((flags & QSF_ENABLE_DEFAULT) == 0) {
+ /* without the "Default" button, make "Cancel" and "OK" buttons wider */
+ w->SetWidgetHiddenState(QUERY_STR_WIDGET_DEFAULT, true);
+ w->widget[QUERY_STR_WIDGET_CANCEL].left = 0;
+ w->widget[QUERY_STR_WIDGET_CANCEL].right = w->width / 2 - 1;
+ w->widget[QUERY_STR_WIDGET_OK].left = w->width / 2;
+ w->widget[QUERY_STR_WIDGET_OK].right = w->width - 1;
+ }
+
w->LowerWidget(QUERY_STR_WIDGET_TEXT);
w->caption = caption;
w->afilter = afilter;