diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -1061,6 +1061,11 @@ void QueryStringBaseWindow::DrawEditBox( this->QueryString::DrawEditBox(this, wid); } +void QueryStringBaseWindow::OnOpenOSKWindow(int wid) +{ + ShowOnScreenKeyboard(this, wid, 0, 0); +} + enum QueryStringWidgets { QUERY_STR_WIDGET_TEXT = 3, QUERY_STR_WIDGET_DEFAULT, @@ -1103,10 +1108,6 @@ struct QueryStringWindow : public QueryS virtual void OnClick(Point pt, int widget) { switch (widget) { - case QUERY_STR_WIDGET_TEXT: - 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 */ @@ -1140,6 +1141,11 @@ struct QueryStringWindow : public QueryS return state; } + virtual void OnOpenOSKWindow(int wid) + { + ShowOnScreenKeyboard(this, wid, QUERY_STR_WIDGET_CANCEL, QUERY_STR_WIDGET_OK); + } + ~QueryStringWindow() { if (!this->handled && this->parent != NULL) { @@ -1594,10 +1600,6 @@ struct SaveLoadWindow : public QueryStri break; } - case 10: // edit box - ShowOnScreenKeyboard(this, widget, 0, 0); - break; - case 11: case 12: // Delete, Save game break; }